struts2全局异常处理及配合log4j异常日志记录
2014-01-20 15:26
399 查看
在编写代码时除了使用try catch来捕获异常之外,还可以用struts2的声明式异常处理,即在Action中直接抛出异常交给struts2来处理,并且在xml文件中进行相应的配置,如下:
以上是全局异常的处理,也可以处理特定Action的异常,如下:
特定Action的异常声明优先于全局异常。
至于配合log4j记录异常日志是利用struts2中提供的异常拦截器ExceptionMappingInterceptor,当发生指定异常后,会由它处理,因为这个类有写日志的功能,默认是禁用的,因此直接将其启用即可,如下:
以上代码可以改成:
01 | <!--设置全局返回结果 --> |
02 | < global-results > |
03 | < result name = "error" >/webPage/exception/error.jsp</ result > |
04 | < result name = "sql" >/webPage/exception/sql_error.jsp</ result > |
05 | </ global-results > |
06 | <!--定义要捕获的异常--> |
07 | < global-exception-mappings > |
08 | < exception-mapping result = "error" exception = "java.lang.Exception" ></ exception-mapping > |
09 | < exception-mapping result = "sql" exception = "java.sql.SQLException" ></ exception-mapping > |
10 | </ global-exception-mappings > |
1 | < action name = "login" class = "userAction" method = "login" > |
2 | < exception-mapping result = "login" exception = "com.exceptions.LoginException" ></ exception-mapping > |
3 | < result name = "login" >/webPage/exception/login_error.jsp</ result > |
4 | </ action > |
至于配合log4j记录异常日志是利用struts2中提供的异常拦截器ExceptionMappingInterceptor,当发生指定异常后,会由它处理,因为这个类有写日志的功能,默认是禁用的,因此直接将其启用即可,如下:
1 | < interceptor-ref name = "defaultStack" > |
2 | <!--覆盖defultStack中的exception设置,启用它的日志功能--> |
3 | < param name = "exception.logEnabled" >true</ param > |
4 | < param name = "exception.logLevel" >error</ param > |
5 | </ interceptor-ref > |
1 | <!--覆盖defultStack中的exception设置,启用它的日志功能--> |
2 | < interceptor-ref name = "exception" > |
3 | < param name = "exception.logEnabled" >true</ param > |
4 | < param name = "exception.logLevel" >error</ param > |
5 | </ interceptor-ref > |
相关文章推荐
- struts2全局异常处理及配合log4j进行异常日志记录
- struts2全局异常处理及配合log4j异常日志记录
- Spring-Boot--日志操作全局异常捕获消息处理☞日志控制台输出+日志文件记录
- SSH框架中配置log4j日志以及Struts2配置异常处理方法
- Spring-Boot--日志操作【全局异常捕获消息处理☞日志控制台输出+日志文件记录】
- Spring-Boot--日志操作【全局异常捕获消息处理☞日志控制台输出+日志文件记录】
- ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面
- Struts2 异常处理 ( jsp记录异常信息到日志 )
- struts2配置之全局result及异常处理
- Spring + Aop+注解 集成使用 Log4j,实现异常日志记录
- ASP.NET MVC 全局异常处理与异常日志
- 4、struts2异常处理及全局异常与结果剖析、struts2模型驱动及分层体系架构
- 使用Spring.NET统一ASP.NET异常处理并记录日志
- Android 中处理崩溃异常和记录日志
- struts2配合log4j打印异常栈信息
- Android全局捕获崩溃异常记录日志保存至本地并定时删除
- 没头没尾--项目开发笔记:异常处理与日志记录代码自动生成(工具能生成多少代码!?续一)
- php 中用户触发错误与记录错误日志及异常处理
- 清除排行榜缓存任务中,做循环处理时,每次都需要抓住异常记录日志