随笔 - 1357  文章 - 0  评论 - 1104  阅读 - 1941万

Spring MVC的Controller统一异常处理:HandlerExceptionResolver

a、针对500异常的统一处理
1、实现HandlerExceptionResolver,重写resolveException方法

复制代码
package com.liying.mango.common.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;

/**
 * 异常信息统一处理器
 *
 * @author jqlin
 */
public class MyExceptionHandler implements HandlerExceptionResolver {
    private static final Logger log = Logger.getLogger(MyExceptionHandler.class);

    @Override
    public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, 
            Object obj, Exception e) {
        //堆栈信息打印到错误的日志文件中
        log.error(e.getMessage(), e);
        
        //跳转到500页面
        return new ModelAndView("500");  
    }

}
复制代码

 

2、最后,将HandlerExceptionResolver实现类配置到Spring配置文件中

<bean id="myExceptionHandler" class="com.liying.mango.common.interceptor.MyExceptionHandler" />

 

b、针对404异常的统一处理
web.xml 404配置

    <error-page>
        <error-code>404</error-code>
        <location>/page/404.jsp</location>
    </error-page>

 

posted on   Ruthless  阅读(895)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示