目录
基于ssm开发的图书管理员系统
1.绪论
1.1选题目的及意义
1.2系统概述
1. 3 MVC架构简要分析
2.总体设计
2.1 开发工具介绍
2.2功能需求
2.3数据库设计
3.页面展示
3.1总体关系
3.1.1项目整体采用MVC模式
3.2主页面模块登录url:localhost:8080/lams即可进入主页面模块
3.3登录和注册模块
3.3.1登陆页面
3.3.2注册页面
3.4书籍展示模块
3.5修改书籍模块
3.6增加书籍模块
3.7修改密码模块
3.8说明
1.绪论
1.1选题目的及意义
本项目开发的是一个图书管理员系统开发,该项目计划书提供一个系统开发的实施步骤。对项目中的需求分析,总体设计,详细设计等步骤都有详细的说明。实现管理人员对图书增删改查的管理。
1.2系统概述
本项目采用B/S架构模式:采用MVC三层架构模式,使用idea开发工具。选用MySQL作为后台数据库。主要实现管理员注册,登录,注销以及对图书的增加,删除,修改,查找,最初做这个系统的目的是为了方便图书馆管理人员,让他们不用再费心寻找书籍,而直接在电脑上进行动态的更改。
1. 3 MVC架构简要分析
Model层:连接数据库,控制业务操作,保存数据,修改数据,删除数据,查阅数据。(本项目采用jdbc数据库连接池【c3p0】)
eg: c3p0 自动化操作(自动的加载配置文件 并且设置到对象里面)
Controller层:主要实现技术:servlet 用于实现动态web的一种技术,在项目中,servlet有三个主要的作用:
-
接受用户的请求
-
交给业务层去做(返回数据)
-
试图跳转(通过转发和重定向实现)
View层:视图层 主要实现技术:jsp 本质上说jsp和servlet
都是实现动态web的一种技术,而且最后都会生成.class文件,这里不多赘述,以后我会在博客里说明。
那么jsp在视图层有两个主要的作用:
-
展示数据模型
-
提供用户操作
以下是对MVC架构的简要分析图,虽然简短,但较好理解。
2.总体设计
2.1 开发工具介绍
-
Intellij IDEA 2021.2.1
-
MySQL 5.7.19
-
Maven 3.8.4
-
Tomcat 9.0.56
-
html+css+js+Bootstrap+jquery
-
Spring+SpringMVC+Mybatis+javaweb+jsp+ajax+json
2.2功能需求
(1)登陆管理: 管理员可以通过输入用户名和密码进行登陆
(2)图书管理:管理员登陆后可以对书库中的书进行管理(crud)
(3)图书检索:管理员可以搜索书库中的书
(4)注销和注册管理:通过ajax和json实现前后端交互,可以动态刷新局部页面,效果图参考下面
(5) 修改密码:原理与上面相同,效果图参考下面
2.3数据库设计
设计两张表:用户表、书库书籍信息表。
3.页面展示
3.1总体关系
3.1.1项目整体采用MVC模式
3.2主页面模块
登录url:localhost:8080/lams即可进入主页面模块
页面中间的两个按钮一个可以去到我的博客找见本项目的源代码以及其他博客,另一个则可以去到书籍展示的页面,不过由于springmvc中设置了拦截器,所以要先登录才能进入。
3.3登录和注册模块
登陆系统模块:当用户进入系统时调用的模块。系统根据用户名和密码判断用户类型,跳转到该用户界面,可以选择注册或者返回主页面。
注册系统模块:当用户进入系统时调用的模块,填写相关信息注册(这里使用ajax)判断密码和邮箱的规范,以及查询名字是否存在重名现象在数据库中。
以下是参考图。
3.3.1登陆页面
3.3.2注册页面
由于ajax的存在,注册的时候一旦有那个信息不符合设置的规范,将会在输入框后报错,直至填写正确,才能提交注册。
email的规范这里我使用了正则表达式([a-zA-Z0-9]{6}@([a-z0-9A-Z]{2}|[a-z0-9A-Z]{3})\.\w{3})
3.4书籍展示模块
前端的展示使用bootstrap框架
3.5修改书籍模块
3.6增加书籍模块
3.7修改密码模块
这里同样使用ajax实现异步交互,会错误提示
3.8说明
在3.4的书籍展示中,如果点击Logout会注销用户,在程序的体现就是session被清除,需要重新登录,如果这时依然要访问书籍,由于我设置了另一个页面404,这时就会跳转到404页面,再由404跳转到登录界面,这一过程体现了拦截器的思想,本质上就是面向切面编程,源代码在以后的博客会展示出来。