|
|
如
果您的JSP網頁或Servlet在運行過程中丟出了例外,而您想捕捉這個例外,除了使用容器與JSP網頁中有關例外的捕捉設定方法之外(例如設定
web.xml的<error-page>標籤,或是設定JSP網頁"page"指令元素的"errorPage"屬性),您也可以在
DispatcherServlet的定義檔中設定錯誤處理網頁,設定一個ExceptionResolver的Bean實例,例如使用
org.springframework.web.servlet.handler.SimpleMappingExceptionResolver,一
個設定的例子如下所示: ...
<bean id="viewResolver" class="org.springframework.web.servlet. → view.InternalResourceViewResolver"> <property name="prefix"> <value>/WEB-INF/jsp/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> <bean id="exceptionResolver" class="org.springframework.web.servlet. → handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="java.sql.SQLException"> sqlexception </prop> <prop key="java.sql.IOException"> ioexception </prop> </props> </property> </bean> ... DispatcherServlet會自動應用ExceptionResolver,並在例外發生時使用指定的網頁來顯示錯誤訊息,例如在上面的設定中, 只要發生了SQLException,就會連接至/WEB-INF/jsp/sqlexception.jsp,而發生了IOException,就會連 接至/WEB-INF/jsp/ioexception.jsp。 |