基于javaweb+mysql的jsp+servlet医院预约挂号系统(java+jdbc+jsp+mysql+ajax)

基于javaweb+mysql的jsp+servlet医院预约挂号系统(java+jdbc+jsp+mysql+ajax)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的JSP+Servlet医院预约挂号系统(java+jdbc+jsp+mysql+ajax)

一、项目简述

功能: 用户分为患者,医生,管理员,患者可进行注册选择医生 挂号,选择日期,选择号源,医生可进行接诊,管理员可 对用户,医生信息的维护等等功能。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: Jdbc+ Servlert + Jsp + css + JavaScript + JQuery + Ajax + Fileupload等等。

                    }else {
                        message="该账号已存在!";
                    }
                }else {
                    message="请输入账号!";
                }
            }else {
                message="两次密码不正确!";
            }

        request.setAttribute("message",message);
        request.getRequestDispatcher("register.jsp").forward(request,response);
    }
}
package com.qst.servlet.patient;

@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");
//            request.getRequestDispatcher("/orderDoctor.jsp").forward(request,response);
//        }else
        //重定向
            request.getRequestDispatcher("/officeInfo.jsp").forward(request,response);
    }
}
package com.qst.servlet.doctor;

@WebServlet(urlPatterns= "/patientList")
public class PatientList 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"));
        Doctor doctor = (Doctor) request.getSession().getAttribute("doctor");
        String rid = Util.nullToString(request.getParameter("rid"));
        String pid = Util.nullToString(request.getParameter("pid"));
        RecodeDao recodeDao = new RecodeDao();
//        IntegrityDao integrityDao = new IntegrityDao();
//        Integrity integrity;
        String set;
        switch (action){
            case "finish":
                set = "set state ='完成' where rid=?";
            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"));
                doctor.setDname(request.getParameter("name"));
                doctor.setFee(request.getParameter("fee"));
                doctor.setGender(request.getParameter("gender"));
                doctor.setAge(request.getParameter("age"));
                doctor.setOffice(request.getParameter("office1"));
             //  doctor.setRoom(req.getParameter("room"));
                doctor.setCareer(request.getParameter("career"));
                doctor.setDescription(request.getParameter("description"));
                doctor.setPicpath(request.getContextPath()+"/images/docpic/default.jpg");
                if(doctorDao.insert(doctor)){
                    //添加医生
                    message="添加"+request.getParameter("name")+"医生成功!";
                    //科室中的医生数量加1
                    String where="set doctornum=? where officename=?";
                    OfficeDao officeDao=new OfficeDao();
                    String where1="where officename=?";
                    Office office1 =officeDao.get(where1,new Object[]{doctor.getOffice()});
             //       Office office1 = (Office) officeDao.query("officename", "","");
                    int num=office1.getDoctornum()+1;
                    officeDao.update(where,new Object[]{num,office1.getOfficename()});
                }
            }else {
                message=request.getParameter("account")+"账号已存在!";
            }
            request.setAttribute("message",message);
        }
        int start = Util.nullToZero(request.getParameter("start"));
        DoctorDao doctorDao=new DoctorDao();
        String where="where office like ? and dname like ? ";
        int total=doctorDao.getDoctorCount(where,new Object[]{Util.toLike(office),Util.toLike(name)});
        Pages pages = new Pages(start , total, 6);
        where+="limit "+((pages.getCurrentPage()-1)*6)+",6";
        List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
        request.setAttribute("doctors",doctors);
        request.setAttribute("pages",pages);
        request.setAttribute("doctor",name);
        //OfficeDao officeDao=new OfficeDao();
        //List<Office> offices = officeDao.query("officename", office, "");
        request.setAttribute("office",office);
        request.getRequestDispatcher("/admin/doctorManage.jsp").forward(request,response);
    }
}
package com.qst.servlet;

//                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);
    }

}
package com.qst.servlet.admin;

