实现医护管理系统需要使用JSP、Servlet和Java等技术,下面将详细介绍如何结合这些技术来实现。

一、项目搭建
在 Eclipse 或其他 IDE 中创建一个 Java Web 项目,命名为 MedicalSystem。在项目中创建以下目录结构:
- src/main/java:存放 Java 程序的源代码
- src/main/webapp/WEB-INF:存放 JSP 页面和 web.xml 配置文件
- src/main/webapp/css:存放 CSS 文件
- src/main/webapp/js:存放 JavaScript 文件
- src/main/webapp/images:存放图片资源

二、数据库设计与配置
1. 根据医护管理系统的需求设计数据库表结构,并创建数据库。这里以病人表(patients)和医生表(doctors)为例,主要包含姓名、性别、年龄、病历号等字段。
2. 在 src/main/resources 目录下创建一个名为 jdbc.properties 的配置文件,用于配置数据库连接信息,内容如下:
```
jdbc.url=jdbc:mysql://localhost:3306/medical_system
jdbc.username=root
jdbc.password=password
jdbc.driverClassName=com.mysql.jdbc.Driver
```
3. 在项目的 pom.xml 文件中添加 MySQL 驱动的依赖:
```

mysql mysql-connector-java 5.1.49

```
4. 在项目的 src/main/java 目录下创建一个名为 DBHelper 的类,用于获取数据库连接:
```java
public class DBHelper {
private static Connection conn = null;

public static Connection getConnection() {
Properties props = new Properties();
try {
InputStream in = DBHelper.class.getClassLoader().getResourceAsStream("jdbc.properties");
props.load(in);
Class.forName(props.getProperty("jdbc.driverClassName"));
conn = DriverManager.getConnection(props.getProperty("jdbc.url"), props.getProperty("jdbc.username"),
props.getProperty("jdbc.password"));
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
```
5. 在项目的 src/main/java 目录下创建一个名为 PatientDAO 的类,用于操作病人表:
```java
public class PatientDAO {
public List getAllPatients() {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
List patients = new ArrayList<>();
try {
conn = DBHelper.getConnection();
String sql = "SELECT * FROM patients";
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
while (rs.next()) {
Patient patient = new Patient();
patient.setId(rs.getInt("id"));
patient.setName(rs.getString("name"));
patient.setGender(rs.getString("gender"));
patient.setAge(rs.getInt("age"));
patient.setMedicalRecordNumber(rs.getString("medical_record_number"));
patients.add(patient);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return patients;
}
}
```

三、主页设计与实现
1. 在 src/main/webapp/WEB-INF 目录下创建一个名为 index.jsp 的 JSP 页面,用作系统的主页,内容如下:
```html

医护管理系统

医护管理系统

病人列表

<%@ page import="java.util.List" %>
<%@ page import="com.example.medicalsystem.Patient" %>
<%@ page import="com.example.medicalsystem.PatientDAO" %>

<%
PatientDAO patientDAO = new PatientDAO();
List patients = patientDAO.getAllPatients();
for (Patient patient : patients) {
%>

<%= patient.getName() %>
<%= patient.getGender() %>
<%= patient.getAge() %>
<%= patient.getMedicalRecordNumber() %>

<%
}
%>

```
2. 创建一个名为 style.css 的 CSS 文件,用于美化页面样式。
```css
body {
text-align: center;
margin-top: 50px;
}
h1 {
font-size: 30px;
}
h4 {
font-size: 25px;
}
p {
font-size: 20px;
margin-top: 20px;
}
```
3. 在 web.xml 配置文件中添加医护管理系统的访问路径:
```html

dispatcher org.apache.jasper.servlet.JspServlet development true trimSpaces true mappedFile true classdebuginfo false enablePooling true


dispatcher
*.jsp


index.jsp

```

至此,医护管理系统的主页已经搭建完成。可以通过访问 http://localhost:8080/MedicalSystem/ 进入系统首页,该页面将展示数据库中的病人列表。