• 2017.3.31 spring mvc教程(四)全局的异常处理


    学习的博客:http://elf8848.iteye.com/blog/875830/

    我项目中所用的版本:4.2.0。博客的时间比较早,11年的,学习的是Spring3 MVC。不知道版本上有没有变化比较大的功能。

    spring mvc教程(四)全局的异常处理

    1.SimpleMappingExceptionResolver

    1 SimpleMappingExceptionResolver 的父类 : AbstractHandlerExceptionResolver
    2 通过SimpleMappingExceptionResolver,将不同的异常映射到不同的jsp页(通过exceptionMappings属性的配置)。
    3 如果所抛出的异常在exceptionMappings中没有对应的映射,则Spring将显示默认异常页。 通过defaultErrorView属性,配置默认异常页。
    4 也可以自己实现HandlerExceptionResolver接口,用来处理异常。

    注意:这里配置的异常显示界面均仅包括主文件名,至于文件路径和后缀已经在viewResolver中指定。如/error/error表示/error/error.js。

     1 <!-- 总错误处理-->  
     2 <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">  
     3     <property name="defaultErrorView">    
     4         <value>/error/error</value>  
     5     </property>  
     6     <property name="defaultStatusCode">    
     7         <value>500</value>  
     8     </property>     
     9   <property name="warnLogCategory">    
    10         <value>org.springframework.web.servlet.handler.SimpleMappingExceptionResolver</value>  
    11     </property>     
    12 </bean> 

    显示错误的jsp文件

    "exception"是key,在SimpleMappingExceptionResolver类中默认指定的。可以通过配置文件修改这个值。

     1 <%@ page language="java" contentType="text/html; charset=GBK"  
     2     pageEncoding="GBK"%>  
     3 <%@ page import="java.lang.Exception"%>  
     4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
     5 <html>  
     6 <head>  
     7 <meta http-equiv="Content-Type" content="text/html; charset=GBK">  
     8 <title>错误页面</title>  
     9 </head>  
    10 <body>  
    11 <h1>出错了</h1>  
    12 <%  
    13 Exception e = (Exception)request.getAttribute("exception");  
    14 out.print(e.getMessage());  
    15 %>  
    16 </body>  
    17 </html>

    2.将全局异常记录到日志中

    (1)warnLogCategory属性

    1 <property name="warnLogCategory">           
    2 <value>org.springframework.web.servlet.handler.SimpleMappingExceptionResolver</value> 3 </property>

    (2)log4j的配置文件

    加入(全限定名):log4j.logger.org.springframework.web.servlet.handler.SimpleMappingExceptionResolver=WARN。这样即使log4j的根日志级别是ERROR,也一定会被收录。

  • 相关阅读:
    [Voice communications] 声音的滤波
    [Voice communications] 声道的转换
    [Voice communications] 音量的控制
    [Voice communications] 看得到的音频流
    [Voice communications] 让音乐响起来
    HDFS之FileStatus
    HDFS中JAVA API的使用
    hadoop集群环境的搭建
    【ARM-Linux开发】【CUDA开发】【深度学习与神经网络】Jetson Tx2安装相关之三
    【ARM-Linux开发】【CUDA开发】【深度学习与神经网络】Jetson Tx2安装相关之三
  • 原文地址:https://www.cnblogs.com/lyh421/p/6652729.html
Copyright © 2020-2023  润新知