@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();
                        request.getSession().setAttribute("doctor",doctor);
                        response.sendRedirect("doctor/index.jsp");
                        return;
                    }
                }
                //用户密码错误
                request.getSession().setAttribute("message","用户名或密码错误!!");
                request.getRequestDispatcher("doctor/login.jsp").forward(request,response);
                break;
            case "患者":
                PatientDao patientDao=new PatientDao();
                List<Patient> patients = patientDao.query("account",account);
                if(patients.size()>0){
                    Patient patient = patients.get(0);
                    //判断密码是否相同
                    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","登录成功!!");
                        response.sendRedirect(url);
                        return;
                    }
                }
                request.getSession().setAttribute("message","用户名或密码错误!!");
                response.sendRedirect("login.jsp");
                break;
        }

    }
}

package com.qst.servlet;

            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"));
                doctor.setDname(request.getParameter("name"));
                doctor.setFee(request.getParameter("fee"));
                doctor.setGender(request.getParameter("gender"));
                doctor.setAge(request.getParameter("age"));
                doctor.setOffice(request.getParameter("office1"));
             //  doctor.setRoom(req.getParameter("room"));
                doctor.setCareer(request.getParameter("career"));
                doctor.setDescription(request.getParameter("description"));
                doctor.setPicpath(request.getContextPath()+"/images/docpic/default.jpg");
                if(doctorDao.insert(doctor)){
                    //添加医生
                    message="添加"+request.getParameter("name")+"医生成功!";
                    //科室中的医生数量加1
                    String where="set doctornum=? where officename=?";
                    OfficeDao officeDao=new OfficeDao();
                    String where1="where officename=?";
                    Office office1 =officeDao.get(where1,new Object[]{doctor.getOffice()});
             //       Office office1 = (Office) officeDao.query("officename", "","");
                    int num=office1.getDoctornum()+1;
                    officeDao.update(where,new Object[]{num,office1.getOfficename()});
                }
            }else {
                message=request.getParameter("account")+"账号已存在!";
            }
            request.setAttribute("message",message);
        }
        int start = Util.nullToZero(request.getParameter("start"));
        DoctorDao doctorDao=new DoctorDao();
        String where="where office like ? and dname like ? ";
        int total=doctorDao.getDoctorCount(where,new Object[]{Util.toLike(office),Util.toLike(name)});
        Pages pages = new Pages(start , total, 6);
        where+="limit "+((pages.getCurrentPage()-1)*6)+",6";
        List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
        request.setAttribute("doctors",doctors);
        request.setAttribute("pages",pages);
        request.setAttribute("doctor",name);
        //OfficeDao officeDao=new OfficeDao();
        //List<Office> offices = officeDao.query("officename", office, "");
        request.setAttribute("office",office);
        request.getRequestDispatcher("/admin/doctorManage.jsp").forward(request,response);
    }
}
package com.qst.servlet;

@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);
    }
}
package com.qst.servlet;

@WebServlet(urlPatterns = "/RegisterSevlet")
public class RegisterServlet 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 {

       response.setContentType("textml;charset=UTF-8");

