基于 Java Servlet/JSP 的快递管理系统,支持快递的增删改查、搜索等功能。
- 技术栈: Java 8 + Servlet 3.1 + JSP 2.3 + MySQL 8.0
- 构建工具: Maven 3
- Web 容器: Tomcat 7
- 架构模式: MVC 三层架构
- 管理员登录/登出
- 快递信息管理(新增、编辑、删除)
- 快递列表展示与分页
- 按单号或收件人搜索
- 快递状态管理(待取件、运输中、已签收、已拒收)
| 工具 | 版本要求 | 下载地址 |
|---|---|---|
| JDK | 8 或以上 | https://www.oracle.com/java/technologies/downloads/ |
| Maven | 3.6+ | https://maven.apache.org/download.cgi |
| MySQL | 8.0+ | https://dev.mysql.com/downloads/mysql/ |
| IDE | IntelliJ IDEA / Eclipse / VSCode | - |
-
JDK (Java Development Kit)
- Java 开发必备工具包
- 安装后需要配置
JAVA_HOME环境变量 - 验证安装:命令行输入
java -version和javac -version
-
Maven
- Java 项目构建和依赖管理工具
- 安装后需要配置
MAVEN_HOME环境变量 - 验证安装:命令行输入
mvn -v
-
MySQL
- 数据库服务器
- 需要创建数据库并导入表结构
- 推荐安装 MySQL Workbench 进行可视化管理
git clone https://gitee.com/haobinjun/express-management.git
cd express-management登录 MySQL,执行以下命令:
CREATE DATABASE express_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE express_db;
-- 管理员表
CREATE TABLE admin (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(100) NOT NULL
);
-- 插入默认管理员 (用户名: admin, 密码: 123456)
INSERT INTO admin (username, password) VALUES ('admin', '123456');
-- 快递表
CREATE TABLE express (
id INT PRIMARY KEY AUTO_INCREMENT,
express_no VARCHAR(50) NOT NULL UNIQUE COMMENT '快递单号',
receiver_name VARCHAR(50) NOT NULL COMMENT '收件人姓名',
receiver_phone VARCHAR(20) NOT NULL COMMENT '收件人电话',
receiver_address VARCHAR(200) NOT NULL COMMENT '收件地址',
sender_name VARCHAR(50) COMMENT '寄件人姓名',
sender_phone VARCHAR(20) COMMENT '寄件人电话',
weight DECIMAL(10, 2) COMMENT '重量(kg)',
status VARCHAR(20) DEFAULT '待取件' COMMENT '状态: 待取件、运输中、已签收、已拒收',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
);
-- 插入测试数据
INSERT INTO express (express_no, receiver_name, receiver_phone, receiver_address, sender_name, sender_phone, weight, status) VALUES
('SF1234567890', '张三', '13800138000', '北京市朝阳区某某街道123号', '李四', '13900139000', 2.5, '待取件'),
('YTO9876543210', '王五', '13700137000', '上海市浦东新区某某路456号', '赵六', '13600136000', 1.8, '运输中');编辑 src/main/resources/db.properties 文件,修改数据库用户名和密码:
# MySQL数据库配置
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/express_db?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&allowPublicKeyRetrieval=true&useLegacyDatetimeCode=true
username=root # 修改为你的 MySQL 用户名
password=你的密码 # 修改为你的 MySQL 密码mvn clean compilemvn tomcat7:run启动成功后,访问:http://localhost:9090/
- 下载并安装 Tomcat 7+
- 打包项目:
mvn clean package
- 将
target/ExpressManagement-1.0-SNAPSHOT.war复制到 Tomcat 的webapps目录 - 重命名 WAR 包为
ExpressManagement.war - 启动 Tomcat,访问:http://localhost:8080/ExpressManagement/
- 默认管理员账号:
admin - 默认密码:
123456
- 查看快递列表:登录后自动跳转到列表页
- 添加快递:点击"添加快递"按钮,填写表单提交
- 编辑快递:点击快递行的"编辑"按钮
- 删除快递:点击快递行的"删除"按钮
- 搜索快递:在搜索框输入单号或收件人姓名
ExpressManagement/
├── src/main/
│ ├── java/com/express/ # Java 源代码
│ │ ├── dao/ # 数据访问层
│ │ ├── filter/ # 过滤器
│ │ ├── model/ # 实体类
│ │ ├── service/ # 业务逻辑层
│ │ ├── servlet/ # Servlet 控制层
│ │ └── util/ # 工具类
│ ├── resources/ # 资源文件
│ │ └── db.properties # 数据库配置
│ └── webapp/ # Web 应用目录
│ ├── css/ # 样式文件
│ ├── js/ # JavaScript 文件
│ ├── *.jsp # 页面文件
│ └── WEB-INF/ # Web 配置
├── pom.xml # Maven 配置
└── README.md # 项目说明
修改端口:编辑 pom.xml,找到 <port>9090</port> 修改为其他端口。
- 检查 MySQL 服务是否启动
- 确认
db.properties中的用户名密码正确 - 检查数据库名称
express_db是否已创建
确保数据库、表、连接 URL 都使用了 UTF-8 编码。
建议配置阿里云 Maven 镜像,编辑 ~/.m2/settings.xml:
<mirrors>
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Aliyun Maven Mirror</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>- 仓库地址: https://gitee.com/haobinjun/express-management
- 开源协议: MIT License
- 初始版本发布
- 完成快递管理基础功能
- 修复 BaseDao 反射处理静态字段的问题