• SpringMVC 异常处理3种方案


    我们的程序中难免会出现异常,但是出现异常后直接把500视图返还给用户太不友好了,所以我们可以使用SpringMVC中的异常处理机制来解决这个问题;

    怎么使用SpringMVC的异常处理机制呢;

    1.在spring配置文件中配置异常处理器

       <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
      //默认的异常配置
         <property name="defaultErrorView" value="/erro.jsp"></property> </bean>

    只要配置了异常处理器,当系统发生异常时,就会自动跳转的配置的默认异常页面;

    2.如果我们要在页面中打印异常信息怎么办呢?

    其实很简单,只要在异常处理器中注入异常对象就可以了

       <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
          <property name="defaultErrorView" value="/erro.jsp"></property>
      //注入异常对象 <property name="exceptionAttribute" value="ex"></property> </bean>

    发生异常时,系统会自动将异常对象放入作用域,value值就是对象名!

    3.如果我们想在发生不同异常时,使页面跳转到相应的异常页面呢?

    3.1首先我们需要创建一个自定义异常类;

    public class UserException extends Exception {
        public UserException() {
            super();
        }
        public  UserException(String message){
            //调用父类带参构造,方便写入异常信息
            super(message);
        }
    }

    ok,,用户异常我们就有了

    下面我们把这个异常的处理方式配置给异常处理器就可以了;

       <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
          <property name="exceptionAttribute" value="ex"></property>
          <property name="exceptionMappings">
             <props>
                <prop key="cn.lhl.exception.UserException">/erro.jsp</prop>
             </props>
          </property>
    
       </bean>
  • 相关阅读:
    竞争冒险及其消除
    [C++]重复单词统计
    [C++]智能指针与常规new
    基于go的生产者消费者模型
    cin的返回对象
    为什么map对象不能使用stl中的sort函数
    opencv
    operator ->
    记一次源码分析
    iconfig1
  • 原文地址:https://www.cnblogs.com/www-datou-com/p/6768091.html
Copyright © 2020-2023  润新知