        //获取前台的email

@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");
//获取前端的值
        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();
            //查询数据库获取值
            List<WorkDay> workDays = workDayDao.query(where, new Object[]{wid});
            WorkDay workDay = workDays.get(0);
//得到工作日数量
            int nsnum = Integer.valueOf(workDay.getNsnum());
            //计算
            int size=240/nsnum;
            Calendar calendar=Calendar.getInstance();
            calendar.set(Calendar.MINUTE,30);
            /*上午8.30-12.30 4*60=240
            下午1.30-5.30 4*/
            if("上午".equals(ampm)){
                calendar.set(Calendar.HOUR_OF_DAY,8);
            }else {
                calendar.set(Calendar.HOUR_OF_DAY,13);

//<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;名:</td><td>${sessionScope.patient.name}</td></tr>
//<tr><td>预约医生:</td><td>${doctor.dname}</td></tr>
//<tr><td>预约科室:</td><td>${doctor.office}&nbsp</td></tr>
//<tr><td>就诊时间:</td><td>${numSource.visitdate} ${numSource.visittime}第${numSource.serialnumber}号</td></tr>
//<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;费:</td><td>${doctor.fee}.00元</td></tr>
//<tr><td>你的邮箱:</td><td>${sessionScope.patient.email}
//<tr><td colspan="2"  class="confirm">确定</td></tr>
@WebServlet(urlPatterns = "/order")
public class Order extends HttpServlet {

    private HttpServletRequest req;
    private HttpServletResponse resp;
    private RecodeDao recodeDao = new RecodeDao();
    private NumSourceDao numSourceDao = new NumSourceDao();
    Patient patient;

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        this.req = request;
        this.resp = response;
        patient = (Patient) req.getSession().getAttribute("patient");
        String wid = req.getParameter("wid");//工作日id
        String did = req.getParameter("did");//工作日id
        String action = req.getParameter("action");
      //  String checkcode = Util.nullToString(req.getParameter("checkcode"));
        String rid = req.getParameter("rid");//记录的id
        String data = Util.nullToString(req.getParameter("data"));//就诊序号
        String[] strings = data.split(",");
        String where = "where wid=? and visitdate=? and visittime=? and state='成功'";
        RecodeDao recodeDao = new RecodeDao();
        switch (action) {
            case "order"://准备预约
                NumSource numSource = new NumSource(strings[0], strings[1], strings[2], strings[3], wid);
                //HashMap<String, String> hashMap = recodeDao.confirm(id);
                DoctorDao doctorDao = new DoctorDao();
                List<Doctor> doctors = doctorDao.query(" where did=?", new Object[]{did});
                req.getSession().setAttribute("numSource", numSource);
                req.setAttribute("doctor", doctors.get(0));
                req.getRequestDispatcher("confirmOrder.jsp").forward(req, resp);
                break;
            case "confirm"://完成预约
                NumSource numSources = (NumSource) request.getSession().getAttribute("numSource");
                Recode recode=new Recode();
                recode.setPid(patient.getId());
                recode.setDid(did);
                recode.setWid(wid);
                recode.setSerialnumber(numSources.getSerialnumber());
                recode.setRid(null);
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

@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="增加医生失败!";
            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"));
                doctor.setDname(request.getParameter("name"));
                doctor.setFee(request.getParameter("fee"));
                doctor.setGender(request.getParameter("gender"));
                doctor.setAge(request.getParameter("age"));
                doctor.setOffice(request.getParameter("office1"));
             //  doctor.setRoom(req.getParameter("room"));
                doctor.setCareer(request.getParameter("career"));
                doctor.setDescription(request.getParameter("description"));
                doctor.setPicpath(request.getContextPath()+"/images/docpic/default.jpg");
                if(doctorDao.insert(doctor)){
                    //添加医生
                    if (recodeDao.order(recode)) {
                        WorkDayDao workDayDao=new WorkDayDao();
                        String where2 =" where wid=? ";
                        List<WorkDay> workDay= workDayDao.query(where2,new Object[]{wid});
                        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,"停诊",wid});
                        }
                        request.getSession().setAttribute("message", "预约成功!");
                        request.getRequestDispatcher("orderList").forward(request, response);
                    } else {
                        req.getSession().setAttribute("message", "预约失败!");
                        req.getRequestDispatcher("ShowWorkday?did=" + did).forward(req, resp);
                    }
                } else {
                    req.getSession().setAttribute("message", "号源已被预约!");
                    req.getRequestDispatcher("ShowWorkday?did=" + did).forward(req, resp);
                }
                break;
        }

    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}
package com.qst.servlet;

                        List<WorkDay> workDay= workDayDao.query(where2,new Object[]{wid});
                        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,"停诊",wid});
                        }
                        request.getSession().setAttribute("message", "预约成功!");
                        request.getRequestDispatcher("orderList").forward(request, response);
                    } else {
                        req.getSession().setAttribute("message", "预约失败!");
                        req.getRequestDispatcher("ShowWorkday?did=" + did).forward(req, resp);
                    }
                } else {
                    req.getSession().setAttribute("message", "号源已被预约!");
                    req.getRequestDispatcher("ShowWorkday?did=" + did).forward(req, resp);
                }
                break;
        }

    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}
