您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
04-SpringMVC异常处理-自定义异常处理器
发布时间:2025-01-13 21:12:58编辑:雪饮阅读()
-
继上篇,现在我们建立一个自定义异常解析器
package sp21.resolver;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
import sp21.exception.MyException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyExceptionResolver implements HandlerExceptionResolver {
/*
* 参数Exception 异常对象
* 返回值ModelAndView 跳转到错误视图信息
* */
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
ModelAndView modelAndView=new ModelAndView();
if(e instanceof MyException){
modelAndView.addObject("info","自定义异常");
}
else if(e instanceof ClassCastException){
modelAndView.addObject("info","类型转换异常");
}
modelAndView.setViewName("error/error");
return modelAndView;
}
}
然后修改上篇中error/error.jsp如:
<%--
Created by IntelliJ IDEA.
User: 1
Date: 2025/1/11
Time: 13:20
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
通用的错误提示页面
<h1>${info}</h1>
</body>
</html>
然后Spring MVC配置文件中配置自定义异常解析器以取代之前配置的异常解析器
<!--配置异常处理器-->
<!-- <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<map>
<entry key="java.lang.ClassCastException" value="error/error1"/>
<entry key="sp21.exception.MyException" value="error/error2"/>
</map>
</property>
</bean>-->
<!--配置自定义异常处理器-->
<bean class="sp21.resolver.MyExceptionResolver"/>
可以看到自定义异常处理器配置部分对比之前的异常处理的配置就简单不少了。
那么接下来访问如
http://localhost:8080/SpringProject2Module1_war/show
页面会输出
通用的错误提示页面
类型转换异常
访问如
http://localhost:8080/SpringProject2Module1_war/show5
则页面会输出
通用的错误提示页面
自定义异常
关键字词:SpringMVC,异常,自定义
相关文章
- 03-SpringMVC异常处理-简单异常处理器(defaultErrorVi
- 01-SpringMVC异常处理-异常处理的思路(异常何时抛出?何
- 09-SpringMVC拦截器-用户登录权限控制代码实现3
- 08-SpringMVC拦截器-用户登录权限控制代码实现2(exclu
- 07-SpringMVC拦截器-用户登录权限控制代码实现1
- 04-SpringMVC拦截器-快速入门详解(多拦截器与先进后出
- 03-SpringMVC拦截器-快速入门(解决System.out.println
- 27-SpringMVC的请求-文件上传-多文件上传的代码实现
- 26-SpringMVC的请求-文件上传-单文件上传的代码实现2
- 25-SpringMVC的请求-文件上传-单文件上传的代码实现1(