jsp实际上是servlet里的东西 属于网页服务器的内容 而不是客户端内容 因为jsp最后也是转为java然后转为class类
ModelAndView处理模型数据:需要将请求处理方法的返回值声明为ModelAndView类型
添加到ModelAndView中的模型数据 最终会被设置到Request域对象中
ModelAndView源码流程大概图(实际很复杂)
使用Map处理模型数据:需要在请求处理方法的形参中声明一个Map类型的i形参
结论:不论请求处理方法的返回值是string ModelAndView。。。springmvc最终都会处理成一个ModelAndView对象
使用Model处理模型数据:需要在请求处理方法的形参中声明一个Model类型的形参
view:视图信息的作用:负责处理模型数据 以及以后的转发和重定向工作
model:模型数据
组合到一起即为上面的ModelAndView
拦截器和过滤器不一样 过滤器(filter)是在浏览器发送请求到服务器的过程中过滤 而拦截器是服务器到各个handler的过程之中进行拦截
自定义拦截器
1.实现HandlerInterceptor接口
2.继承HandlerInterceptorAdapter适配器类
拦截器的配置
1.拦截所有请求的配法
2.拦截指定请求 或者是排除指定请求的配法
拦截器中三个方法的执行顺序以及执行时机
1.preHandle2.postHandler3.afterCompletion
多个拦截器的执行顺序:
拦截器的顺序室友配置顺序决定的 先配置的先执行
当拦截器的preHandle方法会犯false时
1.如果第一个拦截器的preHandle返回false,则后续的所有处理都不在执行
2.如果不是第一个拦截器的preHandle返回false 则前面的拦截器的afterCompletion方法会执行
不管请求处理方法有没有抛出异常 springmvc最终都会获取到一个ModelAndView对象