package com.cyn.ssm.exception;
/*
* 自定义异常类
*/
public class MyException extends Exception {
//错误消息
private String msg;
public MyException() {
super();
}
public MyException(String msg) {
super();
this.msg = msg;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
package com.cyn.ssm.exception;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
/*
* 自定义全局异常处理器
*/
public class UserException implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2,
Exception e) {
//记录日志
e.printStackTrace();
//错误消息
String msg = "很抱歉,系统发生异常了,请联系管理员";
//如果为自定义异常,显示自定义消息
if(e instanceof MyException){
msg = ((MyException) e).getMsg();
}
//响应用户错误提示
ModelAndView model = new ModelAndView();
//返回错误消息
model.addObject("msg", msg);
//响应错误提示页面
model.setViewName("404");
return model;
}
}
- 第三步:在springmvc的核心配置文件中配置异常处理器----目的是将编写的异常处理器通过注入spring容器中来告知springmvc
<!-- 配置全局异常处理器 -->
<bean class="com.cyn.ssm.exception.UserException"/>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>异常提示</title>
</head>
<body>
${msg}
</body>
</html>