jsp+servlet hospital appointment registration system based on javaweb+mysql (java+jdbc+jsp+mysql+ajax)

jsp + servlet hospital appointment registration system based on javaweb + mysql (java + jdbc + jsp + mysql + ajax)

Private message Source code acquisition and debugging communication

Operating environment

Java≥8, MySQL≥5.7, Tomcat≥8

development tools

eclipse/idea/myeclipse/sts, etc. can be configured to run

Be applicable

Course design, major assignments, graduation projects, project exercises, learning demonstrations, etc.

Function Description

JSP + Servlet hospital appointment registration system based on javaweb + mysql (java + jdbc + jsp + mysql + ajax)

1. Brief description of the project

Function: Users are divided into patients, doctors, and administrators. Patients can register and select doctors to register, select dates, and choose call sources. Doctors can receive consultations. Administrators can maintain user and doctor information and other functions.

2. Project operation

Environment configuration: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA, Eclispe, MyEclispe, Sts are all supported)

Project technology: Jdbc + Servlert + Jsp + css + JavaScript + JQuery + Ajax + Fileupload, etc.

 int start=Util.nullToZero(request.getParameter("start"));
        Pages p = new Pages(start, officeDao.getOfficeCount("officename", office),10);
        String limit="limit " + ((p.getCurrentPage()-1)*10) + ",10";
        offices = officeDao.query("officename", office,limit);
        request.setAttribute("offices",offices);
        request.setAttribute("office",office);
        request.setAttribute("pages",p);
        request.getRequestDispatcher("office.jsp").forward(request,response);
    }
}

@WebServlet(urlPatterns = "/count")
public class Count extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        String action = Util.nullToString(request.getParameter("action"));
        JSONArray array=new JSONArray();
        ResultSet rs;
        String sql;
        response.setContentType("application/json; charset=utf-8");
        request.setCharacterEncoding("UTF-8");
        try {<!-- -->
            switch (action){<!-- -->
                case "1":
                    rs = DBUtil.executeQuery("select count(*) from office", null);
                    rs.next();
                    array.add(rs.getInt(1));
@WebServlet(urlPatterns= "/queryNumSource")
public class QueryNumSource extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        request.setCharacterEncoding("UTF-8");
//Get the value of the front end
        String wid = request.getParameter("wid");
        String ampm =request.getParameter("ampm");
        String date = request.getParameter("date");
        if(wid!=null){<!-- -->
            String where="where wid=?";
            WorkDayDao workDayDao=new WorkDayDao();
            //Query the database to get the value
            List<WorkDay> workDays = workDayDao.query(where, new Object[]{<!-- -->wid});
            WorkDay workDay = workDays.get(0);
//Get the number of working days
            int nsnum = Integer.valueOf(workDay.getNsnum());
            //calculate
            int size=240/nsnum;
            Calendar calendar=Calendar.getInstance();
            calendar.set(Calendar.MINUTE,30);
            /*8.30-12.30 am 4*60=240
            1.30-5.30pm 4*/
            if("AM".equals(ampm)){<!-- -->
                calendar.set(Calendar.HOUR_OF_DAY,8);
            }else {<!-- -->
                calendar.set(Calendar.HOUR_OF_DAY,13);
            }
// if(Integer.valueOf(workDay.getWorktime()) + 1==calendar.get(Calendar.DAY_OF_WEEK)){<!-- -->
// System.out.println("Today");
// if(calendar.get(Calendar.HOUR_OF_DAY)<){<!-- -->
//
// }
// }
 rs.next();
                    array.add(rs.getInt(1));

                    rs=DBUtil.executeQuery("select count(*) from patient", null);
                    rs.next();
                    array.add(rs.getInt(1));

                    break;
                case "2":
                    sql="select doctor.office,count(doctor.did) as did from record,doctor where record.did=doctor.did group by doctor.office ";
                    rs=DBUtil.executeQuery(sql,null);
                    JSONArray data = new JSONArray();
                    JSONArray data1 = new JSONArray();
                    while (rs.next()){<!-- -->
                        data.add(rs.getString(1));
                        data1.add(rs.getString(2));
                    }
                    JSONObject object=new JSONObject();
                    object.put("data",data);
                    object.put("data1",data1);
                   response.getWriter().write(object.toString());
                    return;
                case "3":
                    sql="select workday.worktime,count(record.did) from record,workday where workday.wid=record.wid group by workday.worktime order by workday.worktime";
                    rs=DBUtil.executeQuery(sql,null);
                    while (rs.next()){<!-- -->
                        array.add(rs.getInt(2));
                    }
                    break;
            }
        } catch (SQLException e) {<!-- -->
            e.printStackTrace();
        }
        response.getWriter().write(array.toString());
    }
}

 return;
                    }
                }
                //User password is wrong
                request.getSession().setAttribute("message","Wrong username or password!!");
                request.getRequestDispatcher("doctor/login.jsp").forward(request,response);
                break;
            case "patient":
                PatientDao patientDao=new PatientDao();
                List<Patient> patients = patientDao.query("account",account);
                if(patients.size()>0){<!-- -->
                    Patient patient = patients.get(0);
                    //Determine whether the passwords are the same
                    if(patient.getPassword().equals(password)){<!-- -->
                        request.getSession().setAttribute("patient",patient);
                        String url= (String) request.getSession().getAttribute("url");
                        if(url==null)
                            url="index.jsp";
                        request.getSession().setAttribute("message","Login successful!!");
                        response.sendRedirect(url);
                        return;
                    }
                }
                request.getSession().setAttribute("message","Wrong username or password!!");
                response.sendRedirect("login.jsp");
                break;
        }

    }
}

@WebServlet(urlPatterns="/OfficeSearch")
public class OfficeSearch extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        request.setCharacterEncoding("UTF-8");
        String office= Util.nullToString(request.getParameter("office"));
        int start=Util.nullToZero(request.getParameter("start"));
        OfficeDao officeDao=new OfficeDao();

        Pages p = new Pages(start, officeDao.getOfficeCount("officename", office),10);
        String limit="limit " + ((p.getCurrentPage()-1)*10) + ",10";
        List<Office> offices = officeDao.query("officename", office,limit);
        request.setAttribute("offices",offices);
        request.setAttribute("office",office);
        request.setAttribute("pages",p);
        request.getRequestDispatcher("orderOffice.jsp").forward(request,response);
    }
}

 }
                    }else {<!-- -->
                        message="This account already exists!";
                    }
                }else {<!-- -->
                    message="Please enter your account number!";
                }
            }else {<!-- -->
                message="The password is incorrect twice!";
            }

        request.setAttribute("message",message);
        request.getRequestDispatcher("register.jsp").forward(request,response);
    }
}

@WebServlet(urlPatterns = "/DoctorSearch")
public class DoctorSearch extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        request.setCharacterEncoding("UTF-8");
        //Get data from the front end
        String office = Util.nullToString(request.getParameter("office"));
        String name = Util.nullToString(request.getParameter("doctor"));
        int start = Util.nullToZero(request.getParameter("start"));
 }
        request.getRequestDispatcher("/doctor/myInfo.jsp").forward(request,response);
    }

}

