01.创建测试页面
<%-- 验证全局结果 和 局部结果 --%> <a href="user/UserAction_add">新增用户</a> <a href="user/UserAction_update">修改用户</a>
02.修改struts.xml文件, include 外部引入文件
<?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> <!--设置开发模式 --> <constant name="struts.devMode" value="true"/> <package name="default" namespace="/" extends="struts-default"> </package> <!-- 引入外部的xml文件 --> <include file="user.xml"/> </struts>
<?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> <package name="user" namespace="/user" extends="default"> <!-- 省略了 action节点中 所有的class属性值! 默认执行的类!--> <default-class-ref class="cn.bdqn.action.UserAction"/> <!--全局结果配置 页面的配置 后续可以配置在struts.xml文件中--> <global-results> <result name="error">/error.jsp</result> <result name="input">/input.jsp</result> </global-results> <!-- 全局异常结果 后续可以配置在struts.xml文件中--> <global-exception-mappings> <exception-mapping result="error" exception="java.sql.SQLException"/> </global-exception-mappings> <!--通配符的使用 --> <action name="*_*" method="{2}"> <result>/success.jsp</result> <!-- 后台出现异常 我们指定错误界面! 方法多了 ,难道每个action界面下 都要配置error页面吗? <result name="error">/error.jsp</result>--> <!-- 局部异常结果 result的属性值 对应的就是 error <exception-mapping result="error" exception="java.sql.SQLException"/> --> </action> </package> </struts>
03.创建Action
public class UserAction extends ActionSupport{ public String add(){ System.out.println("进入了add()"); if (1==1) { try { throw new SQLException(); //模拟出现异常 } catch (SQLException e) { return ERROR; } } return SUCCESS; } public String update(){ System.out.println("进入了update()"); if (1==1) { try { throw new SQLException(); //模拟出现异常 } catch (SQLException e) { return INPUT; } } return SUCCESS; } }
04.创建错误界面 省略!!
<body> 全局的错误界面! </body>