package com.qst.servlet;

public class Order extends HttpServlet {

    private HttpServletRequest req;
    private HttpServletResponse resp;
    private RecodeDao recodeDao = new RecodeDao();
    private NumSourceDao numSourceDao = new NumSourceDao();
    Patient patient;

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        this.req = request;
        this.resp = response;
        patient = (Patient) req.getSession().getAttribute("patient");
        String wid = req.getParameter("wid");//工作日id
        String did = req.getParameter("did");//工作日id
        String action = req.getParameter("action");
      //  String checkcode = Util.nullToString(req.getParameter("checkcode"));
        String rid = req.getParameter("rid");//记录的id
        String data = Util.nullToString(req.getParameter("data"));//就诊序号
        String[] strings = data.split(",");
        String where = "where wid=? and visitdate=? and visittime=? and state='成功'";
        RecodeDao recodeDao = new RecodeDao();
        switch (action) {
            case "order"://准备预约
                NumSource numSource = new NumSource(strings[0], strings[1], strings[2], strings[3], wid);
                //HashMap<String, String> hashMap = recodeDao.confirm(id);
                DoctorDao doctorDao = new DoctorDao();
                List<Doctor> doctors = doctorDao.query(" where did=?", new Object[]{did});
                req.getSession().setAttribute("numSource", numSource);
                req.setAttribute("doctor", doctors.get(0));
                req.getRequestDispatcher("confirmOrder.jsp").forward(req, resp);
                break;
            case "confirm"://完成预约
                NumSource numSources = (NumSource) request.getSession().getAttribute("numSource");
                Recode recode=new Recode();
                recode.setPid(patient.getId());
                recode.setDid(did);
                recode.setWid(wid);
                recode.setSerialnumber(numSources.getSerialnumber());
                recode.setRid(null);
                        message=officename+"添加失败!";
                    }
                }else {
                    message=officename+"已存在!";
                }
                request.setAttribute("message",message);
                //req.getRequestDispatcher("admin/office.jsp").forward(req,resp);
                break;
            case "query":
                offices = officeDao.query("officename", "","");
                JSONArray array=new JSONArray();
                for(com.qst.bean.Office office:offices){
                    JSONObject jsonObject=new JSONObject();
                    jsonObject.put("officename",office.getOfficename());
                    jsonObject.put("description",office.getDescription());
                    jsonObject.put("doctornum",office.getDoctornum());
                    array.add(jsonObject);
                }
               response.setContentType("application/json; charset=utf-8");
                response.getWriter().write(array.toString());
                return;
        }

        String office= Util.nullToString(request.getParameter("office"));
        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);
    }
}
package com.qst.servlet;

                        String email = request.getParameter("email");
                        //存入新记录
                        Patient patient=new Patient(null,account,email,password,name,"100");
                        if(patientDao.insert(patient)){
                            message="注册成功,请登录!";
                            request.getSession().setAttribute("message",message);
                         //   request.getSession().removeAttribute("checkCode");
                            response.sendRedirect("login.jsp");
                            return;
                        }else {
                            message="注册失败,请稍后再试!";
                        }
                    }else {
                        message="该账号已存在!";
                    }
                }else {
                    message="请输入账号!";
                }
            }else {
                message="两次密码不正确!";
            }

        request.setAttribute("message",message);
        request.getRequestDispatcher("register.jsp").forward(request,response);
    }
}
package com.qst.servlet.patient;

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

        doGet(request,response);
    }
}
package com.qst.servlet.doctor;

@WebServlet(urlPatterns= "/patientList")
public class PatientList 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"));
        Doctor doctor = (Doctor) request.getSession().getAttribute("doctor");
        String rid = Util.nullToString(request.getParameter("rid"));
        String pid = Util.nullToString(request.getParameter("pid"));
        RecodeDao recodeDao = new RecodeDao();
