1,在项目中,对异常的处理策略是什么?我在项目中是这样做的,DAO层,service层统统没做异常处理,最终抛到action层,这种做法应该是不对的,希望高人指点。
还有,是否建议用try{...}catch(){...}去处理业务跳转?
2,action层向service层传参时,是封装成对象传好;还是直接传数据,然后在service再封装好?

解决方案 »

  1.   

    异常不应该在DAO和Service处理吧,应该在控制层去处理
    我们的项目也是这样做的
    控制层传参数给Service应该是零散的数据,没有封装的
    Service在传给DAO应该是封装好的对象service接受参数相当于是用户传的,用户不懂java,不知道java喜欢对象,所以就以零散的形式传
    service传给dao相当与是程序内部在传参数,这是相当与程序员在传,那就该传对象
      

  2.   


    我的看法,仅供参考:
    1,DAO是数据库级别异常;Service抛出业务异常等;业务跳转,如果是执行不同方法,在service层;如果显示不同页面action层。
    2,action封装好对象,传参。这样参数可以在service&dao层都使用了。
    --------------
    细粒度权限管理
    www.metadmin.com 
      

  3.   

    如果你项目中使用的是Spring控制事务边界,要是service层try了,异常就不会交给Spring处理,就会出现事务原子性问题。
      

  4.   

    把异常从dao向上抛,在业务逻辑层继续向上抛,在action层进行捕获,catch 里面进行异常信息的封装,把转发路径改为exception.jsp 页面显示异常信息