Spring MVC的完整执行流程和常用组件有哪些
这篇文章主要介绍“Spring MVC的完整执行流程和常用组件有哪些”,在日常操作中,相信很多人在Spring MVC的完整执行流程和常用组件有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring MVC的完整执行流程和常用组件有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1.Spring MVC执行流程
Spring MVC的完整执行流程如下:
客户端发送请求给DispatcherServlet前端控制器
DispatcherServlet根据请求调用HandlerMapping处理器映射器
HandlerMapping解析请求对应的Handler,返回一个执行链
DispatcherServlet将执行链返回的Handler信息发给HandlerAdapter处理器适配器
HandlerAdapter会调用对应的Handler处理器(即Controller)
Handler执行完成后,会返回一个ModelAndView对象给HandlerAdapter
HandlerAdapter将接收到的ModelAndView对象返回给DispatcherServlet
DispatcherServlet根据ModelAndView对象选择合适的ViewResolver视图解析器
ViewResolver根据逻辑View返回实际的view给DispatcherServlet
DispatcherServlet对View进行渲染
将视图渲染结果返回给浏览器(客户端)
2.Spring MVC常用组件
2.1 DispatcherServlet
前端控制器。⽤户请求到达前端控制器,它就相当于MVC模式中的C,DispatcherServlet是整个流程控制的中⼼,由它调⽤其它组件处理⽤户的请求,DispatcherServlet的存在降低了组件之间的耦合性,系统扩展性提⾼。
<!-- SpringMVC的前端控制器--> <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--初始化时加载配置文件--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-config.xml</param-value> </init-param> <!--表示容器在启动时立即加载Servlet--> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
2.2 HandlerMapping
HandlerMapping,处理器映射器。根据⽤户的请求地址来找到对应的Handler即控制器,spring mvc提供了不同的映射器实现不同的映射⽅式,分别有:
xml配置⽅式
实现接⼝⽅式
注解⽅式
2.3 HandlAdapter
HandlAdapter,处理器适配器。按照特定的规则去执行Handler,通过HandlerAdapter执行处理器。
2.4 Handler
Handler,处理器。Handler 是DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的⽤户请求进⾏处理。由于Handler涉及到具体的⽤户业务请求,所以⼀般情况需要程序员根据业务需求开发Handler。也就是我们常说的控制器类和方法。
//标识此类为控制器类 @Controller public class JspController { @RequestMapping("/index") public String firstController(){ //返回视图名称 return "success"; } }
2.5 ViewResolver
ViewResolver,视图解析器。ViewResolver负责将处理结果⽣成View视图,ViewResolver⾸先根据逻辑视图名解析成物理视图名即具体的页⾯地址,再⽣成View视图对象,最后对View进⾏渲染将处理结果通过页⾯展⽰给⽤户。
<!--默认的内置视图解析器--> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--视图前缀--> <property name="prefix" value="/WEB-INF/jsp/"/> <!--视图后缀--> <property name="suffix" value=".jsp"/> </bean>
到此,关于“Spring MVC的完整执行流程和常用组件有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注蜗牛博客网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论