springmvc跳转到自定义错误页面的三种方法

本文转载自: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>

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

 

方法二:也很简单#

@RequestMapping("*")
public String test3(){
    return "404";
}

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

 

方法三:重写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方法,并且重定向到一个新的方法

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

 

posted @   拾月凄辰  阅读(1093)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2020-04-11 jps命令查看没有DataNode 或 Eclipse上传文件到hdfs之后文件为空没有内容 的解决办法
2020-04-11 Windows下的Eclipse连接不上虚拟机上的hdfs,一直显示Listing folder content的解决方案
点击右上角即可分享
微信分享提示
主题色彩