Skip to content

zitagiuder/USST-JavaWeb-zy6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

二手商品交易平台 - 系统说明文档

1. 系统结构设计

本系统采用经典的 MVC (Model-View-Controller) 设计模式,旨在实现代码的解耦和可维护性。

  • Model (模型): 负责处理应用程序的数据和业务逻辑。

    • entity 包: 定义了核心的JavaBean对象(如 UserItem),用于在程序各层之间传输数据。
    • dao 包: 数据访问对象(Data Access Object),负责与数据库进行直接交互(增删改查等原子操作)。
    • service 包: 业务逻辑层,组合DAO层的原子操作,封装具体的业务流程(例如,一个“发布商品”的业务可能需要调用ItemDao的“新增”和UserDao的“查询”)。
  • View (视图): 负责展示数据,提供用户交互界面。

    • webapp 目录: 存放所有的JSP页面和静态资源。
      • *.jsp: 使用JSP和JSTL标签库动态渲染从Servlet获取的数据,构成用户看到的页面。
      • style.css: 全局CSS文件,统一所有页面的样式。
      • upload 目录: 存放用户上传的商品图片。
  • Controller (控制器): 作为模型和视图之间的协调者。

    • controller 包: 包含所有的Servlet。每个Servlet负责接收特定的HTTP请求,调用相应的Service处理业务逻辑,然后将处理结果(数据)转发给合适的JSP页面进行渲染。

文件结构说明

web_zy6
├── pom.xml             # Maven项目配置,定义依赖和构建规则
├── sql/
│   └── init.sql        # 数据库初始化脚本
└── src/
    └── main/
        ├── java/
        │   └── com/example/web_zy6/
        │       ├── controller/ # 控制器层 (Servlets)
        │       │   ├── ItemListServlet.java  # 列表展示与搜索
        │       │   ├── AddItemServlet.java   # 添加商品
        │       │   ├── EditItemServlet.java  # 编辑商品
        │       │   └── ...
        │       ├── dao/          # 数据访问层
        │       │   ├── ItemDao.java      # 商品DAO接口
        │       │   ├── ItemDaoImpl.java  # 商品DAO实现
        │       │   └── ...
        │       ├── entity/       # 模型层 (JavaBeans)
        │       │   ├── Item.java
        │       │   └── User.java
        │       ├── service/      # 业务逻辑层
        │       │   ├── ItemService.java
        │       │   └── UserService.java
        │       └── utils/        # 工具类
        │           ├── DBUtil.java       # 数据库连接工具
        │           └── MD5Util.java      # 密码加密工具
        └── webapp/             # 视图层
            ├── add.jsp         # 添加页面
            ├── edit.jsp        # 编辑页面
            ├── index.jsp       # 首页
            ├── login.jsp       # 登录页面
            ├── register.jsp    # 注册页面
            ├── style.css       # 全局样式表
            └── WEB-INF/
                └── web.xml     # Servlet映射配置

2. 数据库结构说明

系统使用MySQL数据库,包含两张核心表:usersitems

users

存储用户信息。

字段名 类型 约束 描述
userId INT 主键, 自增 用户唯一标识符
username VARCHAR(255) 非空, 唯一 用户名
password VARCHAR(255) 非空 加密后的密码

items

存储二手商品信息。

字段名 类型 约束 描述
itemId INT 主键, 自增 商品唯一标识符
name VARCHAR(255) 非空 商品名称
description TEXT 非空 商品描述
price DECIMAL(10,2) 非空 价格
imageUrl VARCHAR(255) 商品图片存储路径
userId INT 外键 发布者ID (关联users表)

关系: items 表中的 userId 字段是 usersuserId 字段的外键,表示一个商品由一个用户发布。

3. 使用方法

环境准备

  1. 数据库: 确保已安装MySQL数据库。
  2. IDE: 使用如IntelliJ IDEA等支持Maven的Java IDE。
  3. 服务器: 配置Tomcat服务器。

部署步骤

  1. 创建数据库: 在MySQL中创建一个数据库(例如 web_zy6)。
  2. 执行SQL脚本: 使用 sql/init.sql 文件在该数据库中创建 usersitems 表。
  3. 修改数据库连接: 打开 src/main/java/com/example/web_zy6/utils/DBUtil.java 文件,根据你的MySQL配置修改 URL, USER, 和 PASSWORD 三个静态字段。
  4. 构建项目: 使用Maven进行编译和打包(通常IDE会自动完成)。
  5. 部署运行: 将项目部署到Tomcat服务器上并启动。
  6. 访问: 在浏览器中访问 http://localhost:8080/你的项目部署名/ (例如 http://localhost:8080/web_zy6_war_exploded/)。

功能操作

  • 注册: 点击首页的 "Register" 链接,输入用户名和密码进行注册。
  • 登录: 点击首页的 "Login" 链接,使用已注册的账号登录。
  • 浏览商品: 首页默认显示所有商品。
  • 搜索商品: 在顶部的搜索框中输入关键词,点击“搜索”按钮进行模糊查询。
  • 发布商品: 登录后,点击 "添加二手商品" 按钮,填写信息并上传图片进行发布。
  • 修改/删除商品: 对于自己发布的商品,在商品列表的操作列会出现 "编辑" 和 "删除" 按钮,可进行相应操作。

4. 测试账号

由于密码是经过MD5加密存储的,无法直接在数据库中创建明文密码的用户。

请通过应用的注册功能自行创建测试账号。

例如,您可以:

  1. 启动项目。
  2. 访问注册页面 (register.jsp)。
  3. 注册一个用户,例如:
    • 用户名: testuser
    • 密码: 123456
  4. 使用该账号登录后,即可进行发布、修改、删除商品等所有功能的测试。
  5. 可以再注册一个账号(如 testuser2 / 123456)来测试“非本人发布的商品无法看到修改/删除按钮”的功能。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published