使用Spring+MyBatis+Servlet开发人员信息管理系统

源码:https://github.com/striverlzy/PersonInformation

本项目是基于Spring+MyBatis+Servlet整合开发的人员信息管理系统。主要实现的功能是部门与员工信息的增删改查以及日志处理(登录日志、系统日志、操作日志)。下面是对系统架构以及一些实现步骤介绍。

系统架构介绍

三层架构

  • 持久层--MyBatis
  • 表现层--Servlet+JSP
  • Spring--管理对象、切面处理

基于MVC模式

 

  • 视图--JSP
  • 模型--JavaBean
  • 控制器--Servlet+JavaBean 

使用Spring+MyBatis+Servlet开发人员信息管理系统

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容器管理

 使用Spring+MyBatis+Servlet开发人员信息管理系统

 核心控制器工作原理:当用户向Web容器发生请求的时候,Web容器把这些请求全部交给核心控制器,核心控制器会根据请求的路径来判断该由哪个控制器来处理。因此,核心控制器首先要做的就是解析url,在Bean找到控制器对应的名字,判断处理这次请求是这个对象的哪个方法。

具体页面实现:

员工管理页面

使用Spring+MyBatis+Servlet开发人员信息管理系统 员工添加:

使用Spring+MyBatis+Servlet开发人员信息管理系统

部门管理 

使用Spring+MyBatis+Servlet开发人员信息管理系统 部门添加:

使用Spring+MyBatis+Servlet开发人员信息管理系统

 日志信息

操作日志:使用Spring+MyBatis+Servlet开发人员信息管理系统 登录日志:

使用Spring+MyBatis+Servlet开发人员信息管理系统

个人信息 

使用Spring+MyBatis+Servlet开发人员信息管理系统 修改密码:

使用Spring+MyBatis+Servlet开发人员信息管理系统