1.SpringMVC概述SpringMVC是Spring提供的一个强大而灵活的Web框架。借助注解,SpringMVC提供了一种近乎POJO的开发模式,使得控制器的开发和测试变得更加容易。这些controller一般不会直接处理请求,而是委托给Spring上下文中的其他bean,通过Spring的依赖前端训练注入功能将这些bean注入到controller中。SpringMVC主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。他的两个核心是两个核心:处理器映射:选择使用哪个控制器来处理请求视图解析器:选择结果应该如何呈现通过以上两点,SpringMVC保证了如何选择控件来处理请求以及如何处理请求。选择视图以显示输出之间的松散耦合。2.SpringMVC运行原理(1)Http请求:客户端请求提交给DispatcherServlet。(2)寻找处理器:DispatcherServlet控制器查询一个或多个HandlerMappings,寻找处理请求的Controller。(3)调用处理器:DispatcherServlet向Controller提交请求。(4)(5)调用业务处理并返回结果:Controller调用业务逻辑处理后,返回给ModelAndView。(6)(7)处理视图映射并返回模型:DispatcherServlet查询一个或多个ViewResoler视图解析器以找到ModelAndView指定的视图。(8)Http响应:视图负责将结果显示给客户端。3.SpringMVC接口解释(1)DispatcherServlet接口:Spring提供的前端控制器,通过它统一分发所有的请求。DispatcherServlet在将请求分发给SpringController之前,需要借助Spring提供的HandlerMapping定位到具体的Controller。(2)HandlerMapping接口:完成客户请求到Controller的映射。(3)Controller接口:以上请求需要为并发用户处理,所以在实现Controller接口时,必须保证线程安全和复用性。Controller会处理用户的请求,这与StrutsAction扮演的角色是一致的。一旦Controller处理完用户请求,它就返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含模型(Model)和视图(View)。从宏观上看,DispatcherServlet是整个Web应用的控制器;从微观上看,Controller是单个Http请求处理过程中的控制器,ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。(4)ViewResolver接口:Spring提供的视图解析器(ViewResolver)在Web应用程序中查找View对象,并将相应的结果呈现给客户端。4、DispatcherServlet:是整个SpringMVC的核心。它负责接收HTTP请求,组织协调SpringMVC的各个组件。其主要工作有以下三项:(1)拦截符合特定格式的URL请求。(2)初始化DispatcherServlet上下文对应的WebApplicationContext,并将其关联到业务层和持久层的WebApplicationContext。(3)初始化SpringMVC的各个组件,组装成DispatcherServlet。SpringMVC配置工程整体结构如下:(1)在web.xml文件中配置,在配置中设置springmvc-context.xml的路径,同时配置一个DispatcherServlet,代码如下:
