使用Spring+MyBatis+Servlet开发人员信息管理系统
源码:https://github.com/striverlzy/PersonInformation
本项目是基于Spring+MyBatis+Servlet整合开发的人员信息管理系统。主要实现的功能是部门与员工信息的增删改查以及日志处理(登录日志、系统日志、操作日志)。下面是对系统架构以及一些实现步骤介绍。
系统架构介绍
三层架构
- 持久层--MyBatis
- 表现层--Servlet+JSP
- Spring--管理对象、切面处理
基于MVC模式
- 视图--JSP
- 模型--JavaBean
- 控制器--Servlet+JavaBean
PersonInformation
- 父moudle
- 全局定义与组织
pi_service
- 持久层、业务层
- MyBatis依赖、Spring依赖
pi_web
- 表现层
- servlet依赖
核心控制器模块介绍
本项目控制器主要有编码过滤器,核心控制器,登录拦截过滤器。
为什么要有核心控制器?
当用户向web容器发送一个请求的时候,web容器会根据用户请求的url判断是不是该由servlet处理,然后应该由
哪个serlvet处理,判断出来以后,它会构造servlet对象进行初始化,初始化后最后调用service方法对这次请求进行处理
也就是说servlet对象由web功能管理,而业务功能对象和持久化dao层对象通常情况是由IOC容器管理。IOC容器的思想:既然依赖另一个对象,这个对象应该自动帮你注入,但是servlet不在IOC容器里。这样就造成冲突。要解决这个问题
概括的说:Servlet对象由Web容器管理,Service对象由IOC容器管理
核心控制器工作原理:当用户向Web容器发生请求的时候,Web容器把这些请求全部交给核心控制器,核心控制器会根据请求的路径来判断该由哪个控制器来处理。因此,核心控制器首先要做的就是解析url,在Bean找到控制器对应的名字,判断处理这次请求是这个对象的哪个方法。
具体页面实现:
员工管理页面
员工添加:
部门管理
部门添加:
日志信息
操作日志: 登录日志:
个人信息
修改密码: