SpringMVC 中的异常处理

IT技术2年前 (2022)发布 投稿用户
0

说到SpringMVC中的反常处理,就不得不提提java基础中的反常了,相信我们也都不陌生,这里就不再概述,具体可参阅,不淋漓尽致地catch我不爽快!其次再来谈谈SpringMVC中的反常处理。

@
我们都知道我们所谓的反常首要包括两类:编译反常和运转时反常RuntimeException,前者经过捕获反常然后获取反常信息,后者首要经过规范代码开发、测试经过手段减少运转时反常的发生。
实际上SpringMVC中的反常处理的原理便是:我们编写的dao、service、controller出现反常都经过throwsException向上抛出,最终由前端控制器交由HandlerExceptionResolver反常处理器进行反常处理!
1、搭建编码剖析
接下来便是编码阶段。其首要便是自定义一个反常类和对应反常页面,中心则是HandlerExceptionResolver反常处理器,需要自定义一个类实现HandlerExceptionResolver接口并编写其中的办法resolveException,然后在springmvc.xml中装备。最终便是一些请求呼应的事务逻辑以及页面的搭建了。
2、编写反常类
编写一个自定义反常类,继承Exception类
//自定义反常类packagecom.Exception;
publicclassSysExceptionextendsException{//反常提示信息字段privateStringmessage;
publicSysException(Stringmessage){this.message=message;
}
@Override
publicStringgetMessage(){returnmessage;
}
publicvoidsetMessage(Stringmessage){this.message=message;
}
}
3、编写自定义反常处理器
简单来说便是自定义一个类实现HandlerExceptionResolver接口并编写其中的办法resolveException
packagecom.Exception;importorg.springframework.web.servlet.HandlerExceptionResolver;importorg.springframework.web.servlet.ModelAndView;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;
publicclassSysExceptionResolverimplementsHandlerExceptionResolver{
@Override
publicModelAndViewresolveException(HttpServletRequesthttpServletRequest,HttpServletResponsehttpServletResponse,Objecto,Exceptione){//获取到反常目标SysExceptionsysException=null;if(einstanceofSysException){
sysException=(SysException)e;
}else{
sysException=newSysException(“系统正在维护升级ing….”);
}//创立ModelAndView目标ModelAndViewmv=newModelAndView();//使用“errorMsg”存入提示信息mv.addObject(“errorMsg”,sysException.getMessage());
mv.setViewName(“error”);returnmv;
}
}

Java


4、在springmvc.xml中装备反常处理器
<beanid=”sysExceptionResolver”class=”com.Exception.SysExceptionResolver”/>
5、编写Error.jsp、index.jsp页面
Error.jsp页面
<%@pagecontentType=”text/html;charset=UTF-8″language=”java”isELIgnored=”false”%><html><head><title>Titletitle>head><body>${errorMsg}body>html>
index.jsp页面
<%@pagecontentType=”text/html;charset=UTF-8″language=”java”%><html><head><title>Titletitle>head><body><h3>反常处理h3><ahref=”user/testExcepting”>反常处理链接a>body>html>
6、编写collector代码模仿反常
@RequestMapping(“/user/testExcepting”)
publicStringtestException()throwsSysException{try{
inta=1/0;
}catch(Exceptione){
e.printStackTrace();thrownewSysException(“查询出现错误了…”);
}return”success”;
}
7、运转效果
在这里插入图片描绘
OK,如上效果说明SpringMVC反常处理成功!
假如本文对你有一点点协助,那么请点个赞呗,谢谢~

© 版权声明
好牛新坐标 广告
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章