用注解解决noHandlerFound No mapping for GET /index.html这个问题
时间: 2024-05-16 16:15:35 浏览: 152
在Spring MVC中,当请求的URL没有匹配到任何处理器时,会抛出noHandlerFound异常。可以使用注解来解决这个问题,具体步骤如下:
1. 在Spring MVC配置文件中开启注解扫描,添加以下配置:
```xml
<context:component-scan base-package="com.example.controller" />
<mvc:annotation-driven />
```
2. 在Controller类中添加注解 `@RequestMapping("*")`,表示匹配所有请求,示例代码如下:
```java
@Controller
public class HomeController {
@RequestMapping("*")
public String handleNotFound() {
return "error";
}
}
```
3. 创建一个error.jsp页面,用于显示错误信息,示例代码如下:
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Error</title>
</head>
<body>
<h1>Error</h1>
<p>Sorry, the page you requested is not available.</p>
</body>
</html>
```
当请求的URL没有匹配到任何处理器时,会调用handleNotFound方法,并返回error.jsp页面。这样就可以解决noHandlerFound异常。
阅读全文