SSM框架搭建JavaWeb管理系统-Version2

LifeCat系列Javaweb学习项目(二)


GitHub源码(可运行):https://github.com/kevinten10/SSM-lifecat

引言

LifeCat是一个Javaweb的项目,它的设计目标是智能化的儿童成长相册记录系统。主要业务有用户模块的管理,图像上传与图像展示,朋友圈动态的发表,使用机器学习的图像分类与图像管理等。

现阶段由五部分组成,基于STM32开发板的实体电子相册,配套的Android相册应用,以及主要部分Javaweb。

其中核心部分Javaweb分为三个模块:
1、version1为web服务网站的初级版本,使用基本的jsp+servlet+mysql搭建,前端使用基本的html+css+js组成,同时jsp中使用了JSTL标签,采用了bootstrap的样式库以及jquery库,实现了登录注册逻辑的处理,数据表的CRUD基本操作以及图片上传展示等基本功能。
访问文章:

2、version2为web服务网站对应的后台管理系统,后端使用了SSM(spring+springmvc+mybatis)框架,MySQL数据库结构和version1相同。前端对version1的jsp页面进行了改进,抛弃了jsp而全部使用html,使用js+jquery实现前端操作。html使用了组件化的理念,通过js动态的进行tap切换。同时使用Ajax发送请求。
访问文章:

3、version3为新版的web服务网站,在version1及version2的数据库结构上进行了改进,加入了如权限、评论等新模块,采用了前后端分离的理念,后端采用springboot搭建,同时采用了maven多模块化开发,项目进行了清晰的分层。前端采用vuejs搭建,实现了更美观的界面设计。
访问文章:

本文为version2 SSM后台管理系统:

一、展示

1、网站前端页面展示

使用HTML+CSS(bootstrap)+js(jquery)+layer弹窗库搭建

用户管理模块-数据表的增删改查

主页面-通过tap进行面板的切换

图像管理模块-数据的增删改查

2、项目目录结构

使用maven管理项目结构,Java下为Java程序,resources存放资源文件,webapp存放前端资源文件

项目目录结构

二、项目分析

使用了《阿里巴巴Java开发手册》中的项目架构,进行了应用分层的处理,同时也加入了一些额外的中间件,如消息服务JMS,AOP切面操作等

项目架构

1、Java目录分析

Java目录

  • aspect
AOP切面,未完成
  • controller
springmvc控制器模块,主要类型 1.视图控制器 2.资源控制器 3.异常处理控制器
  • dto
data transport object 数据传输对象
  • email
Java email 服务
  • exception
自定义异常 可抛出到异常处理控制器进行统一处理
  • entity
实体类 和数据表一一对应
  • image
图片文件传输工具,未完成
  • jms
基于activemq的消息服务,结合email实现邮件发送
  • mapper
mybatis数据映射接口
  • service
服务层,调用mapper处理业务逻辑
  • shiro
使用shiro安全框架进行权限认证
  • util
工具类
  • wx
微信移动端接口,未实现

2、resources目录分析

ssm框架资源配置文件

mapper

mybatis的xml映射文件,与接口中方法一一对应,实现dao层操作

spring: (在web.xml中配置以下xml实现加载)

  • spring-config
spring容器应用上下文配置,通过<bean>以及spring标签配置spring中的组件
  • spring-mvc
springmvc上下文配置,通过<bean>以及spring标签配置springmvc中的组件

jdbc.properties​jdbc.properties

数据库配置文件

log4j.properties​log4j.properties

slf4j的log4j日志配置文件

mail.properties​mail.properties

mail邮件服务的配置文件

3、webapp前端目录

前端设计

css

  • bootstrap
bootstrap库文件
  • mycss
自定义css样式

images

图片

js

  • bootstrap
bootstrap库文件
  • jquery
jquery库文件
  • layer
layer弹窗库文件
  • myjs
自定义js文件(基本上一个html文件对应一个js文件)

view

  • home-tap
tap选项卡,对应页面的右侧显示部分,通过切换实现内容变换
  • popup
layer弹窗界面,实现如增删改查等表单的操作

WEB-INF

web.xml进行配置

三、一些使用到的知识点或者技巧

1、前后端的数据交互格式为JSON

2、使用@RestController代替@Controller,实现Restful的接口设计,用以传输JSON数据

3、使用@ControllerAdvice用以异常处理控制器,可以捕获包中抛出的异常,作为一个同一的异常处理机制

4、util中实现了检查类,能够通过import static的方法在controller和service导入静态方法,进行参数检查,抛出自定义的异常,从而被异常处理器捕获,能够使方法结构更加清晰

5、使用dto.ResponseResult对象统一返回结果,其包含状态码,响应信息,响应对象三个字段,能够应对所有的不论正确还是错误的返回结果

注意事项:使用了activemq,必须要启动activemq之后才能进行项目的部署,若不需使用activemq,可以将相关部分(jms包,spring-config配置中相关部分)删除,不然启动项目后会等待activemq的启动

注意事项:需配置jdbc.properties的相关数据库配置,生成数据库数据表以及数据的SQL已经通过Navicat导出了SQL语句,找到init.sql,复制然后执行即可创建一样的数据库。

注意事项:请检查pom.xml无出错

注意事项:需要在html中检查包的导入路径,因为部分包采用了在线URL,需要下载才能使用,以及我采用了绝对路径的方式导入如css js等文件,需要更改为自己的项目名(我的项目名为ssm)

四、项目源码(可运行)

项目中标注了大量的注解,其实是比较容易读的,基本都覆盖了,若出错则认真查看日志,找到相关内容修改即可

GitHub:kevinten10/SSM-lifecat

相应的version1项目:
文章:
GitHub: kevinten10/lifecatweb

相应的version3项目:
文章:
GitHub: kevinten10/springboot-lifecat

编辑于 12:31

猜你喜欢

转载自blog.csdn.net/wsh596823919/article/details/81385490
今日推荐