springmvc 自定义异常处理器使用

第一步:自定义异常类;

package com.self.project.exception;

/**
 * 自定义异常类
 * @ClassName:MyException
 * @Description:TODO
 * @data: 2020年8月28日下午3:50:17
 */
public class MyException extends Exception{

	/**
	 * @Fields serialVersionUID : TODO
	 */
	private static final long serialVersionUID = 7717684827462834295L;

	private String msg;

	public MyException(String msg) {
		super();
		this.msg = msg;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
	
}

第二步:自定义异常处理器实现springMVC的异常处理器HandlerExceptionResolver;

 package com.self.project.exception;

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

import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
/**
 * 自定义的异常处理器,实现了springMVC异常处理器类HandlerExceptionResolver,前提是需要加入servlet-api依赖包
 * 然后需要在springMVC.xml文件中配置注入给类,使用时候直接调用自定义异常类,系统自动定义到该异常页面
 * @ClassName:MyExceptionResolver
 * @Description:TODO
 * @data: 2020年8月28日下午3:44:54
 */
public class MyExceptionResolver implements HandlerExceptionResolver{

	@Override
	public ModelAndView resolveException(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2,
			Exception arg3) {
		 String message="";
		//异常逻辑
		if (arg3 instanceof MyException) {
			message=((MyException) arg3).getMsg();
		}else {
			message="未知错误。。。";
		}
		ModelAndView mv=new ModelAndView();
		//重定向到这个页面
		mv.setViewName("error");
		mv.addObject("message",message);
		
		return mv;
	}

}

第三步:在springMVC.xml文件中配置自定义异常处理器



    
   
    
    
    
    

第四步:调用自定义异常类

springmvc 自定义异常处理器使用_第1张图片

你可能感兴趣的:(spring框架学习,spring)