SpringMVC组件概述

文章目录

  • SpringMVC的执行流程
  • SpringMVC组件解析
  • SpringMVC注解解析

SpringMVC的执行流程

SpringMVC组件概述_第1张图片

流程说明:

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

SpringMVC组件解析

SpringMVC组件概述_第2张图片

常见笔试题:springmvc中的三大组件是什么?

答:处理器映射器HandlerMapping、处理器适配器HandlerAdapter、视图解析器ViewResolver

<beans xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
                           http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/mvc
                           http://www.springframework.org/schema/mvc/spring-mvc.xsd
                           http://www.springframework.org/schema/context
                           http://www.springframework.org/schema/context/spring-context.xsd">

    
    <context:component-scan base-package="controller"/>

    
    <mvc:annotation-driven/>

    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        
        <property name="prefix" value="/WEB-INF/pages/"/>
        
        <property name="suffix" value=".jsp"/>
    bean>
beans>

SpringMVC注解解析

@Controller

SpringMVC基于Spring容器,所以在进行SpringMVC操作时,需要将Controller存储到Spring容器中,如果使用@Controller注解标注,就需要配置注解扫描:

<context:component-scan base-package="controller"/>

@RequestMapping

  • 作用:用于建立请求 URL 和处理请求方法之间的对应关系。
  • 位置:
    • 使用在类上:请求URL的第一级访问目录,以/开头。如果此处不写,就相当于应用的根目录。
    • 使用在方法上:请求URL的第二级访问目录,与一级目录组成一个完整的 URL 路径。
  • 属性:
    • value:用于指定请求的URL。与path属性的作用相同。
    • method:用来限定请求的方式。
    • params:用来限定请求参数的条件:
      • 举个栗子:
        • params={"accountName"} 表示请求参数中必须有accountName
        • params={"money!100"} 表示请求参数中money不能是100

你可能感兴趣的:(Spring,MVC,java,spring,mvc)