zoukankan      html  css  js  c++  java
  • SpringMVC的异常解决方案

      当用户访问网页的时候,不能让用户看的你的错误信息,我们一般就会将这些可能发生的异常提前添加好解决的方案,以免用户有不好的体验感

    第一种:Web.xml中设置异常相应页面

    这种情况当发生异常的404或者500类型的异常就会跳转到事先准备好的页面

     <error-page>
        <error-code>404</error-code>
    <!-- (里面写你的页面所存放的路径)-->
        <location>/jsp/404.jsp</location>
      </error-page>
        <error-page>
            <error-code>404</error-code>
    <!-- (里面写你的页面所存放的路径)-->
            <location>/jsp/500.jsp</location>
        </error-page>

    第二种:设置默认异常处理器

    <!--   默认异常处理器-->
    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="defaultErrorView" value="500"/>          <!--默认跳转的视图-->
        <property name="exceptionAttribute" value="exx"/>     <!--将异常信息放入作用域中-->
        <property name="exceptionMappings">             
            <props>
                <prop key="自定义的异常类">需要跳转的页面</prop>      <!--异常类需要继承Execption重写两个构造方法-->
            </props>
        </property>
    </bean>

    第三种:使用@ExceptionHandler进行处理异常

    在一个Controller控制器中定义此方法,一旦此控制器中的其他方法出现异常,就会执行这个方法

        @ExceptionHandler
        public ModelAndView ExceptionController(Exception ex){
            ModelAndView modelAndView=new ModelAndView("500");
            //保存异常信息到试图当中
            modelAndView.addObject("ex",ex);
            return modelAndView;
        }

    @ExceptionHandler方法其实也可以处理其他控制器的异常

    就是把上面的方法放到一个类中,在类的上面使用@ControllerAdvice注解来声明这个类是一个异常处理类

    package com.yjc.controller;
    
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.servlet.ModelAndView;
    
    @ControllerAdvice
    public class ThrowsControllerAdvice {
     @ExceptionHandler
        public ModelAndView ExceptionController(Exception ex){
            ModelAndView modelAndView=new ModelAndView("500");
            //保存异常信息到试图当中
            modelAndView.addObject("ex",ex);
            return modelAndView;
        }
    
    }
  • 相关阅读:
    JAVA多线程之守护线程
    有符号数与无符号数
    子母钟系统,GPS时钟系统,医院网络时间同步技术方案
    NTP时间同步服务器,GPS时钟系统,北斗授时产品,京准科技
    卫星时钟系统(NTP网络时钟系统)技术应用方案
    GPS对时产品,NTP校时,时间同步服务器,北斗授时设备
    GPS对时装置(NTP时钟服务器)应用安防监控系统
    考场时钟系统(标准化考场时钟同步建设)应用方案
    时间同步装置(GPS时钟)在电网SCADA系统应用
    网络时间服务器(医院时钟系统)相关问题汇总
  • 原文地址:https://www.cnblogs.com/yjc1605961523/p/11834578.html
Copyright © 2011-2022 走看看