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/**"/>