SSH整合后异常只能在action中捕获,其它层都捕获不到
我使用ssh框架写的一个小系统,但是发现异常只能在action中捕获到,在其它层都捕获不到。
dao的实现类代码:
业务层(在impl包下)代码:
action代码:
配置 的切面:
我最初的目的是想在业务层捕获到异常,但是发现无论是业务层还是dao层都捕获不到,只能在action中捕获到异常,最奇怪的是我在业务层没有抛出异常,却在action中捕获到了,在业务层却捕获不到。
我尝试过在的业务层和dao层,无论是接口还是实现类都是throws DataAccessException获得throws Exception,还是只能在action中catch到异常。
大家可能看出这里的问题出在哪呢?
dao的实现类代码:
public void add(T t) throws DataAccessException{
this.hibernateTemplate.save(t);
}
业务层(在impl包下)代码:
public boolean doAddProject(Project project) {
try {
projectDAO.addProject(project);
}catch (DataAccessException e) {
return false;
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
action代码:
try {
projectManagerBiz.doAddProject(project);
} catch (Exception e) {
e.printStackTrace();
}
配置 的切面:
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="doAdd*" propagation="REQUIRED" />
<tx:method name="doDel*" propagation="REQUIRED" />
<tx:method name="doUpdate*" propagation="REQUIRED" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="allManagerMethod"
expression="execution(* impl.*.* (..))" />
<aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice" />
</aop:config>
我最初的目的是想在业务层捕获到异常,但是发现无论是业务层还是dao层都捕获不到,只能在action中捕获到异常,最奇怪的是我在业务层没有抛出异常,却在action中捕获到了,在业务层却捕获不到。
我尝试过在的业务层和dao层,无论是接口还是实现类都是throws DataAccessException获得throws Exception,还是只能在action中catch到异常。
大家可能看出这里的问题出在哪呢?
...全文
相关推荐
ssh批量处理action层
批量添加,根据提交id。判断提交资源的条数,实现批量添加
SSH2完美整合流程
教程流程是重点,应熟练掌握。本教程做简单的账号注册演示,所用工具:Myeclipse-6.5、Struts-2.2.3、Hibernate-3.2、Spring-2.0、MySql
整合SSH三大框架一些异常的解决办法.tx
针对Action class [userAction] not found - action 和java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.setId(Ljava/lang/String;)V 两类异常非常有用的解决方法
SSH详细整合步骤(包括配置)
SSH整合的具体步骤 数据库:SqlServer
ssh比较详细的整合配置方案
ssh比较详细的整合配置方案,教你一步一步实现ssh的配置功能


Web 开发