@WebServlet(urlPatterns = "/office")
public class OfficeManager extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        String action = Util.nullToString(request.getParameter("action"));
        String message="";
        OfficeDao officeDao=new OfficeDao();
        List<com.qst.bean.Office> offices;
        switch (action){<!-- -->
            case "add":
                String officename = request.getParameter("officename");
                String description = request.getParameter("description");
                offices= officeDao.query("officename", officename,"");
                if(offices.size()==0){<!-- -->
                    com.qst.bean.Office office = new com.qst.bean.Office(officename, description, 0);
                    if(officeDao.insert(office)){<!-- -->
                        message=officename + "Added successfully!";
                    }else {<!-- -->
                        message=officename + "Add failed!";
                    }
                }else {<!-- -->
                    message=officename + "Already exists!";
@WebServlet(urlPatterns = "/count")
public class Count extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        String action = Util.nullToString(request.getParameter("action"));
        JSONArray array=new JSONArray();
        ResultSet rs;
        String sql;
        response.setContentType("application/json; charset=utf-8");
        request.setCharacterEncoding("UTF-8");
        try {<!-- -->
            switch (action){<!-- -->
                case "1":
                    rs = DBUtil.executeQuery("select count(*) from office", null);
                    rs.next();
                    array.add(rs.getInt(1));
// rs= DBUtil.executeQuery("select count(*) from room", null);
// rs.next();
// array.add(rs.getInt(1));
                    rs=DBUtil.executeQuery("select count(*) from doctor", null);
                    rs.next();
                    array.add(rs.getInt(1));

                    rs=DBUtil.executeQuery("select count(*) from patient", null);
@WebServlet(urlPatterns = "/ShowWorkday")
public class ShowWorkday extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->
        request.setCharacterEncoding("UTF-8");

            String doctorid = request.getParameter("did");
            if (doctorid==null){<!-- -->
                request.getRequestDispatcher("index.jsp").forward(request,response);
            }else {<!-- -->
                DoctorDao doctorDao = new DoctorDao();
                List<Doctor> doctors = doctorDao.query("where did=? ", new Object[]{<!-- -->doctorid});
                if(doctors.size()>0){<!-- -->
                    WorkDayDao workDayDao=new WorkDayDao();
                    String where =" where did=?";
                    List<WorkDay> workDays= workDayDao.query(where,new Object[]{<!-- -->doctorid});
                    request.setAttribute("workDays",workDays);
                    request.setAttribute("doctor",doctors.get(0));
                    request.getRequestDispatcher("doctorInfo.jsp").forward(request,response);
                }else {<!-- -->
                    response.getWriter().write("There is no such doctor");
                }
            }
        }
}

 }
    }

}

@WebServlet(urlPatterns = "/doctorManage")
public class DoctorManage extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        String office = Util.nullToString(request.getParameter("office"));
        String name = Util.nullToString(request.getParameter("doctor"));
        String action = Util.nullToString(request.getParameter("action"));
        if("add".equals(action)){<!-- -->
            String message="Failed to add doctor!";
            DoctorDao doctorDao = new DoctorDao();
            System.out.println(request.getParameter("account"));
            List<Doctor> doctors = doctorDao.query("where account=? ",new Object[]{<!-- -->Util.nullToString(request.getParameter("account"))});
            if(doctors.size()==0){<!-- -->
                Doctor doctor=new Doctor();
                doctor.setAccount(request.getParameter("account"));
                doctor.setPassword(request.getParameter("password"));
@WebServlet(urlPatterns = "/ShowWorkday")
public class ShowWorkday extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->
        request.setCharacterEncoding("UTF-8");

            String doctorid = request.getParameter("did");
            if (doctorid==null){<!-- -->
                request.getRequestDispatcher("index.jsp").forward(request,response);
            }else {<!-- -->
                DoctorDao doctorDao = new DoctorDao();
                List<Doctor> doctors = doctorDao.query("where did=? ", new Object[]{<!-- -->doctorid});
                if(doctors.size()>0){<!-- -->
                    WorkDayDao workDayDao=new WorkDayDao();
                    String where =" where did=?";
                    List<WorkDay> workDays= workDayDao.query(where,new Object[]{<!-- -->doctorid});
                    request.setAttribute("workDays",workDays);
                    request.setAttribute("doctor",doctors.get(0));
                    request.getRequestDispatcher("doctorInfo.jsp").forward(request,response);
                }else {<!-- -->
                    response.getWriter().write("There is no such doctor");
                }
            }
        }
}

