• IDEA Intellij中SpringMVC框架搭建全过程


    创建module工程

    在这里插入图片描述
    在这里插入图片描述
    注意要是maven工程
    给项目起个名,点击finish
    在这里插入图片描述
    在这里插入图片描述

    在pom.xml中配置依赖

    <!-- 设置打包方式为war包 -->
     <packaging>war</packaging>
    
        <dependencies>
            <!-- SpringMVC -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>5.3.1</version>
            </dependency>
    
            <!-- 日志 -->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>1.2.3</version>
            </dependency>
    
            <!-- ServletAPI -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.1.0</version>
                <scope>provided</scope>
            </dependency>
    
            <!-- Spring5和Thymeleaf整合包 -->
            <dependency>
                <groupId>org.thymeleaf</groupId>
                <artifactId>thymeleaf-spring5</artifactId>
                <version>3.0.12.RELEASE</version>
            </dependency>
        </dependencies>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    将上面的配置代码复制到pom.xml中
    在这里插入图片描述
    在main中新建webapp文件夹
    在这里插入图片描述

    !!注意此处webapp文件夹要有一个小点才说明建立成功
    若像上图一样没有小点可尝试刷新pom.xml配置文件!!

    在这里插入图片描述
    然后webapp文件夹就有小点了!
    在这里插入图片描述

    新建web.xml

    在项目结构中添加配置web.xml
    在这里插入图片描述
    注意它的默认路径是这个样子的
    在这里插入图片描述
    我们要把它配置成下面这样
    在这里插入图片描述

    在WEB-INF前添加:

    src\main\webapp\
    
    • 1

    点击ok,apply,ok
    在这里插入图片描述

    配置web.xml

    在web.xml中配置编码过滤器和springMVC的前端控制器DispatcherServlet

    <!--    配置编码过滤器-->
        <filter>
            <filter-name>CharacterEncodingFilter</filter-name>
            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        
            <init-param>
                <param-name>encoding</param-name>
                <param-value>UTF-8</param-value>
            </init-param>
            <init-param>
                <param-name>forceResponseEncoding</param-name>
                <param-value>true</param-value>
            </init-param>
    
        </filter>
        <filter-mapping>
            <filter-name>CharacterEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
    	 <!--    配置HiddenHttpMethodFilter-->
        <filter>
            <filter-name>HiddenHttpMethodFilter</filter-name>
            <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>HiddenHttpMethodFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
    
    <!--    配置springMVC的前端控制器DispatcherServlet-->
        <servlet>
            <servlet-name>DispatcherServlet</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:springMVC.xml</param-value>
                <!-- 注意此处的springMVC.xml会爆红,因为还没有创建,后续步骤中会创建-->
            </init-param>
    <!--        将当前servlet的初始化时间提前到服务器启动时-->
            <load-on-startup>1</load-on-startup>
        
        </servlet>
        <servlet-mapping>
            <servlet-name>DispatcherServlet</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49

    在resources中创建和配置springMVC.xml

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

    配置扫描组件

    在这里插入图片描述
    注意没有声明命名空间要在beans中声明一下

    xmlns:context="http://www.springframework.org/schema/context"
    
    • 1

    springMVC.xml中完整的头部配置:

    <?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"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    配置扫描组件

    <context:component-scan base-package="com.atguigu.mvc.controller"></context:component-scan>
    
    • 1

    package中写自己项目中controller文件夹对应的路径

    配置Thymeleaf视图解析器

    <!-- 配置Thymeleaf视图解析器 -->
        <bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
            <property name="order" value="1"/>
            <property name="characterEncoding" value="UTF-8"/>
            <property name="templateEngine">
                <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
                    <property name="templateResolver">
                        <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
    
                            <!-- 视图前缀 -->
                            <property name="prefix" value="/WEB-INF/templates/"/>
    
                            <!-- 视图后缀 -->
                            <property name="suffix" value=".html"/>
                            <property name="templateMode" value="HTML5"/>
                            <property name="characterEncoding" value="UTF-8" />
                        </bean>
                    </property>
                </bean>
            </property>
        </bean>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    springMVC.xml中
    在这里插入图片描述

    注意Thymeleaf中的视图前缀是这个
    在这里插入图片描述
    所以要在WEB-INF中创建templates文件夹存放html文件
    在这里插入图片描述

    springMVC.xml中可选配置

    <!--    配置视图控制器-->
        <mvc:view-controller path="/" view-name="index"></mvc:view-controller>
    
    <!--    开放对静态资源的访问-->
        <mvc:default-servlet-handler/>
    
    <!--    开启mvc注解驱动-->
        <mvc:annotation-driven />
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    测试

    在测试类testController中写一个测试方法
    在这里插入图片描述

    新建一个用于测试的html
    在这里插入图片描述
    注意html标签中要添加

    xmlns:th="http://www.thymeleaf.org"
    
    • 1

    配置tomcat服务器

    在这里插入图片描述

    启动tomcat服务器后成功显示就证明springMVC配置成功了!!
    在这里插入图片描述

  • 相关阅读:
    线程中开启线程池异步处理,主副线程设置执行顺序
    移植RT-Thread Nano到STM32F407ZGT6上运行
    PHP - AJAX 与 MySQL
    考过HCIP入职心仪公司,分享华为认证学习经历及心得
    使用百度的长文本转语音API时无法下载.MP3文件
    什么是MapReduce?MapReduce整体架构搭建使用介绍
    SpringSecurity - 启动流程分析(六)
    如何进行找错和改错
    jenkins post steps设置记录
    呼叫中心中间件(mod_cti基于FreeSWITCH)-升级说明
  • 原文地址:https://blog.csdn.net/GCTTTTTT/article/details/125528066