//        IntegrityDao integrityDao = new IntegrityDao();
//        Integrity integrity;
        String set;
        switch (action){
            case "finish":
                set = "set state ='完成' where rid=?";
                recodeDao.update(set,new Object[]{rid});
//                integrity = new Integrity("", pid, doctor.getDname(), doctor.getOffice(), "", "完成预约", "10");
        int start = Util.nullToZero(request.getParameter("start"));
        DoctorDao doctorDao=new DoctorDao();
        String where="where office like ? and dname like ? ";
        int total=doctorDao.getDoctorCount(where,new Object[]{Util.toLike(office),Util.toLike(name)});
        Pages pages = new Pages(start , total, 6);
        where+="limit "+((pages.getCurrentPage()-1)*6)+",6";
        List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
        request.setAttribute("doctors",doctors);
        request.setAttribute("pages",pages);
        request.setAttribute("doctor",name);
        //OfficeDao officeDao=new OfficeDao();
        //List<Office> offices = officeDao.query("officename", office, "");
        request.setAttribute("office",office);
        request.getRequestDispatcher("/admin/doctorManage.jsp").forward(request,response);
    }
}
package com.qst.servlet;

@WebServlet(urlPatterns = "/login")
public class Login 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");

@WebServlet(urlPatterns= "/modifyPwd")
public class ModifyPwd 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 jmm = Util.nullToString(request.getParameter("jmm"));
        String xmm = Util.nullToString(request.getParameter("xmm"));
        String qdmm = Util.nullToString(request.getParameter("qdmm"));
        String message="";
        switch (action){
            case "doctor":
                Doctor doctor = (Doctor)request.getSession().getAttribute("doctor");
                if(doctor.getPassword().equals(jmm)){
                    if(xmm.equals(qdmm)){
                        DoctorDao doctorDao=new DoctorDao();
                        String set ="set password=? where did=?";
                        if(doctorDao.update(set,new Object[]{xmm,doctor.getDid()})){
                            message="修改成功";

                        }else {
                            message="修改失败";
                        }
                    }else {
                        message="两次密码不一样";
                    }
                }else {
                    message="密码错误";
                }
                request.setAttribute("message",message);
                request.getRequestDispatcher("logout").forward(request,response);
               // request.getRequestDispatcher("/doctor/modifyPwd.jsp").forward(request,response);
                break;
            case "patient":
                Patient patient= (Patient) request.getSession().getAttribute("patient");
                if(patient.getPassword().equals(jmm)){
                    if(xmm.equals(qdmm)){
                        PatientDao patientDao=new PatientDao();
                        String set ="set password=? where pid=?";
            for(NumSource o:list){
                //用json方式设置数据
                JSONObject jsonObject=new JSONObject();
                jsonObject.put("date",o.getVisitdate());
                jsonObject.put("ampm",o.getVisitnoon());
                jsonObject.put("serialnumber",o.getSerialnumber());
                jsonObject.put("state",o.getState());
                jsonObject.put("time",o.getVisittime());
                array.add(jsonObject);
            }
            //输出结果到客户端
            response.setContentType("application/json; charset=utf-8");
            response.getWriter().write(array.toString());
        }
    }
}
package com.qst.servlet.doctor;

@MultipartConfig
@WebServlet(urlPatterns = "/doctor/myInfo")
public class MyInfo 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 {

//        com.jspsmart.upload.SmartUpload su = new  com.jspsmart.upload.SmartUpload();
//        su.initialize(pageContext);
//        su.service(request, response);
//        su.setTotalMaxFileSize(100000000);
//        su.setAllowedFilesList("zip,rar");
//        su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
//        su.upload();

            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("没有这个医生");
                }
            }
        }
}
package com.qst.servlet;

