基于javaweb+mysql的医院挂号预约管理系统(管理员、用户)

基于javaweb+mysql的医院挂号预约管理系统(管理员、用户)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

管理员:登录、管理员、医生、病人、预约挂号、科室管理

普通用户:注册、登录、预约挂号、挂号查询

普通用户(前台)

管理员(后台)

技术框架

CSS JavaScript JSP Servlet JDBC MySQL


import com.demo.util.DateUtil;
import com.demo.util.PageData;
import net.sf.json.JSONArray;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class RegisterServlet extends HttpServlet {

	private RegisterService registerService = new RegisterServiceImp();
	private PatientService patientService = new PatientServiceImp();
	private DoctorService doctorService = new DoctorServiceImp();
	private OfficeService officeService = new OfficeServiceImp();

	public RegisterServlet() {
		super();
	}

	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log

			su.setDeniedFilesList(denied);
			// 单个文件最大限制
			su.setMaxFileSize(file_size);
			su.setCharset("UTF-8");
			// 执行上传
			su.upload();
			// 得到单个上传文件的信息
			file = su.getFiles().getFile(0);
			String filepath = null;
			if (!file.isMissing()) {
				// 设置文件在服务器的保存位置
				filepath = "image\\";
				// 文件重新命名
				String ext = file.getFileName().substring(
						file.getFileName().lastIndexOf("."));
				Date d = new Date();
				filename = String.valueOf(d.getTime());
				filename += Math.round(Math.random() * 1000000);
															<option value="${page.currentPage}">第${page.currentPage}页</option>
																<c:forEach begin="1" var="i" step="1" end="${page.pageCount}" >
																	<c:if test="${page.currentPage!=i}">
																		<option  value="${i}">第${i }页</option>
																	</c:if>
																</c:forEach>
														</select></td>
												</tr>
											</table>
										</td>
									</tr>
								</table>
							</td>
						</tr>
					</table>
					<table width="95%" border="0" align="center" cellpadding="0"
						cellspacing="0">
						<tr>
							<td height="6">
								<img src="images/spacer.gif" width="1" height="1" />

html {
	overflow-x: auto;
	overflow-y: auto;
	border: 0;
}
</style>
<script type="text/javascript">
		function selectAll(){

			var ch=document.getElementsByName("delid");

			for(var i=0;i<ch.length;i++){
				ch[i].checked=true;
			}
		}

		function unselectAll(){

			var ch=document.getElementsByName("delid");
			
			for(var i=0;i<ch.length;i++){
				ch[i].checked=!ch[i].checked;
				
			}
		}
			}
		} catch (SQLException e) {
			
			e.printStackTrace();
		}finally{
			DBConnection.close(rs, stmt, pstmt);
		}
		
		return rowsCount;
		
	}


	public boolean modify(Admin admin) {
		boolean b=true;
		try {
			conn=DBConnection.getConnection();
			String sql="update  admin set admin_name=?,admin_password=? where admin_id="+admin.getAdminId();
			pstmt=conn.prepareStatement(sql);
			pstmt.setString(1, admin.getAdminName());
			pstmt.setString(2, admin.getAdminPassword());
			throws ServletException, IOException {

		// 单个删除
		String offId = request.getParameter("offId");
		// 多个删除
		String strId = request.getParameter("strId");

		boolean b = false;
		boolean isHasDoc = false;
		if (strId != null && !strId.trim().equals("")) {
			String arrId[] = strId.split(","); // 将字符串分割成数组,得到所有复选框的value,即管理员id
			for (int i = 0; i < arrId.length; i++) {
				isHasDoc = isHasDoc(Integer.valueOf(arrId[i]), request,
						response);
				if (!isHasDoc) {
					b = officeService.delete(Integer.valueOf(arrId[i]));
				}
			}
		} else {

			if (offId != null) {
				isHasDoc = isHasDoc(Integer.valueOf(offId), request, response);
				if (!isHasDoc) {
					b = officeService.delete(Integer.valueOf(offId));
				}

public class PatientServlet extends HttpServlet {
	private PatientService patientService = new PatientServiceImp();
	private RegisterService registerService = new RegisterServiceImp();

	public PatientServlet() {
		super();
	}

	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);

	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
												<tr>
													<td width="8%" align="center" bgcolor="#EEEEEE">
														选择
													</td>
													
													<td width="12%" height="20" align="center"
														bgcolor="#EEEEEE">
														用户名
													</td>
												
												
													<td width="12%" align="center" bgcolor="#EEEEEE">
														真实姓名
													</td>
													<td width="12%" align="center" bgcolor="#EEEEEE">
														性别
													</td>
				b = adminService.delete(Integer.valueOf(adminId));
			} else {
				// 都为空的时候
				JOptionPane.showMessageDialog(null, "您还没有选择删除的人");// 跳出去
				showList(request, response);
				return;
			}

		}

		if (!b) {

			request.setAttribute("errDelete", "删除管理员失败");
		}

		showList(request, response);

	}
			throws ServletException, IOException {
		String docId = request.getParameter("docId");// 根据这个修改医生,
		Doctor doctor = doctorService.get(Integer.valueOf(docId));
		System.out.println(docId);
		// 得到值,注意:页面不能有上传文件时所需要的enctype="multipart/form-data",否则得不到页面的值
		String docName = request.getParameter("docName");
		int money = Integer.valueOf(request.getParameter("money"));
		String docTime = request.getParameter("docTime"); // 需要将其转化成sql里面的日期
		int sumCount = Integer.valueOf(request.getParameter("sumCount"));
		int offId = Integer.valueOf(request.getParameter("offId"));// 得到的就是offId
		Date timeDate = DateUtil.getBirthDate(docTime);
		// 更新得到的值
		doctor.setDocName(docName);
		doctor.setMoney(money);
		doctor.setDocTime(timeDate);
		doctor.setSumCount(sumCount);
		doctor.setOffId(offId);
		// 插入数据库
		boolean b = doctorService.modify(doctor);
		if (b) {
			// 成功
			// 跳转到列表,要更新
			System.out.println("成功");
			showList(request, response);
		} else {
			// 插入失败
			System.out.println("失败");
		PageData pageData = new PageData();
		// 得到当前页
		String currentPage = request.getParameter("currentPage");
		if (currentPage != null) {
			pageData.setCurrentPage(Integer.valueOf(currentPage));
		}
		// 得到每页行数
		String pageRows = request.getParameter("pageRows");
		if (pageRows != null) {
			pageData.setPageRows(Integer.valueOf(pageRows));
		}

		// 得到总行数
		int rowsCount = officeService.getRowsCount(null);

		pageData.setRowsCount(rowsCount);
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">

		<title>My JSP 'userlist.jsp' starting page</title>


		<link rel="stylesheet" type="text/css" href="css/css.css">

		<link href="css/style.css" rel="stylesheet" type="text/css" />
		<style type="text/css">
	// 显示医生列表
	public void showList(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// 模糊查询
		String checkName = request.getParameter("checkName"); // 得到名字,根据姓名查找时用
		// 分页
		PageData pageData = new PageData();
		// 得到当前页
		String currentPage = request.getParameter("currentPage");
		if (currentPage != null) {
			pageData.setCurrentPage(Integer.valueOf(currentPage));
		}
		// 得到每页行数
		String pageRows = request.getParameter("pageRows");
		if (pageRows != null) {
			pageData.setPageRows(Integer.valueOf(pageRows));
		}
		// 得到总行数
		int rowsCount = doctorService.getRowsCount(checkName);
		pageData.setRowsCount(rowsCount);
		// 计算总页数
		int pageCount = 0;
		if (rowsCount % pageData.getPageRows() == 0) {
import com.demo.entity.Patient;
import com.demo.entity.Register;
import com.demo.service.DoctorService;
import com.demo.service.OfficeService;
import com.demo.service.PatientService;
import com.demo.service.RegisterService;
import com.demo.service.imp.DoctorServiceImp;
import com.demo.service.imp.OfficeServiceImp;
import com.demo.service.imp.PatientServiceImp;
import com.demo.service.imp.RegisterServiceImp;
import com.demo.util.DateUtil;
import com.demo.util.PageData;
import net.sf.json.JSONArray;
				alert("您选的值必须大于0");
				document.getElementById("pageRows").value=pages;
				return false;

			}
		}
			
		
 </script>
	</head>
	<body onload="init()">
		<table width="100%" border="0" cellspacing="0" cellpadding="0">
			<tr>
				<td height="30">
					<table width="100%" border="0" cellspacing="0" cellpadding="0">
						<tr>
							<td height="62" background="images/nav04.gif">

								<table width="98%" border="0" align="center" cellpadding="0"
									cellspacing="0">
									<tr>
										<td width="24">
											<img src="images/ico07.gif" width="20" height="18" />
										</td>
										<td width="519">
											<label>

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

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值