1 springmvc的異常處理方式,暫時我知道的兩種 2 1.在controller中捕獲 3 /** 4 * 捕獲到異常,用於局部處理 5 * @ExceptionHandler (value={要捕獲的異常,能夠有多個}) 6 * @param e 7 * @param req 8 * @return 9 */ 10 @ExceptionHandler(value={UserException.class}) 11 public String handlerException(UserException e, HttpServletRequest req) 12 { 13 req.setAttribute("e", e); 14 return "error"; 15 } 16 2.在配置文件中聲明 17 <!-- 18 用SimpleMappingExceptionResolver實現異常處理 19 --> 20 <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> 21 <!-- 定義默認的異常處理頁面,當該異常類型的註冊時使用 --> 22 <property name="defaultErrorView" value="error"></property> 23 <!-- 定義異常處理頁面用來獲取異常信息的變量名,默認名爲exception --> 24 <property name="exceptionAttribute" value="ex"></property> 25 <!-- 定義須要特殊處理的異常,用類名或徹底路徑名做爲key,異常也頁名做爲值 --> 26 <property name="exceptionMappings"> 27 <props> 28 <prop key="com.kite.entity.UserException">error</prop> 29 <prop key="java.lang.Exception">error</prop> 30 </props> 31 </property> 32 </bean> 33 34 35 springmvc對靜態資源的處理 36 應爲在web.xml文件中配置了DispatcherServlet攔截了全部的請求,而視圖解析器也所有進行了解析,那麼靜態的資源也會被當作視圖來解析 37 那麼就須要對應的處理了 38 在springmvc的配置文件增長以下代碼 39 <mvc:annotation-driven /> 40 <!-- 對靜態資源的處理 對/resources/下的文件及子文件進行過濾 --> 41 <mvc:resources location="/resources/" mapping="/resources/**"/>