@WebServlet(urlPatterns = "/RegUserinfoAction")
public class RegUserinfoAction extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

 String where3="set nsnum=? where wid=?";
                        String where4="set nsnum=? and state=? where wid=?";
                        int num=workDay.get(0).getNsnum()-1;
                        if(num!=0)
                        {<!-- -->
                            workDayDao.update(where3,new Object[]{<!-- -->num,wid});
                        }
                        else
                        {<!-- -->
                            workDayDao.update(where4,new Object[]{<!-- -->num,"Discontinued",wid});
                        }
                        request.getSession().setAttribute("message", "Reservation successful!");
                        request.getRequestDispatcher("orderList").forward(request, response);
                    } else {<!-- -->
                        req.getSession().setAttribute("message", "Reservation failed!");
                        req.getRequestDispatcher("ShowWorkday?did=" + did).forward(req, resp);
                    }
                } else {<!-- -->
                    req.getSession().setAttribute("message", "The number source has been reserved!");
                    req.getRequestDispatcher("ShowWorkday?did=" + did).forward(req, resp);
                }
                break;
        }

    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

    }
}

 System.out.println("action" + action);
        if("alter".equals(action)){<!-- -->
            String name = request.getParameter("name");
            String age = request.getParameter("age");
            String description = request.getParameter("description");
            doctor.setDname(name);
            doctor.setAge(age);
            doctor.setDescription(description);
// Part part;
// part = request.getPart("pic");
// if(part.getSize()>0 & amp; & amp;part.getSize()<1024*1024){<!-- -->
// System.out.println(part.getSubmittedFileName());
// String fileName = part.getSubmittedFileName();
// String jpg=fileName.substring(fileName.lastIndexOf("."));
// System.out.println(jpg);
// InputStream is=part.getInputStream();
// String realPath = this.getServletContext().getRealPath("images/docpic");
// System.out.println(realPath);
// FileOutputStream fos = new FileOutputStream(realPath + "/" + doctor.getDid() + jpg);
// byte[] bytes=new byte[1024];
// int i=0;
// while ((i=is.read(bytes))!=-1){<!-- -->
// fos.write(bytes,0,i);
// }
// fos.close();
// is.close();
// doctor.setPicpath("/mavenHospital/images/docpic/" + doctor.getDid() + jpg);
// System.out.println(doctor.getPicpath());
// }
            Object[] o=new Object[]{<!-- -->
                    doctor.getDname(),
                    doctor.getAge(),
                    doctor.getDescription(),
                    doctor.getDid()};
            String set="set dname=?,age=?,description=? where did=?";
            doctorDao.update(set,o);
        }
        request.getRequestDispatcher("/doctor/myInfo.jsp").forward(request,response);
    }

}

        Patient patient= (Patient) request.getSession().getAttribute("patient");
// RecodeDao recodeDao = new RecodeDao();
// DoctorDao doctorDao=new DoctorDao();
// String where="where pid=? order by ordertime desc";
// String where1="where pid=? order by ordertime desc";
// List<Recode> Recodelist = recodeDao.query(where, new Object[]{patient.getId()});
// List<Doctor> DoctorList= doctorDao.query(where,)
// // List<HashMap<String, String>> list = recodeDao.orderList(patient.getId());
// request.setAttribute("list",list);

        RecodeDao recodeDao=new RecodeDao();
        List<HashMap<String, String>> list = null;
        try {<!-- -->
            list = recodeDao.orderList1(patient.getId());
        } catch (SQLException e) {<!-- -->
            e.printStackTrace();
        }
        request.setAttribute("list",list);
        request.getRequestDispatcher("orderList.jsp").forward(request,response);

    }
}

