Java技术专题程序员

Spring MVC处理异常

2018-10-07  本文已影响37人  爱撒谎的男孩

Spring MVC处理异常

关于异常

Throwable
        Error
            OutOfMemoryError(OOM)
        Exception
            RuntimeException
                NullPointerException:某个为null的对象调用了属性或方法
                ClassCastException:强制转换为不匹配的数据类型
                ClassNotFoundException:尝试加载的类不存在
                IndexOutOfBoundsException:使用List集合时使用了越界的索引
                    ArrayIndexOutOfBoundsException:使用Array时使用了越界的索引
            SQLException:数据库相关异常
            IOException:输入输出(读写)异常
                FileNotFoundException:文件找不到

在Spring MVC中处理异常

准备演示案例

使用SimpleMappingExceptionResolver


    <bean class="xx.xx.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <props>
                <prop key="异常类的全名">View组件名</prop>
                <prop key="异常类的全名">View组件名</prop>
                <prop key="异常类的全名">View组件名</prop>
            <props>
        </property>
    </bean>

使用@ExceptionHandler

注意:使用SimpleMappingExceptionResolver处理异常时,不可以使用@ExceptionHandler!

    @ExceptionHandler
    public String handleException(
        HttpServletRequest request,
        Exception ex) {
        System.out.println(ex.getClass());
        
        if (ex instanceof NullPointerException) {
            return "error1";
        } else if (ex instanceof ArrayIndexOutOfBoundsException) {
            return "error2";
        } else {
            return "error3";
        }
    }

Spring MVC小结

  1. 解决MVC中V与C的关系的,即如何接收请求并响应;

  2. 在Spring的配置文件中,最主要的配置是组件扫描和ViewResolver;

  3. 重点掌握@RequestMapping注解,还有@RequestParam注解;

  4. 掌握在处理请求时,如何获取请求参数(2种)和封装转发数据(ModelMap);

  5. 理解转发和重定向;

  6. 学会使用Interceptor

  7. 学会处理异常。

上一篇下一篇

猜你喜欢

热点阅读