Spring MVC的完整执行流程和常用组件有哪些

蜗牛 互联网技术资讯 2022-06-10 24 0

这篇文章主要介绍“Spring MVC的完整执行流程和常用组件有哪些”,在日常操作中,相信很多人在Spring MVC的完整执行流程和常用组件有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring MVC的完整执行流程和常用组件有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.Spring MVC执行流程

Spring MVC的完整执行流程和常用组件有哪些  springmvc 第1张

Spring MVC的完整执行流程如下:

  1. 客户端发送请求给DispatcherServlet前端控制器

  2. DispatcherServlet根据请求调用HandlerMapping处理器映射器

  3. HandlerMapping解析请求对应的Handler,返回一个执行链

  4. DispatcherServlet将执行链返回的Handler信息发给HandlerAdapter处理器适配器

  5. HandlerAdapter会调用对应的Handler处理器(即Controller)

  6. Handler执行完成后,会返回一个ModelAndView对象给HandlerAdapter

  7. HandlerAdapter将接收到的ModelAndView对象返回给DispatcherServlet

  8. DispatcherServlet根据ModelAndView对象选择合适的ViewResolver视图解析器

  9. ViewResolver根据逻辑View返回实际的view给DispatcherServlet

  10. DispatcherServlet对View进行渲染

  11. 将视图渲染结果返回给浏览器(客户端)

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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论