jsp+servlet做的医院挂号看诊管理系统

医院管理系统 (Hospital Management System)

项目简介

这是一个基于Java Web技术的医院管理系统,采用传统的MVC架构模式,实现了医院内部多角色用户管理、患者挂号、医生诊疗、药品管理、收费等功能。系统支持管理员、医生、患者三种角色的权限管理。

技术栈

  • 后端框架: Java Servlet + JSP
  • 数据库: MySQL 8.0
  • 架构模式: MVC (Model-View-Controller)
  • 前端技术: Bootstrap 3.3.7 + jQuery + HTML/CSS/JavaScript
  • 服务器: Tomcat 9.0
  • 开发工具: Maven
  • Java版本: JDK 7

系统功能模块

1. 用户管理模块

  • 管理员管理: 系统管理员的增删改查功能
  • 医生管理: 医生信息的完整管理,包括医生档案、职称级别、所属科室
  • 患者管理: 患者注册、信息维护、就诊记录管理

2. 医院基础数据管理

  • 科室管理 (Room): 医院的科室信息管理
  • 级别管理 (Level): 医生的职称级别和挂号费用管理
  • 药房管理 (Chemit): 药房基础信息维护
  • 药品管理 (Drug): 药品信息、价格、库存管理

3. 预约挂号系统

  • 预约管理 (Reserve): 患者在线预约挂号功能
  • 医生排班: 医生工作时间安排
  • 挂号费用计算: 根据医生级别自动计算挂号费

4. 诊疗管理系统

  • 病历管理 (History): 患者就诊病历记录
  • 处方开具 (Bill): 医生开具处方单功能
  • 就诊记录 (Record): 患者就诊流程记录

5. 收费管理系统

  • 药单收费 (Bill): 处方药品费用计算和收取
  • 挂号费收取 (Rpay): 挂号费用结算
  • 费用统计: 医院收入统计和分析

数据库设计

主要数据表结构

用户相关表
  • user: 管理员用户表 (uid, uname, pwd, cardid, udesc, uflag)
  • doctor: 医生信息表 (doctorId, doctorName, doctorPwd, doctorSex, doctorAge, doctorSal, doctorFlag, doctorDesc, level, room)
  • patient: 患者信息表 (patientId, patientName, patientPwd, patientSex, patientAge, patientIdcard, patientPhone, patientFlag)
医院基础信息表
  • room: 科室表 (rid, rname, rplace, rflag)
  • level: 医生级别表 (lid, lname, lmoney, lflag, lcount)
  • chemit: 药房表 (chemitId, chemitName, chemitDesc, chemitFlag)
  • drug: 药品表 (drugId, drugName, drugSellers, drugMoney, drugType, drugDesc, drugFlag)
业务数据表
  • reserve: 预约表 (rid, rtime, patientid, doctorid)
  • history: 病历表 (historyId, historyTime, historyDesc, patient, doctor, historyFlag)
  • bill: 处方单表 (billId, billNum, billCount, billTime, billDesc, billMoney, patient, doctor, drug, billFlag)
  • record: 就诊记录表 (recordId, recordTime, patient, doctor)
  • rpay: 挂号费表 (rpayId, rpayMoney, rpayTime, reserve)
  • bpay: 药费表 (bpayId, bpayMoney, bpayTime, bill, bpayFlag)

系统架构

目录结构

bash 复制代码
src/
├── main/
│   ├── java/com/ambow/
│   │   ├── dao/          # 数据访问层
│   │   │   ├── BaseDao.java      # 数据库连接基类
│   │   │   ├── DoctorDao.java    # 医生数据访问
│   │   │   ├── PatientDao.java   # 患者数据访问
│   │   │   └── ...
│   │   ├── model/        # 实体模型层
│   │   │   ├── Doctor.java       # 医生实体类
│   │   │   ├── Patient.java      # 患者实体类
│   │   │   ├── Bill.java         # 处方单实体类
│   │   │   └── ...
│   │   ├── service/      # 业务逻辑层
│   │   │   ├── DoctorService.java  # 医生业务逻辑
│   │   │   ├── PatientService.java # 患者业务逻辑
│   │   │   └── ...
│   │   └── servlet/      # 控制层
│   │       ├── DoctorServlet.java   # 医生相关请求处理
│   │       ├── PatientServlet.java  # 患者相关请求处理
│   │       └── ...
│   └── webapp/           # Web资源目录
│       ├── WEB-INF/
│       │   └── web.xml     # Web应用配置
│       ├── *.jsp          # JSP页面
│       ├── css/           # 样式文件
│       ├── js/            # JavaScript文件
│       └── images/        # 图片资源

MVC架构说明

  • Model (模型层) : model/dao/service 包,负责数据操作和业务逻辑
  • View (视图层): JSP页面,负责用户界面展示
  • Controller (控制层): Servlet类,负责请求处理和页面跳转

