<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Spring學習筆記系列(三) 異常處理

    配置Spring異常處理之需要增加一個bean的配置:

    增加了一個異常處理的bean
     <!-- Exception Resolver-->
     <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
      <property name="defaultErrorView">
       <value>/exception/failure</value>
      </property>

      <property name="exceptionMappings">
       <props>
        <prop key="java.sql.SQLException">/exception/showDBError</prop>
        <prop key="java.lang.RuntimeException">/exception/showError</prop>    
       </props> 
      </property>
     </bean>

    這樣就可以統一分別處理不同Exception了。注意jsp頁面在request中attribute等于“exception”,

    而不是“Exception”注意大小寫。頁面如下:

    錯誤顯示頁面

     <c:set value="${exception}" var="ee"/>
      <jsp:useBean id="ee" type="java.lang.Exception" />
      <%=ee.getMessage()%><br>
    <%ee.printStackTrace( new java.io.PrintWriter(out));%>


    當然也可以做得更友好些,例如可以顯示隱藏詳細信息。

    <%@ taglib prefix="c" uri=">
    <%@ taglib prefix="spring"  uri="
    >
    <%@ page contentType="text/html;charset=GBK" language="java" pageEncoding="GBK"%>
    <%@ page import="java.util.Enumeration,java.util.Iterator"%>
    <script>
     function showErr(){
      var isHidde = document.all.isHidde.value;
      //alert(isHidde);
      if( isHidde == "true" ){
       document.all.errdiv.style.display='block';
       document.all.isHidde.value= 'false';
       document.all.showbtn.value="隱藏錯誤信息";
      }else{
       document.all.errdiv.style.display='none';
       document.all.isHidde.value= 'true';
       document.all.showbtn.value="顯示錯誤信息";
      }
     }
    </script>
    <html>
     <head>
      <title>this is failure</title>
     </head>
     <body onload="showErr()"> 

    <c:set value="${exception}" var="ee"/>
      <jsp:useBean id="ee" type="java.lang.Exception" />
      <%=ee.getMessage()%>ok,<br>
      
      
      <table id="errdiv" align="center" bgcolor="darkseagreen">
      <tr><td>
      <font color=red>
      <%ee.printStackTrace( new java.io.PrintWriter(out));%>
      </font>
      </td></tr></table>
      <input type="hidden" id="isHidde" value="true"/>
      <input type="button" id="showbtn" onclick="showErr();"/>

     </body>
    </html>

    增加了一個異常處理的bean
     <!-- Exception Resolver-->
     <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
      <property name="defaultErrorView">
       <value>/exception/failure</value>
      </property>

      <property name="exceptionMappings">
       <props>
        <prop key="java.sql.SQLException">/exception/showDBError</prop>
        <prop key="java.lang.RuntimeException">/exception/showError</prop>    
       </props> 
      </property>
     </bean>

    這樣就可以統一分別處理不同Exception了。注意jsp頁面在request中attribute等于“exception”,

    而不是“Exception”注意大小寫。頁面如下:

    錯誤顯示頁面

     <c:set value="${exception}" var="ee"/>
      <jsp:useBean id="ee" type="java.lang.Exception" />
      <%=ee.getMessage()%><br>
    <%ee.printStackTrace( new java.io.PrintWriter(out));%>


    當然也可以做得更友好些,例如可以顯示隱藏詳細信息。

    <%@ taglib prefix="c" uri=">
    <%@ taglib prefix="spring"  uri="
    >
    <%@ page contentType="text/html;charset=GBK" language="java" pageEncoding="GBK"%>
    <%@ page import="java.util.Enumeration,java.util.Iterator"%>
    <script>
     function showErr(){
      var isHidde = document.all.isHidde.value;
      //alert(isHidde);
      if( isHidde == "true" ){
       document.all.errdiv.style.display='block';
       document.all.isHidde.value= 'false';
       document.all.showbtn.value="隱藏錯誤信息";
      }else{
       document.all.errdiv.style.display='none';
       document.all.isHidde.value= 'true';
       document.all.showbtn.value="顯示錯誤信息";
      }
     }
    </script>
    <html>
     <head>
      <title>this is failure</title>
     </head>
     <body onload="showErr()"> 

    <c:set value="${exception}" var="ee"/>
      <jsp:useBean id="ee" type="java.lang.Exception" />
      <%=ee.getMessage()%>ok,<br>
      
      
      <table id="errdiv" align="center" bgcolor="darkseagreen">
      <tr><td>
      <font color=red>
      <%ee.printStackTrace( new java.io.PrintWriter(out));%>
      </font>
      </td></tr></table>
      <input type="hidden" id="isHidde" value="true"/>
      <input type="button" id="showbtn" onclick="showErr();"/>

     </body>
    </html>


    posted on 2007-06-18 18:00 chenguo 閱讀(274) 評論(0)  編輯  收藏 所屬分類: Spring Dev

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    留言簿

    隨筆分類(1)

    文章分類(52)

    好友 小山的博客

    最新隨筆

    最新評論

    主站蜘蛛池模板: 猫咪免费人成网站在线观看入口| 国产亚洲av人片在线观看| 国产精彩免费视频| 99久久久国产精品免费蜜臀| 日本免费一区二区三区| 久久99精品视免费看| 亚洲欧洲免费视频| 51精品视频免费国产专区| 91精品国产免费网站| 亚洲免费观看网站| 国内精自视频品线六区免费| 最新欧洲大片免费在线 | 中文字幕乱码亚洲精品一区| 亚洲av无码片在线观看| 亚洲精品无播放器在线播放 | 亚洲国产精品成人久久久| 亚洲国产成人精品无码区在线秒播| 亚洲一级毛片免观看| 亚洲日产乱码一二三区别 | 亚洲一级大黄大色毛片| 亚洲精品无码成人片久久不卡| 国产成人 亚洲欧洲| 一级毛片一级毛片免费毛片| 免费无码又爽又刺激网站直播 | 国产99视频精品免费视频76| 久久免费精品一区二区| 国产成人精品免费午夜app | 24小时免费直播在线观看| 永久免费av无码网站大全| 亚洲第一福利网站在线观看| 国产亚洲福利精品一区| 亚洲网站在线播放| 久久综合亚洲色hezyo| 男女一边桶一边摸一边脱视频免费 | 亚洲AV无码专区亚洲AV伊甸园| 久久水蜜桃亚洲av无码精品麻豆| 久久久久亚洲国产| 一级做a爰性色毛片免费| 四虎影视成人永久免费观看视频 | 国产精品99久久免费观看| 2020久久精品国产免费|