@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+"%"});
//        }
        String account=request.getParameter("account");
        //判断数据库是否有相同的email
                doctor.setFee(request.getParameter("fee"));
                doctor.setGender(request.getParameter("gender"));
                doctor.setAge(request.getParameter("age"));
                doctor.setOffice(request.getParameter("office1"));
             //  doctor.setRoom(req.getParameter("room"));
                doctor.setCareer(request.getParameter("career"));
                doctor.setDescription(request.getParameter("description"));
                doctor.setPicpath(request.getContextPath()+"/images/docpic/default.jpg");
                if(doctorDao.insert(doctor)){
                    //添加医生
                    message="添加"+request.getParameter("name")+"医生成功!";
                    //科室中的医生数量加1
                    String where="set doctornum=? where officename=?";
                    OfficeDao officeDao=new OfficeDao();
                    String where1="where officename=?";
                    Office office1 =officeDao.get(where1,new Object[]{doctor.getOffice()});
             //       Office office1 = (Office) officeDao.query("officename", "","");
                    int num=office1.getDoctornum()+1;
                    officeDao.update(where,new Object[]{num,office1.getOfficename()});
                }
            }else {
                message=request.getParameter("account")+"账号已存在!";
            }
            request.setAttribute("message",message);
        }
        int start = Util.nullToZero(request.getParameter("start"));
        DoctorDao doctorDao=new DoctorDao();
        String where="where office like ? and dname like ? ";
        int total=doctorDao.getDoctorCount(where,new Object[]{Util.toLike(office),Util.toLike(name)});
        Pages pages = new Pages(start , total, 6);
        where+="limit "+((pages.getCurrentPage()-1)*6)+",6";
        List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
        request.setAttribute("doctors",doctors);
        request.setAttribute("pages",pages);
        request.setAttribute("doctor",name);
        //OfficeDao officeDao=new OfficeDao();
        //List<Office> offices = officeDao.query("officename", office, "");
        request.setAttribute("office",office);
        request.getRequestDispatcher("/admin/doctorManage.jsp").forward(request,response);
    }
}
package com.qst.servlet;

        Pages pages = new Pages(start , total, 6);
        where+=" limit "+((pages.getCurrentPage()-1)*6)+",6";
        //根据页号显示结果
        List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
        //为前端页面设置值
        request.setAttribute("doctors",doctors);
        request.setAttribute("pages",pages);
        request.setAttribute("doctor",name);
        OfficeDao officeDao=new OfficeDao();
        //获取科室
        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
        //重定向
            request.getRequestDispatcher("/officeInfo.jsp").forward(request,response);
    }
}
package com.qst.servlet.doctor;

@WebServlet(urlPatterns= "/patientList")
public class PatientList 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"));
            }

        request.setAttribute("message",message);
        request.getRequestDispatcher("register.jsp").forward(request,response);
    }
}
package com.qst.servlet.patient;

@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");
        //从前端得到数据
        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();
        //数据库查询语句
        String where="where office like ? and dname like ? ";
        //获取结果数量
        int total=doctorDao.getDoctorCount(where,new Object[]{Util.toLike(office),Util.toLike(name)});
        //页数
        Pages pages = new Pages(start , total, 6);
        where+=" limit "+((pages.getCurrentPage()-1)*6)+",6";
        //根据页号显示结果
        List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
        //为前端页面设置值
        request.setAttribute("doctors",doctors);
        request.setAttribute("pages",pages);
        request.setAttribute("doctor",name);
        OfficeDao officeDao=new OfficeDao();
        //获取科室
                writer.flush();
                writer.close();
            } else {
                PrintWriter writer = response.getWriter();
                writer.write("false");
                writer.flush();
                writer.close();
            }
        }

    }
}
package com.qst.servlet.patient;

@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);
    }
}
package com.qst.servlet;


@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+"%"});
//        }
        String account=request.getParameter("account");
        //判断数据库是否有相同的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();
            }
        }

    }
}
package com.qst.servlet.patient;

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

        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);

    }
}
package com.qst.filter;

@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");

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值