# ExpressManagement
**Repository Path**: haobinjun/express-management
## Basic Information
- **Project Name**: ExpressManagement
- **Description**: 第二个快递管理系统
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-01-21
- **Last Updated**: 2026-01-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 快递管理系统
基于 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 | - |
### 工具说明
1. **JDK (Java Development Kit)**
- Java 开发必备工具包
- 安装后需要配置 `JAVA_HOME` 环境变量
- 验证安装:命令行输入 `java -version` 和 `javac -version`
2. **Maven**
- Java 项目构建和依赖管理工具
- 安装后需要配置 `MAVEN_HOME` 环境变量
- 验证安装:命令行输入 `mvn -v`
3. **MySQL**
- 数据库服务器
- 需要创建数据库并导入表结构
- 推荐安装 MySQL Workbench 进行可视化管理
## 安装配置步骤
### 1. 克隆项目
```bash
git clone https://gitee.com/haobinjun/express-management.git
cd express-management
```
### 2. 配置数据库
#### 2.1 创建数据库
登录 MySQL,执行以下命令:
```sql
CREATE DATABASE express_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
#### 2.2 创建数据表
```sql
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, '运输中');
```
### 3. 修改数据库配置
编辑 `src/main/resources/db.properties` 文件,修改数据库用户名和密码:
```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 密码
```
### 4. 编译项目
```bash
mvn clean compile
```
### 5. 启动项目
#### 方式一:使用 Maven Tomcat 插件(推荐)
```bash
mvn tomcat7:run
```
启动成功后,访问:http://localhost:9090/
#### 方式二:部署到本地 Tomcat
1. 下载并安装 [Tomcat 7+](https://tomcat.apache.org/download-70.cgi)
2. 打包项目:
```bash
mvn clean package
```
3. 将 `target/ExpressManagement-1.0-SNAPSHOT.war` 复制到 Tomcat 的 `webapps` 目录
4. 重命名 WAR 包为 `ExpressManagement.war`
5. 启动 Tomcat,访问:http://localhost:8080/ExpressManagement/
## 使用说明
### 登录系统
- 默认管理员账号:`admin`
- 默认密码:`123456`
### 主要功能
1. **查看快递列表**:登录后自动跳转到列表页
2. **添加快递**:点击"添加快递"按钮,填写表单提交
3. **编辑快递**:点击快递行的"编辑"按钮
4. **删除快递**:点击快递行的"删除"按钮
5. **搜索快递**:在搜索框输入单号或收件人姓名
## 目录结构
```
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 # 项目说明
```
## 常见问题
### Q1: 启动时提示端口被占用
修改端口:编辑 `pom.xml`,找到 `9090` 修改为其他端口。
### Q2: 数据库连接失败
- 检查 MySQL 服务是否启动
- 确认 `db.properties` 中的用户名密码正确
- 检查数据库名称 `express_db` 是否已创建
### Q3: 页面显示乱码
确保数据库、表、连接 URL 都使用了 UTF-8 编码。
### Q4: Maven 依赖下载缓慢
建议配置阿里云 Maven 镜像,编辑 `~/.m2/settings.xml`:
```xml
aliyun
central
Aliyun Maven Mirror
https://maven.aliyun.com/repository/public
```
## 开发者信息
- 仓库地址: https://gitee.com/haobinjun/express-management
- 开源协议: MIT License
## 更新日志
### v1.0.0 (2026-01-21)
- 初始版本发布
- 完成快递管理基础功能
- 修复 BaseDao 反射处理静态字段的问题