• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
cnsdhzzl
博客园    首页    新随笔    联系   管理    订阅  订阅
springMVC系统异常处理及自定异常处理

配置系统异常处理器

1.后台模拟一个异常

@RequestMapping(value = "/myexception.do", produces = "text/html;charset=utf-8")
    public String myexception() {
        int a=5/0;
        return "/error.jsp";
    }

2.未配置系统异常时,前台访问报错500,配置系统异常处理器后成功进入错误页面

<bean
        class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="defaultErrorView" value="error.jsp"></property>
        <property name="exceptionAttribute" value="ex"></property>
    </bean>

3.前台页面

 错误页面${ex.message}

效果图:

配置自定义异常处理器

1.创建自定义异常类

public class MyException extends Exception{

    public MyException() {
        super();
    }

    public MyException(String message) {
        super(message);
    }

}
public class NameException extends MyException {

    public NameException() {
        super();
    }

    public NameException(String message) {
        super(message);
    }

}
public class AgeException extends MyException {

    public AgeException() {
        super();
    }

    public AgeException(String message) {
        super(message);
    }

}

2.配置处理器方法

@RequestMapping(value = "/exception.do", produces = "text/html;charset=utf-8")
    public String exception(String name, Integer age) throws NameException, AgeException {
        if (!name.equals("admin")) {
            throw new NameException("用户名错误");
        }
        if (age > 40) {
            throw new AgeException("年龄太大");
        }
        return "/result.jsp";
    }

3.配置applicationContext.xml

<!-- 注册系统异常处理器 -->
    <bean
        class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="defaultErrorView" value="error.jsp"></property>
        <property name="exceptionAttribute" value="ex"/>
        <!-- 自定义异常处理 -->
        <property name="exceptionMappings">
            <props>
                <prop key="cn.cnsdhzzl.exception.NameException">/customError/userNameError.jsp</prop>
                <prop key="cn.cnsdhzzl.exception.AgeException">/customError/userAgeeError.jsp</prop>
            </props>
        </property>
    </bean>

配置完成,再出现异常时就对进入对应的错误页面

 

posted on 2016-11-19 19:02  cnsdhzzl  阅读(495)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3