二手交易平台
- 技术栈:Java 17 + Servlet/JSP (Jakarta EE 10) + MyBatis + MySQL + Bootstrap
- 容器:Tomcat 10.1.x
- 架构:典型 MVC(Servlet 控制层 + JSP 视图层 + MyBatis 持久层)
主要功能:
- 用户注册 / 登录(密码使用 BCrypt 加密存储)
- 发布二手物品(标题、简介、价格、图片,其中标题和价格必填)
- 模糊搜索物品(按标题/简介)
- 物品查看、编辑、删除(仅发布者本人可操作)
com.example.market.filter.AuthFilter:登录权限过滤器com.example.market.model:实体类User、Itemcom.example.market.mapper:MyBatis Mapper 接口及 XMLcom.example.market.servlet:各功能 ServletItemListServlet:列表与首页ItemCreateServlet:发布物品ItemEditServlet:编辑物品ItemDeleteServlet:删除物品ItemViewServlet:详情页SearchServlet:搜索LoginServlet/RegisterServlet/LogoutServlet:用户相关
src/main/webapp/WEB-INF/views:JSP 页面(列表、发布、编辑、登录、注册、详情)
CREATE TABLE users (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
password_hash VARCHAR(100) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE items (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
owner_id BIGINT NOT NULL,
title VARCHAR(200) NOT NULL,
description TEXT,
price DECIMAL(10,2) NOT NULL,
image_path VARCHAR(255),
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT fk_items_owner FOREIGN KEY (owner_id)
REFERENCES users(id)
ON DELETE CASCADE
);