SpringMvc拦截器与异常处理(个人笔记)

SpringMvc的异常处理:
    浏览器--->前端控制器--->web--->service--->dao这是执行过程,那么当异常从dao抛出一直向上抛到前端控制器时
    就需要做相应的处理,即异常处理!

    那么自定义异常处理器需实现HandlerExceptionResolver接口。然后配置bean即可

    异常处理器配置:
        1.编写自定义异常类
        2.编写异常处理器
        3.配置异常处理器Bean(跳转到提示)

SpringMvc拦截器:
    filter和interceptor是前端控制器之后的组件,所以使用/*,拦截器类似servlet开发中的filter
    用于对处理器进行预处理和后处理
        过滤器和拦截器的区别:
            过滤器:servlet规范中的一部分,任何java web工程都可以使用
            拦截器:spring mvc框架自己的,只有使用spring mvc框架才可以使用
            过滤器:url-pattern中配置/*之后,可以对所有放文的资源拦截
            拦截器:只会拦截访问控制器的方法,如果访问的是jsp,html,css,image或者js不会拦截
        拦截器也是AOP思想的具体应用

    实现拦截功能:
        1.编写拦截器类,需要实现HandlerInterceptor接口
            可以重写里面的方法
                preHandle预处理方法,返回false表示不放行,controller也不会执行
                postHandle后处理方法,可用于关闭资源
                afterCompletion会在success.jsp执行后,执行此方法
                小结:预处理与后处理方法都可以指定下一步的处理:转发、重定向...

                程序测试日志输出如下:
                    拦截器预处理  执行
                    拦截器后处理  执行
                    error.jsp执行
                    success.jsp执行
                    拦截器完成后  执行
            
        2.配置拦截器
            springmvc.xml中配置拦截器
                <mvc:interceptors>
                    <!--配置具体的拦截器-->
                    <mvc:interceptor>
                        <!--拦截的路径-->
                        <mvc:mapping path="/my/**"/>
                        <!--拦截所有的访问-->
                        <!--<mvc:mapping path="/**"/>-->
                        <bean class="com.kali.interceptor.MyInterceptor"/>
                    </mvc:interceptor>
                </mvc:interceptors>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值