一、说明
web系统开发过程中经常遇见400/404/500类型的错误页面,对于开发人员而言见到这种页面多了可能觉得问题不大,但是实际是很重要的,需要配置一个合理的自定义错误页面。
本文只提通过springmvc controller配置自定义错误页,Tomcat设置400/404/500自定义错误页面(推荐)请参考博文:点击打开链接
二、实现
1.spring-mvc.xml(视图解析器配置)
<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="suffix" value=".jsp"></property>
<property name="prefix" value="/WEB-INF/views/"></property>
</bean>
2.ErrorController.java(代码实现)
package com.mvc.pab.internet.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("error")
public class ErrorController {
private static final String BASE_DIR = "error/";
@RequestMapping("400")
public String handle1(HttpServletRequest request){
return BASE_DIR + "400";
}
@RequestMapping("404")
public String handle2(HttpServletRequest request){
return BASE_DIR + "404";
}
@RequestMapping("500")
public String handle3(HttpServletRequest request){
return BASE_DIR + "500";
}
}
3.web.xml(错误页面路径定义)
<error-page>
<error-code>400</error-code>
<location>/error/400</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error/404</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/500</location>
</error-page>
3.spring-mvc.xml(拦截器配置)
项目当中有设置全局拦截器的,一定要在这里添加拦截器配置,不然会被拦截,配置方法是往自己的配置中节点代码<mvc:exclude-mapping path="/error/*" />,