异常处理

来源:互联网 发布:培训矩阵 含义 编辑:程序博客网 时间:2024/06/05 13:06

1. 异常介绍

异常,就是不正常。异常可以分类为预期的异常和运行时异常。预期异常可以通过捕获进行处理,运行时异常只能通过规范代码,增加测试来减少。

2. 异常处理思路

请求流程:客户端(浏览器)->前端控制器(DispatcherServlet->表现层(controller->业务层(service-持久层(dao)。

 

处理思路:从dao层开始,每一层发生异常,都向上一层抛出,一直抛到前端控制器,前端控制器需要调用一个异常处理器来处理异常,返回一个友好的提示页面。

3. 异常处理思路

请求流程:客户端(浏览器)->前端控制器(DispatcherServlet->表现层(controller->业务层(service-持久层(dao)。

 

处理思路:从dao层开始,每一层发生异常,都向上一层抛出,一直抛到前端控制器,前端控制器需要调用一个异常处理器来处理异常,返回一个友好的提示页面。



4. 自定义系统异常类型

public class MyException extends Exception {// 异常消息private String message;/** *  */public MyException() {super();}/** * @param message */public MyException(String message) {super();this.message = message;}/** * @return the message */public String getMessage() {return message;}/** * @param message the message to set */public void setMessage(String message) {this.message = message;}}

5. 自定义异常处理器

说明:自定义异常处理器需要实现接口(HandlerExceptionResolver)。

public class MyExceptionHandler implements HandlerExceptionResolver {/* (non-Javadoc) * @see org.springframework.web.servlet.HandlerExceptionResolver#resolveException(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, java.lang.Exception) */@Overridepublic ModelAndView resolveException(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex) {// TODO Auto-generated method stub// 1.声明系统异常MyException mye = null;if(ex instanceof MyException){mye = (MyException) ex;}else{// 如果不是系统异常,叫做未知异常mye = new MyException("未知异常!");}// 2.创建ModelAndView对象ModelAndView mav = new ModelAndView();mav.addObject("message", mye.getMessage());mav.setViewName("error/error");return mav;}}

6. 配置异常处理器

说明:但凡自定义的都需要在springmvc.xml文件中配置。

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd        http://www.springframework.org/schema/mvc         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd        http://www.springframework.org/schema/context         http://www.springframework.org/schema/context/spring-context-4.0.xsd">                <!-- 配置组件扫描controller -->        <context:component-scan base-package="cn.mbx.ssm.controller"></context:component-scan>                <!-- 注解驱动方式配置处理器映射器,处理器适配器 -->        <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>                <!-- 配置转换服务 -->        <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">        <property name="converters">        <set>        <bean class="cn.mbx.ssm.converter.DateConverter"></bean>        </set>        </property>        </bean>                <!-- 配置视图解析器 -->        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <!-- 配置视图的公共目录路径 -->        <property name="prefix" value="/WEB-INF/jsp/"></property>        <!-- 配置视图扩展名称 -->        <property name="suffix" value=".jsp"></property>        </bean>                <!-- 异常处理器配置 -->        <bean class="cn.mbx.ssm.exception.MyExceptionHandler"></bean></beans> 







阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 嘻哈星节奏 嘻哈帮 嘻哈英文 嘻哈新节奏 印度有嘻哈 嘻哈军团 嘻哈图片 嘻哈文化 嘻哈手势 嘻哈帝国 嘻哈小天才 嘻哈舞 嘻哈歌曲 嘻哈嘻哈 嘻哈色 嘻哈手游 嘻哈涂鸦 嘻哈天王 嘻哈平沿帽 嘻哈英语 嘻哈发型 嘻哈套装 嘻哈元素 嘻哈上衣 嘻哈女孩 嘻哈街舞帮 嘻哈戒指 嘻哈纹身 嘻哈影院 嘻哈打招呼 嘻哈歌 巨星从有嘻哈开始 巨星嘻哈开始 卢小鱼嘻哈三部曲 巨星嘻哈开始言叶澈 嘻哈三部曲之幽浮目击者 嘻哈四重奏第五季 嘻哈四重奏第一季 赵云嘻哈天王皮肤如何得到 美国有嘻哈在哪里看 美国嘻哈街头潮人穿搭