【Spring MVC】 (第一篇)概述 + 项目实例(配置版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别

前言:学习自https://www.bilibili.com/video/BV1aE41167Tu

Spring MVC

1、介绍

Spring MVC属于SpringFrameWork的子项目。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架。

优点:

  • 轻量级,简单易学
  • 高效 , 基于请求响应的MVC框架
  • 与Spring兼容性好,无缝结合
  • 约定优于配置
  • 功能强大:RESTful、数据验证、格式化、本地化、主题等
  • 简洁灵活

(引用一张《Spring 实战》(第四版)的图片)
在这里插入图片描述

2、项目实例(配置版)

(1)具体步骤

1、新建一个项目 ,并添加web的支持

2、确定导入了SpringMVC 的依赖

3、配置web.xml , 注册DispatcherServlet

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">


    <!--1.注册DispatcherServlet-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--关联一个springmvc的配置文件:【servlet-name】-servlet.xml-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <!--启动级别-1-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!--/ 匹配所有的请求;(不包括.jsp)-->
    <!--/* 匹配所有的请求;(包括.jsp)-->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

4、编写SpringMVC 的 配置文件,springmvc-servlet.xml

添加bean:处理器映射,控制适配器,视图解析器

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

    <!--处理器映射-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

    <!--控制适配器-->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

    <!--视图解析器
        1、获取ModelAndView的数据
        2、解析ModelAndView的视图名字
        3、将数据渲染到视图上
        4、拼接视图名字,找到对应视图
    -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

5、编写Controller
在这里插入图片描述
6、将自己的类交给SpringIOC容器,注册bean

因为我们用了一个根据bean名字进行映射的处理器映射bean
在这里插入图片描述

因此,bean的id要遵从如下格式:/hello
在这里插入图片描述
7、写要跳转的jsp页面,显示ModelandView存放的数据,以及我们的正常页面
在这里插入图片描述
8、配置Tomcat 启动测试

9、请求访问
在这里插入图片描述
(注:若报404或500错误,则可能是工件中缺少包环境的问题,解决方法:
在这里插入图片描述

(2)流程原理的分析

在这里插入图片描述
在这里插入图片描述

(3)附:/ 与 /* 的区别

/:只匹配所有请求,不匹配jsp页面
/*:既匹配所有请求,及jsp页面

猜你喜欢

转载自blog.csdn.net/m0_46360532/article/details/115420301