最好的建站平台,网站建设案例包括哪些,中国艺术设计联盟,做校服的网站2.1 异常描述
在J2EE项目的开发中#xff0c;不管是对底层的数据库操作过程#xff0c;还是业务层的处理过程#xff0c;还是控制层的处理过程#xff0c;都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常#xff0c;系统的代码耦合度高不管是对底层的数据库操作过程还是业务层的处理过程还是控制层的处理过程都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常系统的代码耦合度高工作量大且不好统一维护的工作量也很大。 那么能不能将所有类型的异常处理从各处理过程解耦出来这样既保证了相关处理过程的功能较单一也实现了异常信息的统一处理和维护答案是肯定的。下面将介绍使用Spring MVC统一处理异常的解决和实现过程。 3.2 异常处理三种方式
1使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver
2实现Spring的异常处理接口HandlerExceptionResolver 自定义异常处理器
3使用ExceptionHandler注解实现异常处理
3.3 方式一简单异常处理器SimpleMappingExceptionResolver(了解)
SpringMVC已经定义好了该类型转换器在使用时可以根据项目情况进行相应异常与视图的映射配置
!--配置简单映射异常处理器--bean class“org.springframework.web.servlet.handler.SimpleMappingExceptionResolver” property name“defaultErrorView” value“error”/ 默认错误视图property name“exceptionMappings”map entry keycom.itheima.exception.MyException valueerror/entry keyjava.lang.ClassCastException valueerror//map/property
/bean
3.4 方式二自定义异常处理步骤掌握
案例3自定义异常
需求发送请求在方法中出现异常了利用自定义的异常来处理异常把异常信息显示在自定义的错误页面。
步骤1自定义异常类
作用用来封装自己编写的异常信息
/*** 自定义异常类*/
public class SysException extends Exception{// 存储提示信息的private String message;public String getMessage() {return message;}public void setMessage(String message) {this.message message;}public SysException(String message) {this.message message;}}
步骤2自定义异常处理类
/*** 异常处理器*/
public class SysExceptionResolver implements HandlerExceptionResolver{/*** 处理异常业务逻辑* param request* param response* param handler* param ex* return*/public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {// 获取到异常对象SysException e null;if(ex instanceof SysException){e (SysException)ex;}else{e new SysException(系统正在维护....);}// 创建ModelAndView对象ModelAndView mv new ModelAndView();mv.addObject(errorMsg,e.getMessage());mv.setViewName(error);return mv;}
}
步骤3index页面发送一个请求
h3异常处理/h3
a hrefuser/testException 异常处理/a
步骤4页面控制器接收请求 Controller
RequestMapping(/user)
public class UserController {RequestMapping(/testException)public String testException() throws SysException{System.out.println(testException执行了...);try {// 模拟异常int a 10/0;} catch (Exception e) {// 打印异常信息e.printStackTrace();// 抛出自定义异常信息throw new SysException(查询所有用户出现错误了...);}return success;}
}
步骤5springMVC配置文件
配置一个异常处理类即可
!--配置异常处理器--
bean idsysExceptionResolver classcom.baijie.exception.SysExceptionResolver/
步骤6创建error页面存放异常信息
h3异常错误信息显示类/h3
${errorMsg}
3、项目中配置全局错误页面
项目中难免会出现404500等这种请求错误信息我们应当一旦出现异常的时候应该把错误响应到一个错误页面而不是直接把错误信息直接凉给浏览器显示
步骤1创建一个异常错误页面xxx.jsp 步骤2web.xml配置 步骤3结果