全局异常处理器

输入图片说明

输入图片说明

输入图片说明

自定义异常类:java

package com.shi.ssm.exception;

/*
 * 自定义异常类
 */
public class CustomException extends Exception{
	private static final long serialVersionUID = 1L;
	private String message;
	public CustomException(String message){
		this.message=message;
	}
	public CustomException(){
		
	}
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
}

输入图片说明

package com.shi.ssm.exception;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;

/*
 * 全局异常处理器
 * ex 就是系统抛出的异常
 */
public class CustomExceptionRersolver implements HandlerExceptionResolver{

	@Override
	public ModelAndView resolveException(HttpServletRequest request,
			HttpServletResponse response, Object handler, Exception ex) {
		//handler就是处理器适配器要执行的handler对象(只有method)
		 
		String message=null;
		//解析出异常类型。
		//若是是系统自定义的异常:直接取出异常信息,在错误页面展现
		/*if(ex instanceof CustomException){
			message=((CustomException)ex).getMessage();			
		}else{
			//若是不是系统自定义的异常,运行时异常,构造一个自定义的异常类型,(信息为“未知异常”)
			message="未知错误";
		}*/
		//上边代码改成
		CustomException customException=null;
		if(ex instanceof CustomException){
			customException=(CustomException)ex;
		}else{
			customException=new CustomException("未知错误");
		}
		//错误信息封装到页面
		ModelAndView mv=new ModelAndView();
		mv.addObject("message", customException.getMessage());
		mv.setViewName("/WEB-INF/error.jsp");
		return mv;
	}
	
}

输入图片说明

<!-- 配置一个全局异常信息处理器 -->
	<bean class="com.shi.ssm.exception.CustomExceptionRersolver"></bean>
相关文章
相关标签/搜索