前言
SSM框架(spring+springMVC+mybatis),是目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。 该SSM整合开发项目,前后花了十几天完成,一路入坑不断,差点从入坑到放弃,最后总算成功完成了。面对各种bug,心态很重要,要有毅力,跟bug刚着刚着就解决了。下面是该项目的介绍,希望大家多多支持,如有不妥之处,望大家斧正。
主要功能
功能具体实现见项目源代码
- 防盗链功能(通过过滤器拦截请求实现)
- 用户登录、注册(登录、注册表单校验)
- 用户个人信息管理(个人中心,可以修改个人信息,查看所有评论,删除评论)
- 对商品进行模糊查询
- 对商品进行了简单的分类,可以通过左侧导航条获取分类商品数据。
- 管理员对商品进行增删改查操作
- 用户对商品进行评论以及查看商品所有评论
- 用户回复评论、查看评论的所有回复。
开发环境
软件 | 版本 |
---|---|
JDK | 1.8 |
Tomcat | 8.5.55 |
开发工具 | Eclipse 4.6.3 |
数据库 | MySQL |
数据库设计
- E-R图
- 各表介绍
user表:存放用户信息,userRole用户角色(分为管理员和普通用户),userImage用户头像。
product表:存放商品信息。
message表:存放对商品的评论信息。
revert表:存放评论的回复信息。 - 数据库创建脚本
create table product(
productID int(8) auto_increment comment '商品ID' primary key,
productName varchar(20) comment '名称',
productBrand varchar(20) comment '品牌',
productModel varchar(20) comment '型号',
productPrice decimal(10,2) comment '价格',
productImage varchar(30) comment '图片',
productDes varchar(100) comment '商品描述'
);
create table message(
messageID int(8) auto_increment comment '留言ID' primary key,
messageContent varchar(300) comment '内容',
writeDate DateTime comment '发布时间',
count int comment '回复数' ,
productID int(8) comment '商品ID' ,
userID char(10) comment '留言人'
);
create table revert(
revertID int(8) auo_increment comment '回复ID' primary key,
revertContent varchar(300) comment '内容',
writeDate datetime comment '发布时间',
messageID int(8) comment '留言ID',
uesrID char(10) comment '留言人'
);
create table user(
userID char(10) comment '用户ID' primary key,
userName char(50) comment '用户名',
userPassword char(10) comment '密码',
userImage varchar(50) comment '头像',
userRole int(8) comment '用户角色'
);
项目架构
- 持久层:该层由若干持久化类(实体类)组成。
- 数据访问层(DAO层):该层由若干DAO接口和MyBatis映射文件组成。
- 业务逻辑层(Service层):该层由若干Service接口和实现类(Impl)组成;
- Web表现层:该层主要包括Spring MVC中的Controller类和JSP页面。
- Controller的实现类的任务:接收请求,接收参数,验证参数,处理请求封装参数,调 用业务方法,返回处理结果数据。
层次结构图
项目技术介绍
- 逆向工程:根据数据库中的表生成对应的实体类,mapper映射文件,接口。
- 文件上传:商品图片、用户头像上传至服务器。sringMVC文件上传
- Mybatis PageHelp插件:处理商品、评论、回复的分页。
- JQuery:事件处理,发送Ajax请求动态获取数据、完成表单的校验等。
- Bootstrap:使用bootstrap框架快速完成前端的开发。
运行效果展示
登录界面(通过发送Ajax请求实现用户ID和密码的校验)
注册界面(对用户ID是否可以用、用户名是否为空、密码是否为空进行校验)
商品首页(点击左侧导航条可获取商品分类数据,通过搜索框模糊查询商品)
商品详情界面(用户可以查看商品的评论、发表评论,也可以通过搜索框查询商品)
评论详情界面(可以查看评论的所有回复,也可以回答评论)
个人中心界面(可以查看和删除评论、修改个人信息、回到首页、退出等)
管理员界面(对商品进行增删改查操作)
管理员修改、添加商品(使用bootstrap模态框完成)
配置文件
- 防盗链功能(web.xml)
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>jmu.hkx.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- 文件上传(springMVC.xml)
<!--配置文件解析器,处理文件,将客户端上传的File文件,处理为MultipartFile-->
<bean id ="multipartResolver" clas