Java理论-SpringMVC

什么是SpringMVC框架

Spring 配备构建Web 应用的全功能MVC框架。Spring可以很便捷地和其他MVC框架集成,如Struts,Spring的MVC框架用控制反转把业务对象和控制逻辑清晰地隔离。它也允许以声明的方式把请求参数和业务对象绑定。
Spring MVC是一个基于MVC的Web框架,是Spring框架的一个模块。Spring MVC和Spring无需通过中间整合层进行整合。

SpringMVC 的执行流程

  1. 将所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求进行真正的处理工作。
  2. DispatcherServlet查询一个或多个HandlerMapping,找到对应处理请求的Controller。
  3. DispatcherServlet将请求提交到目标Controller。
  4. Controller进行业务逻辑处理后,会返回一个ModelAndView。
  5. DispatcherServlet查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象。
  6. 视图对象负责渲染返回给客户端。

SpringMVC 怎么和 Ajax 相互调用的

通过Jackson框架就可以把Java里面的对象直接转化成Js可以识别的Json对象。
具体步骤如下:

  1. 加入Jackson.jar。
  2. 在配置文件中配置json的映射。
  3. 在接受Ajax方法里面可以直接返回Object,List等,但方法前面要加上@ResponseBody注解。

Spring MVC 的拦截器写法

有两种写法,一种是实现接口,另外一种是继承适配器类,然后在Spring MVC的配置文件中配置拦截器即可。
定义拦截器,实现HandlerInterceptor接口。接口中提供三个方法。

  1. preHandle:进入 Handler方法之前执行,用于身份认证、身份授权,比如身份认证,如果认证通过表示当前用户没有登陆,需要此方法拦截不再向下执行
  2. postHandle:进入Handler方法之后,返回modelAndView之前执行,应用场景从modelAndView出发:将公用的模型数据(比如菜单导航)在这里传到视图,也可以在这里统一指定视图。
  3. afterCompletion:执行Handler完成执行此方法,应用场景:统一异常处理,统一日志处理。
原文地址:https://www.cnblogs.com/mihuk/p/13296163.html