Skip to content

ALL2006/express-management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

快递管理系统

基于 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 -versionjavac -version
  2. Maven

    • Java 项目构建和依赖管理工具
    • 安装后需要配置 MAVEN_HOME 环境变量
    • 验证安装:命令行输入 mvn -v
  3. MySQL

    • 数据库服务器
    • 需要创建数据库并导入表结构
    • 推荐安装 MySQL Workbench 进行可视化管理

安装配置步骤

1. 克隆项目

git clone https://gitee.com/haobinjun/express-management.git
cd express-management

2. 配置数据库

2.1 创建数据库

登录 MySQL,执行以下命令:

CREATE DATABASE express_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

2.2 创建数据表

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 文件,修改数据库用户名和密码:

# 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. 编译项目

mvn clean compile

5. 启动项目

方式一:使用 Maven Tomcat 插件(推荐)

mvn tomcat7:run

启动成功后,访问:http://localhost:9090/

方式二:部署到本地 Tomcat

  1. 下载并安装 Tomcat 7+
  2. 打包项目:
    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,找到 <port>9090</port> 修改为其他端口。

Q2: 数据库连接失败

  • 检查 MySQL 服务是否启动
  • 确认 db.properties 中的用户名密码正确
  • 检查数据库名称 express_db 是否已创建

Q3: 页面显示乱码

确保数据库、表、连接 URL 都使用了 UTF-8 编码。

Q4: Maven 依赖下载缓慢

建议配置阿里云 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>

开发者信息

更新日志

v1.0.0 (2026-01-21)

  • 初始版本发布
  • 完成快递管理基础功能
  • 修复 BaseDao 反射处理静态字段的问题

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors