1. 项目背景与核心需求
"多鱼"旧物交易平台的设计源于当前二手交易市场的几个痛点问题。作为一名长期关注电商系统开发的从业者,我观察到传统线下旧物交易存在信息不对称、交易效率低下、缺乏信任机制等问题。特别是在校园环境中,每年毕业季大量有价值的物品被随意丢弃,而新生又需要重复购买同类物品,这种资源浪费现象令人痛心。
这个JSP项目的核心目标是构建一个安全、高效的校园二手交易平台,主要解决以下问题:
- 信息孤岛问题:通过集中展示商品信息,打破买卖双方的信息壁垒
- 交易信任问题:采用实名认证+校园邮箱验证的双重机制
- 操作便捷性:优化移动端交互体验,支持扫码快速发布商品
- 系统扩展性:采用模块化设计应对未来功能迭代
提示:在校园场景设计中要特别注意数据安全,建议采用学号加密存储而非明文保存,这是很多同类系统容易忽视的安全细节。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型与架构设计
2.1 技术栈决策过程
选择SSM(Spring+SpringMVC+MyBatis)框架组合基于以下考量:
- Spring:提供完善的IoC容器和事务管理,特别是声明式事务对支付流程至关重要
- SpringMVC:RESTful风格API更适应前后端分离趋势
- MyBatis:相比Hibernate更灵活,方便优化复杂查询(如商品多条件筛选)
数据库选用MySQL 5.7而非更新的8.0版本,主要考虑:
- 校园服务器环境多为CentOS 7,对MySQL 8支持不够完善
- 5.7版本在中小型系统性能足够且更稳定
- 配套的监控工具更成熟(如Percona Toolkit)
2.2 系统架构详解
采用经典的三层B/S架构:
code复制表示层(JSP)
↓
业务逻辑层(Spring)
↓
数据访问层(MyBatis)
关键设计决策:
- 会话管理:采用Redis存储Session,解决集群环境会话同步问题
- 文件存储:七牛云OSS对象存储替代本地存储,解决图片加载慢的问题
- 安全控制:
- 密码加密:BCrypt+盐值加密
- XSS防护:自定义标签过滤敏感字符
- CSRF防护:Spring Security默认机制
3. 核心功能模块实现
3.1 用户系统设计
采用RBAC(基于角色的访问控制)模型,定义两类角色:
| 权限项 | 管理员 | 普通用户 |
|---|---|---|
| 商品管理 | ✓ | ✓(自有) |
| 用户管理 | ✓ | ✗ |
| 留言审核 | ✓ | ✗ |
| 数据统计 | ✓ | ✗ |
