本文转载自:https://blog.csdn.net/qq_37268511/article/details/103486142
有时候我们并不想跳转到系统自定义的错误页面中,那么我们需要自定义页面并且实现它的跳转
有三种方法可以实现
方法一:最简单的实现,也是最快的
在web.xml下配置如下:
<error-page> <error-code>404</error-code> <location>/WEB-INF/errors/404.jsp</location> </error-page>
方法二:也很简单
@RequestMapping("*") public String test3(){ return "404"; }
方法三:重写noHandlerFound方法,实现自定义的dispatcherServlet
web.xml:
<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>com.exceptionpage.test</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
controller类需要继承dispatcherServlet,并重写noHandlerFound方法
@Override protected void noHandlerFound(HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println("successful execute..."); response.sendRedirect(request.getcontextpath() + "/notFound"); } @RequestMapping("/notFound") public String test2(){ System.out.println("successful..."); return "404"; }
若没有匹配上url,则调用noHandlerFound方法,并且重定向到一个新的方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。