• SpringMVC的准备工作


    一、

            先通过Maven创建一个webapp项目

    创建完成之后在pom文件中设置一些基本的信息:

            1、打包方式

        <packaging>warpackaging>

            以war包的形式打包

            2、相关依赖

            现阶段只有3个:SpringMVC、thymeleaf与Spring整合、ServletAPI

    1. <dependencies>
    2. <dependency>
    3. <groupId>javax.servletgroupId>
    4. <artifactId>javax.servlet-apiartifactId>
    5. <version>3.1.0version>
    6. dependency>
    7. <dependency>
    8. <groupId>org.thymeleafgroupId>
    9. <artifactId>thymeleaf-spring5artifactId>
    10. <version>3.0.15.RELEASEversion>
    11. dependency>
    12. <dependency>
    13. <groupId>org.springframeworkgroupId>
    14. <artifactId>spring-webmvcartifactId>
    15. <version>5.2.10.RELEASEversion>
    16. dependency>
    17. dependencies>

    二、创建webapp目录:

            打开projectStructure,找到该项目中的Web

    初始是这样:

     

     点击部署中的➕,创建一个web.xml

     需要将建立web.xml的路径修改为:项目\src\main\webapp\WEB-INF\web.xml

    成功。

    三、配置web.xml

    1、命名空间和约束:

    1. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    4. version="4.0">
    5. web-app>

     2、配置中央控制器

    1. <servlet>
    2. <servlet-name>springMVCservlet-name>
    3. <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    4. servlet>
    5. <servlet-mapping>
    6. <servlet-name>springMVCservlet-name>
    7. <url-pattern>/url-pattern>
    8. servlet-mapping>

    url-pattern中的值为:/,对浏览器发送的请求通过dispathcerServlet统一处理。

    SpringMVC的配置路径默认时只能在WEB-INF下,并且命名格式也有限制:

    -servlet.xml

    1. <servlet>
    2. <servlet-name>SpringMVCservlet-name>
    3. <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    4. <init-param>
    5. <param-name>contextConfigLocationparam-name>
    6. <param-value>classpath:springmvc.xmlparam-value>
    7. init-param>
    8. <load-on-startup>1load-on-startup>
    9. servlet>

    3、SpringMVC的核心配置文件

    1. <context:component-scan base-package="com.atguigu.controller"/>
    2. <bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
    3. <property name="order" value="1"/>
    4. <property name="characterEncoding" value="UTF-8"/>
    5. <property name="templateEngine">
    6. <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
    7. <property name="templateResolver">
    8. <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
    9. <property name="prefix" value="/WEB-INF/templates/"/>
    10. <property name="suffix" value=".html"/>
    11. <property name="templateMode" value="HTML5"/>
    12. <property name="characterEncoding" value="UTF-8" />
    13. bean>
    14. property>
    15. bean>
    16. property>
    17. bean>

    4、最后建立控制器即可。

    1. @Controller
    2. public class HelloController {
    3. //可以将浏览器发送的请求映射到这个方法执行 /代表着url
    4. @RequestMapping("/")
    5. public String protal(){
    6. //将逻辑视图返回
    7. return "index";
    8. }

    四、总结

            浏览器发送请求,若请求地址符合前端控制器的url-pattern,该请求就会被前端控制器DispatcherServlet处理。前端控制器就会读取SpringMVC的核心配置文件,通过扫描组件找到控制器。接着根据请求地址和控制器中@RequestMapping 注解的value属性值进行匹配,若匹配成功,该注解所标识的。控制器方法就是处理请求的方法。处理请求的方法需要返回一个字符串类型的视图名称,该视图名称会被视图解析器解析,加上前缀和后缀组成视图的路径,通过 Thymeleaf对视图进行渲染,最终转发到视图所对应页面
  • 相关阅读:
    元宇宙iwemeta:《时代》杂志新封面,元宇宙将改变一切
    dfs之字符串拼接
    多语言多商户多货币跨境电商商城源码(一键铺货\订单返现商城源码搭建开发)
    十七、Linux的组管理
    迭代器模式,内部和外部迭代器举例(设计模式与开发实践 P7)
    IceRPC之如何创建连接connection
    如何处理MindSpore Lite推理精度异常问题
    μC/OS-II---内核:多任务与调度
    C#开发的OpenRA游戏之电力系统之二
    免费的云产品
  • 原文地址:https://blog.csdn.net/weixin_42196338/article/details/126313712