thrownewBusinessException(\虚拟机发生了内部错误\); } catch (Exception ex) {
thrownewBusinessException(\程序内部错误,操作失败!\); }
after(invocation, result);
return result ; } /**
* 验证登陆等...
* @param invocation * @return
* @throws Exception */
publicvoid before(ActionInvocation invocation) throws Exception { //... } /**
* 记录日志等...
* @param invocation * @return
* @throws Exception */
publicvoid after(ActionInvocationinvocation,String result) throws Exception{ //... } }
3) 在WebContent目录下新建error.jsp,代表出错跳转的页面: <%@pagelanguage=\contentType=\charset=UTF-8\pageEncoding=\%> <%@taglibprefix=%uri=\%>
4) 在struts.xml配置文件中加入拦截器及错误跳转指示:
\ \>
5) 在LoginAction的execute方法中故意加入会产生异常的代码,测试页面转向:
inti= 10/0;
结果跳转至error.jsp,并显示“抱歉,数学运算异常!请稍后再试或与管理员联系!”。
5. 整合spring
复制struts-spring插件包
从struts-2.3.3-all.gz包中复制struts2-spring-plugin-2.3.3.jar、commons-logging-1.1.1.jar两个JAR文件到该工程的WEB-INF/lib目录下:
复制springJAR包
从spring-framework-3.1.1.RELEASE-with-docs.zip包中复制spring相关的JAR文件(6个)该工程的WEB-INF/lib目录下:
在最新版的spring里面是没有这个包的,这个可以不用加了,如果克意下载加上去的话会报错的!
修改web.xml
在文件中增加spring监听器配置信息,让spring在tomcat启动的时候加载: …
否则就会出现org.springframework.beans.factory.BeanCreationException: Scope 'request' is not active for the current thread
这个时候启动一下tomcat,会报错,此时还缺少spring的配置文件:applicationContext.xml
创建applicationContext.xml
在WEB-INF目录下创建文件名:applicationContext.xml,内容如下,先保持空:
xmlns:jdbc=\ xmlns:context=\ xsi:schemaLocation=\ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd\> 测试重启tomcat服务,验证启动过程没有异常。