用户角色与权限

1. 系统管理员 (Admin)

  • 登录页面 : loginUser.html
  • 主界面 : index.jsp
  • 主要功能 :
    • 医院基础数据管理 (医生、科室、药品、药房)
    • 患者信息管理
    • 管理员账户管理
    • 系统数据统计

2. 医生 (Doctor)

  • 登录页面 : loginDoctor.html
  • 主界面 : indexDoctor.jsp
  • 主要功能 :
    • 患者预约查询和安排
    • 病历记录管理
    • 处方开具
    • 个人信息维护

3. 患者 (Patient)

  • 登录页面 : loginPatient.html
  • 主界面 : indexPatient.jsp
  • 功能特点 :
    • 在线注册和登录
    • 医生预约挂号
    • 病历和药单查看
    • 个人就诊记录查询

核心业务流程

1. 患者挂号流程

  1. 患者登录系统
  2. 查看医生列表和科室信息
  3. 选择合适的医生进行预约
  4. 提交预约申请并支付挂号费
  5. 获得预约确认号

2. 医生诊疗流程

  1. 医生登录系统查看预约患者
  2. 接待患者并记录病历
  3. 根据病情开具处方
  4. 确认诊疗记录

3. 药品收费流程

  1. 系统根据处方自动计算药费
  2. 患者确认收费明细
  3. 完成支付和取药

主要技术特点

1. 数据库设计

  • 使用MySQL数据库存储系统数据
  • 采用外键关联建立表间关系
  • 支持事务处理和数据一致性

2. 会话管理

  • 基于HttpSession的用户状态管理
  • 不同角色用户登录状态维护
  • 安全的用户权限控制

3. 页面技术

  • 响应式Web设计,支持多终端访问
  • Bootstrap框架提供美观的界面
  • AJAX技术提升用户体验

4. 系统安全

  • 密码安全存储和验证
  • 用户输入数据验证和过滤
  • 跨站脚本攻击(XSS)防护

安装部署

环境要求

  • JDK 7+
  • Tomcat 9.0+
  • MySQL 8.0+
  • Maven 3.0+

部署步骤

  1. 数据库准备

    • 创建MySQL数据库 hospital
    • 导入相关数据表结构
    • 配置数据库连接参数 (BaseDao.java)
  2. 项目编译

    bash 复制代码
    mvn clean compile package
  3. 部署到Tomcat

    • 将生成的 hospital_group_six.war 文件部署到tomcat的webapps目录
    • 启动Tomcat服务器
  4. 配置修改

    • 修改 BaseDao.java 中的数据库连接配置
    • 确保数据库服务正常运行
  5. 访问系统

    • 管理后台: http://localhost:8080/hospital_group_six/index.jsp
    • 医生端: http://localhost:8080/hospital_group_six/loginDoctor.html
    • 患者端: http://localhost:8080/hospital_group_six/loginPatient.html

系统截图

登录界面

  • 支持三种角色的分别登录入口
  • 使用Bootstrap设计的现代化登录界面
  • 响应式设计,适配多种屏幕尺寸

后台管理界面

  • 左侧导航栏,功能模块清晰分类
  • 数据统计图表展示系统概况
  • 表格形式展示各类业务数据

开发计划

已完成功能

  • 用户角色管理和权限控制
  • 医院基础数据管理
  • 患者预约挂号系统
  • 病历和处方管理
  • 收费结算功能
  • 基础统计功能

待优化功能

  • 数据统计分析模块优化
  • 移动端适配优化
  • 系统性能优化
  • 安全性增强
  • 部署文档完善
相关推荐
liangshanbo12151 小时前
写好 React useEffect 的终极指南
前端·javascript·react.js
apocelipes2 小时前
golang unique包和字符串内部化
java·python·性能优化·golang
Full Stack Developme2 小时前
java.text 包详解
java·开发语言·python
_院长大人_3 小时前
el-table-column show-overflow-tooltip 只能显示纯文本,无法渲染 <p> 标签
前端·javascript·vue.js
SevgiliD3 小时前
el-table中控制单列内容多行超出省略及tooltip
javascript·vue.js·elementui
刘梦凡呀3 小时前
C#获取钉钉平台考勤记录
java·c#·钉钉
best_virtuoso4 小时前
PostgreSQL 常见数组操作函数语法、功能
java·数据结构·postgresql
yudiandian20144 小时前
02 Oracle JDK 下载及配置(解压缩版)
java·开发语言
-雷阵雨-4 小时前
MySQL——桥梁JDBC
数据库·mysql·oracle
要加油哦~4 小时前
JS | 知识点总结 - 原型链
开发语言·javascript·原型模式