struts2 对异常的处理
使用自定义类处理异常
1.定义异常类
2.定义拦截器类,并加入默认拦截器栈
3.struts.xml 配置
4.注意,struts-default.xml 有默认的异常处理拦截器:name="exception", 默认拦截器栈:defaultStack
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<include file="struts-default.xml"></include>
<package name="default" extends="struts-default">
<interceptors>
<interceptor name="exceptionInter" class="cn.demo.util.DefaultExceptionInterceptor"></interceptor>
<interceptor-stack name="demoStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="exceptionInter"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 异常处理后,能够提供友好的用户界面 -->
<global-results>
<result name="exceptionPage">/WEB-INF/pages/fail.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception" result="exceptionPage"/>
</global-exception-mappings>
</package>
<package name="sys" extends="default" namespace="/sys">
<!-- action使用spring的bean -->
<action name="*_*" class="{2}" method="{1}">
<interceptor-ref name="params" />
<result name="userlist">/pages/user/list.jsp</result>
<result name="useradd">/pages/user/add.jsp</result>
<result name="userupdate">/pages/user/update.jsp</result>
<result name="userlook">/pages/user/look.jsp</result>
<interceptor-ref name="demoStack"></interceptor-ref>
</action>
</package>
</struts>
拦截器:
public class DefaultExceptionInterceptor extends AbstractInterceptor {
protected Logger log = LoggerFactory.getLogger(this.getClass());
//protected Logger myexLogger = LoggerFactory.getLogger("my-exception");
public String intercept(ActionInvocation inv) throws Exception {
String result = null;
try{
result = inv.invoke();
}catch(DefaultException e){
inv.getStack().push(new ExceptionHolder(e));
result = "exceptionPage";
}
return result;
}
}
自定义异常
public class DefaultException extends Exception{
public DefaultException(String msg){
super(msg);
}
}
public class UserAction extends ActionSupport{
private IUserService userService;
private static final Logger log = Logger.getLogger(UserAction.class);
public String list() throws DefaultException{
try{
}catch(Exception e){
throw new DefaultException(e.getMessage());
}
return "success";
}
}
相关推荐
Struts2异常处理机制
struts2的异常处理,解决异步请求时,异常以json格式发送到客户端。以及dao单元测试的配置。
配合博文:http://blog.csdn.net/u011638419/article/details/41343683
NULL 博文链接:https://yuxisanren.iteye.com/blog/1707508
本文档主要介绍了struts2的异常处理机制,希望对你有所帮助。
项目中出现的异常通常要用一个友好的异常页面来显示,通过对struts2.xml的配置能拦截全局异常,只要出现异常就会转向异常页面。
Struts2的异常处理实例 博文链接:https://zmx.iteye.com/blog/463996
Struts2 异常处理的四种获取属性方法,大家可以借鉴学习
NULL 博文链接:https://wjt276.iteye.com/blog/690323
struts常见异常及处理
struts2 单文件,多文件上传及异常处理
NULL 博文链接:https://wlh269.iteye.com/blog/321746
从网上搜索的一段关于struts1.x自定义异常处理的方法。
在网络中查询解决办法大多是使用异常处理的办法,其内容如下: <package name="default" extends="struts-default"> <global-results> <result name="client-abort-exception">/ignored.jsp</result> ...
struts2异常处理实例
包括Struts 2中配置文件的详细讲解、国际化与异常处理、数据类型的转换、数据的输入校验、Struts 2强大的标签库、Struts 2中文件的上传与下载、Struts 2对Ajax的支持、Struts 2与流行框架的整合,最后以3个实例由...
警告: 本工具为漏洞自查工具,请勿非法攻击他人网站! Struts2漏洞检查工具2017版 V2.0 ...jakatar处理复杂数据类型时,异常处理不当,导致OGNL代码执行,通过在请求的Content-Type头中构造OGNL表达式来执行Java代码。
NULL 博文链接:https://xace.iteye.com/blog/416561
本文档是写的Java相关的异常及其处理办法 包括:Java、Jdbc、Android、JavaScript、Servlet、Jsp、Hibernate、Struts2中一般出现的异常及其解决办法,注明适用于初学者。