资源下载地址:https://download.csdn.net/download/sheziqiong/91274245
资源下载地址:https://download.csdn.net/download/sheziqiong/91274245
基于Java Web的传统药店管理系统开发实践指南
引言
在当今数字化浪潮中,医药行业也在逐步实现信息化管理。本文将介绍一个基于传统Java Web技术栈开发的药店管理系统,该项目采用JSP+Servlet+JavaBean架构,不依赖Maven构建工具,适合学习Java Web基础开发的初学者参考。
项目概述
这个药店管理系统是一个典型的CRUD应用,实现了药品流通中的核心管理功能,包含四大模块:
- 客户信息管理
- 药品类别管理
- 药品库存管理
- 系统用户管理
系统采用B/S架构,前端使用Bootstrap+jQuery实现响应式布局,后端使用Servlet处理业务逻辑,JDBC操作MySQL数据库。
开发环境准备
技术栈
- 核心框架:JSP+Servlet+JavaBean
- 前端技术:Bootstrap 3 + jQuery 1.12
- 数据库:MySQL 5.7
- 服务器:Tomcat 8
- 开发工具:Eclipse IDE for Java EE Developers
- JDK版本:1.8
环境搭建步骤
- 安装JDK 8:配置JAVA_HOME环境变量
- 安装MySQL 5.7:创建数据库用户并授权
- 安装Tomcat 8:配置CATALINA_HOME环境变量
- 配置Eclipse EE环境:安装Web开发插件(如WTP)
项目部署指南
1. 导入项目到Eclipse
- 打开Eclipse → File → Import → General → Existing Projects into Workspace
- 选择项目根目录,确保勾选"Copy projects into workspace"
- 检查项目属性中的Target Runtime是否配置了正确的Tomcat版本
2. 数据库准备
- 创建数据库:
CREATE DATABASE servlet DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 执行提供的SQL脚本导入初始数据(包含表结构和测试数据)
3. 数据库配置修改
修改Servlet/src/com/util/DBUtil.java
中的数据库连接信息:
// 原代码示例(需修改11-13行)
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/servlet?useUnicode=true&characterEncoding=utf8";
private static final String USERNAME = "root";
private static final String PASSWORD = "yourpassword";
4. 部署与启动
- 右键项目 → Run As → Run on Server
- 选择已配置的Tomcat 8服务器
- 访问测试地址:
http://localhost:8080/Servlet
- 使用默认账号登录:admin/123456
系统架构解析
分层架构设计
/Servlet
├── src/
│ ├── com/
│ │ ├── controller/ # Servlet控制层
│ │ ├── dao/ # 数据访问层
│ │ ├── model/ # JavaBean实体类
│ │ └── util/ # 工具类(DBUtil等)
├── WebContent/
│ ├── css/ # Bootstrap样式
│ ├── js/ # jQuery脚本
│ ├── WEB-INF/
│ │ ├── lib/ # 依赖的JAR包
│ │ └── web.xml # 部署描述符
│ └── jsp/ # 视图页面
核心实现技术
-
MVC模式实现:
- Model:JavaBean实体类
- View:JSP页面
- Controller:Servlet处理请求
-
数据库操作:
- 使用JDBC原生连接池
- 封装了基本的CRUD操作
-
前端交互:
- Bootstrap实现响应式布局
- jQuery处理AJAX请求和DOM操作
典型功能实现示例
药品查询功能实现
- Servlet处理层:
// MedicineServlet.java
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String keyword = request.getParameter("keyword");
List<Medicine> medicines = medicineDao.search(keyword);
request.setAttribute("medicines", medicines);
request.getRequestDispatcher("/jsp/medicine_list.jsp").forward(request, response);
}
- JSP视图层:
<!-- medicine_list.jsp -->
<table class="table table-bordered">
<tr>
<th>药品ID</th>
<th>药品名称</th>
<th>类别</th>
<th>价格</th>
</tr>
<c:forEach items="${medicines}" var="medicine">
<tr>
<td>${medicine.id}</td>
<td>${medicine.name}</td>
<td>${medicine.categoryName}</td>
<td>${medicine.price}</td>
</tr>
</c:forEach>
</table>
开发经验总结
传统Java Web项目的优缺点
优点:
- 技术栈简单直接,适合学习基础
- 无需学习构建工具,减少学习成本
- 部署配置过程清晰可见
缺点:
- 项目结构需要手动维护
- 依赖管理繁琐
- 现代化特性支持不足
常见问题解决方案
-
中文乱码问题:
- 数据库连接URL添加
useUnicode=true&characterEncoding=utf8
- JSP页面设置
<%@ page contentType="text/html;charset=UTF-8" %>
- 过滤器统一处理请求编码
- 数据库连接URL添加
-
Session管理:
- 实现登录拦截器检查session
- 设置合理的session超时时间
-
分页实现:
- 数据库层面使用LIMIT分页
- 前端显示分页导航栏
扩展建议
对于想进一步提升该系统的开发者,可以考虑:
- 添加药品库存预警功能
- 实现销售记录和统计报表
- 集成条形码扫描功能
- 添加权限管理系统(RBAC模型)
- 使用连接池(如Druid)替代原生JDBC
结语
这个传统Java Web项目虽然技术栈略显陈旧,但其中蕴含的MVC设计思想、分层架构原则等基础知识,对于初学者理解Web应用开发本质具有重要价值。在掌握基础后,可以进一步学习Spring Boot等现代框架,实现更高效、更优雅的开发体验。
资源下载地址:https://download.csdn.net/download/sheziqiong/91274245
资源下载地址:https://download.csdn.net/download/sheziqiong/91274245