springmvc3.0HandlerInterceptor拦截不存在的请求路径返回404
时间: 2023-07-27 17:18:36 浏览: 173
在Spring MVC中,可以通过实现HandlerInterceptor接口来实现拦截请求。如果拦截到了请求,可以在preHandle方法中进行处理,如果请求路径不存在,可以在该方法中返回一个404错误码。具体实现如下:
```
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String requestUri = request.getRequestURI();
if (!isExist(requestUri)) {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
return false;
}
return true;
}
// 判断请求路径是否存在
private boolean isExist(String requestUri) {
// TODO: 实现路径存在性判断逻辑
return true;
}
}
```
在preHandle方法中,首先获取到请求路径,然后调用isExist方法判断该路径是否存在。如果路径不存在,则通过response.sendError方法返回一个404错误码,并返回false表示终止请求处理链。如果路径存在,则返回true,请求继续处理。
阅读全文