@WebFilter("/*")
public class MyFilter implements Filter {<!-- -->
    private ArrayList<String> patient;
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {<!-- -->
        patient=new ArrayList<>();
        patient.add("/order");
        patient.add("/orderList");
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {<!-- -->
        HttpServletRequest req = (HttpServletRequest) servletRequest;
@WebServlet(urlPatterns = "/register")
public class Register extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        request.setCharacterEncoding("UTF-8");
        String message="";
        //Get the password
            String password = request.getParameter("password");
            String passwordCof = request.getParameter("passwordCof");
            //Determine whether the two passwords are equal
            if(password!=null & amp; & amp;password.equals(passwordCof)){<!-- -->
                //Get account
                String account=request.getParameter("account");
                //Determine whether the account is empty
                if(account!=null){<!-- -->
                    PatientDao patientDao=new PatientDao();
                    //Find the same account record from the database
                    List<Patient> patients = patientDao.query("account", account);
                    //Determine whether there are the same account
                    if(patients.size()==0){<!-- -->
                        //Get name, email
                        String name = request.getParameter("name");
                        String email = request.getParameter("email");
                        //Save new records
                        Patient patient=new Patient(null,account,email,password,name,"100");
                        if(patientDao.insert(patient)){<!-- -->
                            message="Registration successful, please log in!";
                            request.getSession().setAttribute("message",message);
                         // request.getSession().removeAttribute("checkCode");
                            response.sendRedirect("login.jsp");
                            return;
                        }else {<!-- -->
                            message="Registration failed, please try again later!";
                        }
                    }else {<!-- -->
                        message="This account already exists!";
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->
       PatientDao patientDao=new PatientDao();
// public Integer Count(String clounm,String where)
// {<!-- -->
// String sql="select count(*) from patient where " + clounm + " like ? ";
// return DBUtil.getCount(sql,new Object[]{"%" + where + "%"});
// }
        String account=request.getParameter("account");
        //Determine whether the database has the same email
        Integer count=new PatientDao().Count1(account);
        if (account != "") {<!-- -->
            if (count > 0) {<!-- -->
                PrintWriter writer = response.getWriter();
                writer.write("true");
                writer.flush();
                writer.close();
            } else {<!-- -->
                PrintWriter writer = response.getWriter();
                writer.write("false");
                writer.flush();
                writer.close();
            }
        }

    }
}

@WebServlet(urlPatterns="/OfficeSearch")
public class OfficeSearch extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

 String office = Util.nullToString(request.getParameter("office"));
        String name = Util.nullToString(request.getParameter("doctor"));
        int start = Util.nullToZero(request.getParameter("start"));
        DoctorDao doctorDao=new DoctorDao();
        //Database query statement
        String where="where office like ? and dname like ? ";
        //Get the number of results
        int total=doctorDao.getDoctorCount(where,new Object[]{<!-- -->Util.toLike(office),Util.toLike(name)});
        //Number of pages
        Pages pages = new Pages(start, total, 6);
        where + =" limit " + ((pages.getCurrentPage()-1)*6) + ",6";
        //Display results based on page number
        List<Doctor> doctors = doctorDao.query(where, new Object[]{<!-- -->Util.toLike(office),Util.toLike(name)});
        //Set values for the front-end page
        request.setAttribute("doctors",doctors);
        request.setAttribute("pages",pages);
        request.setAttribute("doctor",name);
        OfficeDao officeDao=new OfficeDao();
        //Get the department
        List<Office> offices = officeDao.query("officename", office, "");
        request.setAttribute("office",offices.get(0));
        String order = request.getParameter("order");
// if("doctor".equals(order)){<!-- -->
// request.getRequestDispatcher("/orderDoctor.jsp").forward(request,response);
// }else
        //Redirect
            request.getRequestDispatcher("/officeInfo.jsp").forward(request,response);
    }
}

@WebServlet(urlPatterns= "/patientList")
public class PatientList extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
 request.setCharacterEncoding("UTF-8");

            String doctorid = request.getParameter("did");
            if (doctorid==null){<!-- -->
                request.getRequestDispatcher("index.jsp").forward(request,response);
            }else {<!-- -->
                DoctorDao doctorDao = new DoctorDao();
                List<Doctor> doctors = doctorDao.query("where did=? ", new Object[]{<!-- -->doctorid});
                if(doctors.size()>0){<!-- -->
                    WorkDayDao workDayDao=new WorkDayDao();
                    String where =" where did=?";
                    List<WorkDay> workDays= workDayDao.query(where,new Object[]{<!-- -->doctorid});
                    request.setAttribute("workDays",workDays);
                    request.setAttribute("doctor",doctors.get(0));
                    request.getRequestDispatcher("doctorInfo.jsp").forward(request,response);
                }else {<!-- -->
                    response.getWriter().write("There is no such doctor");
                }
            }
        }
}

@WebServlet(urlPatterns = "/RegUserinfoAction")
public class RegUserinfoAction extends HttpServlet {<!-- -->
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->

        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<!-- -->
       PatientDao patientDao=new PatientDao();
// public Integer Count(String clounm,String where)
// {<!-- -->
// String sql="select count(*) from patient where " + clounm + " like ? ";
// return DBUtil.getCount(sql,new Object[]{"%" + where + "%"});

Please add image description
Please add image description
Please add image description
Please add image description
Please add image description