spring MVC的异常处理
方式一:SimpleMappingExceptionResolver
1.springmvc.xml
<!--异常处理--> <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="com.dss.exception.MyException">error/MyError</prop> </props> </property> <property name="defaultErrorView" value="error/Error"/> <property name="exceptionAttribute" value="ex"/> </bean>
注:添加此段代码!
2.ExceptionController.java
package com.dss.controller; import com.dss.exception.MyException; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; /** * 异常处理controller * */ @Controller public class ExceptionController { @RequestMapping("/exception.do") public ModelAndView myException(String name) throws Exception{ ModelAndView mv = new ModelAndView(); if ("jean".equals(name)){ throw new MyException("我的自定义异常"); } if (!"jean".equals(name)){ throw new Exception("异常"); } return mv; } }
3.Myexception.java
package com.dss.exception; /** * 自定义异常 * */ public class MyException extends Exception { public MyException(){ super(); } public MyException(String message){ super(message); } }
4.Error.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 默认异常<br> ${ex.message} </body> </html>
5.MyError.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 自定义 <br> ${ex.message} </body> </html>
6.浏览器访问


方式二:自定义异常处理
1.创建自定义异常的controller类
/** * 自定义异常 */ public class MyExceptionResolver implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { ModelAndView mv = new ModelAndView(); mv.addObject("ex", ex); //设置默认异常处理页面 mv.setViewName("error/Error"); //判断ex是否是MyException if (ex instanceof MyException) { //可以在这里面编写捕获到该异常之后的操作 //设置跳转页面 mv.setViewName("error/MyError"); } return mv; } }
2.在springmvc.xml文件中注册
<bean class="com.monkey1024.exception.MyExceptionResolver"/>
注:如果有其他异常处理方式的话,要把其他的给注释掉.
浙公网安备 33010602011771号