2009年4月2日

     摘要:   以下是本人在学习过程中做的一点点小小的总结,在这里留个副本! 现有代码存在的问题: 为了解决每个业务模块对应一个Servlet,Servlet过多的问题 解决办法: 使用一个新的Servlet,汇总了所有的业务模块Servlet,增加逻辑判断,具体调用哪个业务Servlet public class ServletAction extends HttpServlet {...  阅读全文
posted @ 2009-04-11 21:48 西西里 阅读(385) | 评论 (0)编辑 收藏
 
public class UserService {
    private UserService userService = null;

    private UserService() {}

    public static UserService getInstance() {
        if(userService == null) {
            synchronized(UserService.class) {
                if(userService == null) {userService = new UserService();}
            }
        }
    return userService;
    }
}
posted @ 2009-04-02 21:46 西西里 阅读(2336) | 评论 (12)编辑 收藏
 
 

首先,当DAOCatchSQL异常,应该让相应的事务回滚,并继续抛出该异常

conn.rollback();

throw e;

在方法声明时throws这个异常;

第二,在Service层调用到Dao层时,try catch这个异常,在catch住中把它处理为RuntimeException异常;

处理过程是:自定义一个继承自RuntimeException的异常类AppRuntimeException;

catch(){

new AppRuntimeException();

}

第三,在Servlet中使用配置文件web.xml注册这个Exception,或者注册为RuntimeException,调用Service时,如果发生这个异常,则会跳转到相关的友好的面向用户的错误页面;

注意:如果页面未转向,则可能是反射过程中抛出的其他异常截获了我们自定义的这个RuntimeException,我们可以在这个异常中做出处理,让它转换为我们自定义的RuntimeException

第四,以上我们只是简单的处理了异常,一般正常的与业务相关的异常;

posted @ 2009-04-02 14:01 西西里 阅读(1368) | 评论 (3)编辑 收藏