【SSM – SpringMVC篇】02 – SpringMVC执行流程详解,SpringMVC三大核心组件和使用,SpringMVC头文件模板

【SSM – SpringMVC篇】02 – SpringMVC执行流程详解,SpringMVC三大核心组件和使用,SpringMVC头文件模板1.SpringMVC执行流1.1SpringMVC三大核心组件HandlerMapping处理器映射器:建立地址与方法的映射。HandlerMapping负责根据用户请求url找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。HandlerAdapter处理器适配器:根据地址调用方法。Handler是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet

大家好,又见面了,我是你们的朋友全栈君。

1. SpringMVC执行流程

1.1 SpringMVC三大核心组件

  1. HandlerMapping处理器映射器:建立地址与方法的映射。

HandlerMapping负责根据用户请求url找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。

  1. HandlerAdapter处理器适配器:根据地址调用方法。

Handler 是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。

  1. ViewResolver 视图解析器:处理ModelAndView数据和视图。

ViewResolver通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。

1.2 SpringMVC执行流程图

在这里插入图片描述

1.3 Spring执行流程具体步骤(参考图)

  1. 用户发送请求至前端控制器DispatcherServlet。
  2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。
  3. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
  4. DispatcherServlet通过HandlerAdapter处理器适配器调用处理器。
  5. 执行处理器(Controller层,也叫后端控制器)。
  6. Controller执行完成返回数据和视图(ModelAndView)。
  7. HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
  8. DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
  9. ViewReslover解析后返回具体的View视图(JSP / HTML)。
  10. DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
  11. DispatcherServlet响应用户,用户看到界面和数据。

1.4 总结流程

Spring MVC所有的请求都经过DispatcherServlet来统一分发。DispatcherServlet将请求分发给Controller之前,需要借助于Spring MVC提供的HandlerMapping定位到具体的Controller
HandlerMapping接口负责完成客户请求到Controller映射。
Controller接口将处理用户请求,这和Java Servlet扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView(数据和视图)对象给DispatcherServlet前端控制器。从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。
返回的视图需要通过ViewResolver接口(视图解析器)在Web应用中负责查找View对象,从从而将相应结果渲染给客户。

2. 创建SpringMVC的三大组件

  SpringMVC中默认提供的三大组件有可能过时,我们可以手动设置这三大组件,一般只需要设置ViewResolver 视图解析器,设置它的前缀prefix和后缀suffix

2.1 手动一个个的设置处理器映射器(不推荐)

<!--方式1:手动一个个设置 -->
  <!-- 处理器映射器 -->
  <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

  <!--处理器适配器-->
  <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

2.2 模型驱动配置处理器映射器和处理器适配器,配置视图解析器【***】

<!--方式2:配置处理器映射器和处理器适配器 -->
  <!-- 在选择mvc标签时,一定要选择最后的路径是/mvc的选项 -->
  <!-- 这行配置可以替换掉上边的两行配置(一步步设置) -->
  <mvc:annotation-driven/>

  <!-- 配置视图解析器 -->
  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<!-- 前缀和后缀 相当于 //WEB-INF/jsp/Xxx.jsp--><!--定义页面路径的前缀--><property name="prefix" value="/WEB-INF/jsp/"/><!--定义页面路径的后缀--><property name="suffix" value=".jsp"/>
  </bean>

2.3【注意】如果mvc标签无效,头文件模板。

<mvc:annotation-driven/>无效,可能是头文件不对,下面是一个参考。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:context="http://www.springframework.org/schema/context"  xmlns:mvc="http://www.springframework.org/schema/mvc"  xsi:schemaLocation="http://www.springframework.org/schema/beans ​ http://www.springframework.org/schema/beans/spring-beans.xsd ​ http://www.springframework.org/schema/context ​ http://www.springframework.org/schema/context/spring-context.xsd ​ http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154074.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • stimulsoft mvc html,asp.net mvc – stimulsoft report mvc kill session – Stack Overflow

    stimulsoft mvc html,asp.net mvc – stimulsoft report mvc kill session – Stack OverflowIusestimulssoftreportmvcforgeneratingareportinanasp.netwebsite.Thereportgeneratesfinein”local”butwhenthesiteisuploadedtoaserverandareportisgeneratedtheuser’ssessionh…

    2022年7月15日
    21
  • qt容器类_下面属于容器类的是

    qt容器类_下面属于容器类的是C++中容器类是属于标准模板库中的内容,有必要回顾下标准模板库。STL=StandardTemplateLibrary,标准模板库,惠普实验室开发的一系列软件的统称。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。STL被内建在编译系统之内。 在C++标准中,STL被组织为下面的

    2025年9月3日
    6
  • jadx初识_你我初识

    jadx初识_你我初识一.jadx介绍一款相对流行的反编译工具下载:https://github.com/skylot/jadx/releases/tag/v1.0.0解压后得到这么几个文件:启动:(以下来两个文件

    2022年8月4日
    10
  • 3500元计算机基本硬件配置清单,电脑硬件中配配置清单

    3500元计算机基本硬件配置清单,电脑硬件中配配置清单电脑硬件中配配置清单导语:攒机一直是电脑爱好者热衷的事,自己选购各配件,组装一台适合自己要求的机器给很多DIYer带来了极大的欢乐。下面小编为你整理的电脑硬件中配配置清单,希望对你有所帮助!电脑硬件中配配置清单1、实用性机型建议:首选1:intelG1620双核+H61M主板。(价格低廉性能不弱,超值!)首选2:intelG1840双核+H81M主板。(核心显卡性能比G1620更强)2、中级机…

    2022年7月12日
    15
  • Java 判断闰年 两种方法

    Java 判断闰年 两种方法方法一:publicclassBissextile{ booleanbissextile(intyear){//创建boolean类型的方法 if(year%4==0&amp;&amp;year%100!=0||year%400==0){//平闰年判断算法 returntrue; } else{ returnfa…

    2022年7月17日
    21
  • DSP开发,使用CCS软件建立工程以及烧录

    DSP开发,使用CCS软件建立工程1概述1.1资源概述2工程建立步骤1概述实验的代码已经上传。1.1资源概述开发板:普中DSP开发板CCS版本:6.1.3主控芯片型号:TMS320F283352工程建立步骤1,在需要建立的工程的文件夹内新建一个工程文件夹。2,打开CCS软件,在弹出的Workspace内指向刚才建立的文件夹。3,建立新工程4,填入工程的相关信息5,新建后的工程,只包含两个文件以及一个文件夹,系统必须的头文件,RAM连接的配置文件6,在工程文件

    2022年4月6日
    679

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号