这个问题曾经困扰了我两天,一直不得其法,希望能有缘帮助到您。如果能得到您的反馈或是点赞。B站关注等,我会知道,我的笔记有人需要,谢谢。

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>sggMVCBase</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>Springmvc01</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>


    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>


    <dependencies>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.20</version>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.11</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
        </dependency>
    </dependencies>


</project>

web.xml

<?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">


    <!--配置SpringMVC的前端控制器,对浏览器发送的请求统一进行处理-->
    <servlet>

        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <!--配置SpringMVC配置文件的位置和名称-->
        <init-param>
            <param-name>contextConfigLocation</param-name>

            <!--指定springmvc的配置文件的名称和位置-->
            <param-value>classpath:springMVC.xml</param-value>

        </init-param>

        <!--将前端控制器DispatcherSerlet的初始化时间提前到服务器启动时-->
        <load-on-startup>1</load-on-startup>

    </servlet>

    <!-- 设置SpringMVC拦截请求 -->
    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

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"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       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
  http://www.springframework.org/schema/mvc
  https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--
根据springmvc结构图而知,
需要
处理器映射器
处理器适配器
视图解析器
三个重要部分,因此为了下面的设置
-->

    <!--扫描组件-->
    <context:component-scan base-package="org.example.Controller"/>

    <!--狂神说,如果是使用注解开发就不需要了,处理器映射器-->
<!--    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>-->
    <!--狂神说,如果是使用注解开发就不需要了,处理器适配器-->
<!--    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>-->

    <!--1加载注解驱动 -->
    <mvc:annotation-driven/>
    <!--2静态资源过滤 -->
    <!--当前端控制器找不到对应资源就交给原始容器寻找(此处是tomcat)-->
    <mvc:default-servlet-handler/>

    <!-- 配置SpringMVC的视图解析器: 配置前缀和后缀 -->
    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <!-- 配置视图跳转的前缀 -->
        <property name="prefix" value="/WEB-INF/templates/"/>
        <!-- 配置视图跳转的后缀 -->
        <!--        <property name="suffix" value=".html"/>-->
        <property name="suffix" value=""/>

    </bean>


</beans>

index.jsp

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2022-12-18
  Time: 20:21
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>

  <a href="ttt">访问test111.html</a>

  </body>
</html>

HelloController.java

package org.example.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloController {

    @RequestMapping("/ttt")
    public String test111(Model model) {

        return "test111.html";
    }

}
作者:admin  创建时间:2022-12-18 20:49
最后编辑:admin  更新时间:2022-12-19 20:55