ssm整合框架全局异常处理
时间: 2023-07-07 11:25:31 浏览: 190
SSM框架的全局异常处理一般可以通过以下步骤实现:
1. 在Spring配置文件中配置异常解析器(HandlerExceptionResolver),以捕获所有Controller中抛出的异常。
2. 实现一个自定义异常类,并继承Exception类,用于在程序中抛出自定义异常。
3. 在Controller中抛出自定义异常,并在自定义异常类中添加构造函数,以方便传递异常信息。
4. 在异常解析器中处理异常,根据异常类型返回不同的错误信息。
下面是一个简单的实现示例:
1. 在Spring配置文件中配置异常解析器:
```
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="java.lang.Exception">error</prop>
</props>
</property>
<property name="defaultErrorView" value="error"/>
</bean>
```
2. 自定义异常类:
```
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
```
3. 在Controller中抛出自定义异常:
```
@RequestMapping("/test")
public String test() throws MyException {
throw new MyException("test exception");
}
```
4. 在异常解析器中处理异常:
```
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
ModelAndView modelAndView = new ModelAndView();
if (ex instanceof MyException) {
modelAndView.addObject("message", ex.getMessage());
modelAndView.setViewName("error");
} else {
modelAndView.addObject("message", "unknown error");
modelAndView.setViewName("error");
}
return modelAndView;
}
```
在上面的示例中,如果Controller中抛出MyException异常,则异常解析器会返回错误信息"test exception",否则返回"unknown error"。
阅读全文