【SSM-SpringMVC(一)】Spring接入Web环境!本篇开始研究SpringMVC的使用!本文介绍了SpringMVC,以及SpringMVC的执行流程和常用注解解析

认识SpringMVC

SpringMVC是一种基于JAVA的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,以及融合在Spring Web Flow中

SpringMVC 已经称为目前最主流的MVC框架之一,并且随着Spring3.0的发布,全面超所Struts2,成为最优秀的MVC框架。它通过一套注解,让一个简单的java类称为处理请求的控制器,而无须事先任何接口。同时它还支持RESTful编程风格的请求

SpringMVC 快速入门

  • 需求:客户端发起请求,服务器端接收请求,执行逻辑并进行视图跳转

  • 开发步骤:

    1. 导入SpringMVC相关坐标
    2. 配置SpringMVC核心控制器DispathcerServlet
    3. 创建Controller类和视图页面
    4. 使用注解配置Controller类中业务方法的映射地址
    5. 配置SpringMVC核心文件spring-mvc.xml
    6. 客户端发起请求测试

SpringMVC 的执行流程

  • 执行流程:

    1. 用户发送请求至前端控制器DispatcherServlet

    2. DispatcherServlet收到请求调用HanlerMapping处理器映射器

    3. 处理器映射器找到具体的处理器

      可以根据Xml配置、注解进行查找

      生成处理器对象及处理器拦截器

      如果有则生成

      一并返回给DispatcherServlet

    4. DispatcherServlet调用HandlerAdapter处理器适配器

    5. HandlerAdapter经过适配调用具体的处理器(Controller)

    6. Controller执行完成返回 数据库视图

    7. HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet

    8. DispatcherServlet将数据库视图传给ViewReslover视图解析器

    9. ViewReslover解析后返回给具体视图

    10. DispathcerServlet根据View进行渲染视图(将模型数据填充至视图中)。

      DispatcherServlet响应用户。

SpringMVC 注解解析

@RequestMapping:
  • 作用:
    • 用于建立请求URL和处理请求方式之间的对应关系
  • 位置:
    • 类上,请求URL的第一级访问目录。此处不写,就相当于应用的根目录
    • 方法上,请求URL的第二级访问目录,与类上的使用@requestMapping标注的一级目录一起组成访问虚拟路径
  • 属性:
    • value:用于指定请求的URL,它和path属性的作用是一样的
    • method:用于指定请求的方式
    • params:用于指定限制请求参数的条件。它支持简单的表达式。要求请求参数的key和value必须和配置的一模一样
  • 例如:
    • params = {“accountName”},表示请求参数必须有accountName
    • params = {“money!=100”},表示请求参数中money不能是100
组件扫描:

<context:component-scan base-package="main.DemoTestNode">
    
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    
    
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
context:component-scan>
Xml配置文件:

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    
    <property name="prefix" value="/src/web_jsp">property>
    
    <property name="suffix" value=".jsp">property>
bean>
知识要点:
  • SpringMVC的相关组件:
    • 前端控制器:DispatcherServlet
      • 其功能:调用其他组件进行使用,
      • 跟Servlet差不多。一个写调用其他类的代码,一个调用其他组件使用
    • 处理器映射器:HandlerMapping
    • 处理器适配器:HandlerAdapter
    • 处理器:Handler
    • 视图解析器:ViewResolver
    • 视图:View
  • SpringMVC的注解和配置:
    • 请求映射注解:@RequestMapping

      • 其功能:将处理器处理的请求地址做虚拟映射
    • 视图解析器配置:

      // 请求的方式(发送请求的类型并不是method)
      public static final String REDIRECT_URL_PREFIX = "redirect:";// 重定向方式
      public static final String FORWARD_URL_PREFIX = "forward:";// 请求转发方式
      // 地址路径的前缀路径
      private String prefix = "";
      // 访问的资源文件格式类型
      private String suffix = "";
      

❤️SSM 专栏前篇

  • 【SSM-Spring(一)】初上手Spring?别急!从最底部开始学习Spring吧!从Bean开始!本文介绍Spring程序的开发、Bean的声明周期与依赖注入概念
  • 【SSM-Spring(二)】初上手Spring?别急!从最底部开始学习Spring吧!Spring连接数据库、注解开发、Junit测试

博客专栏

  • 英语专栏-涵盖绝大多数的英语语法~~基于B站英语兔视频所作的学习笔记

  • Golang专栏-包含基础、Gin、Goam等知识

  • 云原生专栏-包含k8s、docker等知识

  • 从0开始学习云计算-华为HCIP证书

  • JUC专栏-带你快速领悟JUC的知识!

  • JVM专栏-深入Java虚拟机,理解JVM的原理

  • 基于Java研究 数据结构与算法-包含贪心算法、加权图、最短路径算法等知识

  • Docker专栏-上手热门容器技术Docker

  • SpringBoot专栏-学习SpringBoot快速开发后端

  • 项目管理工具的学习-设计技术:Maven、Git、Gradle等相关管理工具

  • JavaSE-全面了解Java基础

  • JS专栏-使用JS作的一部分实例~

  • 使用CSS所作的一部分案例

你可能感兴趣的:(SSM,spring,前端,java,springmvc,mvc,mapping,执行流程)