10-17 SpringMVC
一、SpringMVC概念
SpringMVC是spring框架的一个web组件,是三层架构中的表现层框架,他使用MVC架构模式的思想,将web层进行职责解耦,基于请求-响应模型,是一种基于java实现的轻量级web框架,目的是简化开发。
二、MVC架构模式
MVC架构模式将处理用户请求按照职责划分成为三部分:控制器(controller)、模型(model)、和视图(view)。
三、springMVC的主要特点
1. 天生与Spring框架集成
2. 提供强大的约定大于配置的契约式编程支持
3. 支持参数绑定、数据转换和数据校验
4. 支持AJAX
5. 支持Session状态管理
6. 支持灵活的URL到页面控制的映射
7. 支持静态资源
8. 支持拦截器
9. 支持文件上传
10. 支持Restful架构风格(前后端分离)
四、SpringMVC拦截器
拦截器特性类似于过滤器,用于页面控制器/处理器进行的预处理和后处
4.1SpringMVC拦截器特性
1.日志记录
记录请求信息的日志,以便进行信息监控、信息统计以及页面浏览次数
2.权限检查
检测登入权限,如果没有登录直接返回到登入或注册页面
3.性能监控
可以通过拦截器在进入页面控制器之前记录开始时间,在处理完记录结束时间,从而得到该请求的处理时长
4.加/解密码
可以通过拦截器对密码进行加/解密
五、Session状态管理原理
客户端第一次发HTTP请求,web服务器会判断请求中是否有Session ID,如果没有就会创建Session对象并生成唯一Session ID,第一次响应会携带Session ID返回客户端,客户端获取Session ID将其存放在Cookie(缓存)中。
当客户端第二次发送HTTP请求就会携带Session ID,服务器获取会取出 session id,然后从服务器管理 session 对象的 map 集合里查找 session 对象;这样两次请求/响应共享同一个 session 对象,也就是所谓的一次 session 会话
Session对象无操作时,默认30分钟自动注销。