zoukankan      html  css  js  c++  java
  • springmvc跳转到自定义404页面的三种方法

    有时候我们并不想跳转到系统自定义的错误页面中,那么我们需要自定义页面并且实现它的跳转

    有三种方法可以实现

    方法一:最简单的实现,也是最快的

    在<web-app>节点下配置

    代码如下:

    1 <error-page>
    2     <error-code>404</error-code>
    3     <location>/WEB-INF/errors/404.jsp</location>
    4   </error-page>

    若url匹配不到则会跳转到404.jsp页面

    方法二:也很简单

    1 @RequestMapping("*")
    2     public String test3(){
    3         return "404";
    4     }

    如果不能精确匹配上url,则返回404.jsp页面

    方法三:重写noHandlerFound方法,实现自定义的DispatcherServlet

    web.xml

     1 <servlet>
     2     <servlet-name>springmvc</servlet-name>
     3     <servlet-class>com.exceptionpage.test</servlet-class>
     4     <init-param>
     5       <param-name>contextConfigLocation</param-name>
     6       <param-value>classpath:spring-mvc.xml</param-value>
     7     </init-param>
     8   </servlet>
     9   <servlet-mapping>
    10     <servlet-name>springmvc</servlet-name>
    11     <url-pattern>/</url-pattern>
    12   </servlet-mapping>

    controller类需要继承DispatcherServlet,并重写noHandlerFound方法

     1 @Override
     2     protected void noHandlerFound(HttpServletRequest request,
     3                                   HttpServletResponse response) throws Exception {
     4         System.out.println("successful execute...");
     5         response.sendRedirect(request.getContextPath() + "/notFound");
     6     }
     7 
     8     @RequestMapping("/notFound")
     9     public String test2(){
    10           System.out.println("successful...");
    11           return "404";
    12     }

    若没有匹配上url,则调用noHandlerFound方法,并且重定向到一个新的方法

    新的方法中跳转到404.jsp页面

    <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>
  • 相关阅读:
    x64 寄存器使用
    汇编语言学习笔记(十二)-浮点指令----ACM
    浮点数的加减计算总结
    Mobile First! Wijmo 5 之 架构
    CSDN头版头条 《近匠》 Wijmo 5 CTO:从Web到移动,我的25年编程生涯
    超越Web,Javascript在物联网的应用
    《我与葡萄城的故事》— 征文大赛
    介绍一款开源的类Excel电子表格软件
    2014年GDG西安 -- DevFest Season1
    异步陷阱之死锁篇
  • 原文地址:https://www.cnblogs.com/Hdaydayup/p/6854030.html
Copyright © 2011-2022 走看看