2009年4月2日

               摘要:   以下是本人在學習過程中做的一點點小小的總結,在這里留個副本! 現有代碼存在的問題: 為了解決每個業務模塊對應一個Servlet,Servlet過多的問題 解決辦法: 使用一個新的Servlet,匯總了所有的業務模塊Servlet,增加邏輯判斷,具體調用哪個業務Servlet public class ServletAction extends HttpServlet {...  閱讀全文
          posted @ 2009-04-11 21:48 西西里 閱讀(395) | 評論 (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 西西里 閱讀(2354) | 評論 (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 西西里 閱讀(1385) | 評論 (3)編輯 收藏
           
          主站蜘蛛池模板: 六安市| 山阴县| 郴州市| 绥江县| 山阳县| 城市| 吉安县| 凤庆县| 黄大仙区| 五原县| 海门市| 巴林右旗| 长丰县| 乳山市| 萍乡市| 通河县| 昌吉市| 马尔康县| 凤冈县| 鲁山县| 卢湾区| 绥江县| 蛟河市| 马关县| 凤台县| 富源县| 尤溪县| 易门县| 麻阳| 靖安县| 县级市| 宁晋县| 黄石市| 府谷县| 华容县| 韶山市| 芦山县| 德昌县| 连州市| 象州县| 胶州市|