java - 为什么我的 Spring MVC 项目中有白标错误页面
问题描述
运行 spring-MVC 代码时出现此错误:
白标错误页面 此应用程序没有显式映射 /error,因此您将其视为后备。
2021 年 10 月 13 日星期三 21:47:24 EEST 出现意外错误(类型=未找到,状态=404)。
这是我的 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.mahmoud</groupId>
<artifactId>FirstSpring</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>FirstSpring</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-servlet-api -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>9.0.53</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/</path>
<contextReloadable>true</contextReloadable>
</configuration>
</plugin>
</plugins>
</build>
</project>
这是从 HttpServlet 扩展的我的应用程序的控制器
@WebServlet(urlPatterns = "/login")
public class Login extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
}
}
HTML 代码
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<title>HTML Tutorial</title>
<body>
<h1>This is a jsp</h1>
<p>This is a paragraph.</p>
</body>
</html>
这是 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_3_1.xsd"
version="3.1">
<display-name>Students DB</display-name>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
解决方案
推荐阅读
- javascript - Jquery / Javascript:当用户重新访问页面时,有没有办法检查 ajax 是否仍在进行中?
- python - 从以前的 df 列创建索引 = 年和列 = 一年中发生的事件的平均长度的 df
- java - OpenJDK 8 解释器调试
- json - 使用 Svelte 和 Routiify POST 到没有服务器的本地 json 文件
- java - 如何使用 JAXB2 用动态元素编组 XML
- curl - 从 Bundesanzeiger 抓取数据
- python - 如何在字符串中转义 unicode 特殊字符并将其写入 UTF 编码文件
- javascript - 如何 ??-- 在回调中运行 createApi reducer
- angular - Angular 缓存加载过时的 index.html 文件
- phpunit - FilterIterator 应该是 PHPUnit\Framework\TestSuiteIterator 的实例