1. 程式人生 > >springmvc中全域性異常的處理

springmvc中全域性異常的處理

一、處理思路

  

二、建立全域性異常處理器

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class GlobalExceptionResolver implements HandlerExceptionResolver {

    Logger logger = LoggerFactory.getLogger(GlobalExceptionResolver.class);
    
    @Override
    public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,
            Exception ex) {
        
//寫日誌檔案 logger.error("系統發生異常", ex); //發郵件、發簡訊 //Jmail:可以查詢相關的資料 //需要在購買簡訊。呼叫第三方介面即可。 //展示錯誤頁面 ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message", "系統發生異常,請稍後重試"); modelAndView.setViewName("error/exception"); return
modelAndView; } }

 三、在Springmvc中配置異常處理器

<!-- 全域性異常處理器 -->
<bean class="cn.e3mall.search.exception.GlobalExceptionResolver"/>

 四、在工程中引入log4j.properties配置檔案

    

 注意:配置檔案的名字必須為log4j.properties,這樣log4j會自動載入,同時log4j的jar包也要加入到工程中

 log4j.properties:

log4j.rootLogger=INFO,A3,STDOUT

log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=[%p] [%l] %10.10c - %m%n

log4j.appender.A3=org.apache.log4j.RollingFileAppender
log4j.appender.A3.file=logs/server.log
log4j.appender.A3.MaxFileSize=1024KB log4j.appender.A3.MaxBackupIndex=10 log4j.appender.A3.layout=org.apache.log4j.PatternLayout log4j.appender.A3.layout.ConversionPattern=\n\n[%-5p] %d{yyyy-MM-dd HH\:mm\:ss,SSS} method\:%l%n%m%n