spring拦截器

Posted 刚刚睡醒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring拦截器相关的知识,希望对你有一定的参考价值。

拦截器在SSM中的简单应用

一、创建一个类,实现拦截器接口HandlerInterceptor

public class CheckInterceptor implements HandlerInterceptor{

    /**
     * 执行最晚,做一些释放资源的工作
     */
    @Override
    public void afterCompletion(HttpServletRequest arg0,
            HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
        // TODO Auto-generated method stub
    }

    /**
     * 在拦截器放行之后执行,
     */
    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
            Object arg2, ModelAndView arg3) throws Exception {
        // TODO Auto-generated method stub
    }

    /**
     * 在进入拦截器之前执行,返回true就放行,继续请求控制器,返回false,就不执行
     */
    @Override
    public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
            Object arg2) throws Exception {
        User user = (User) arg0.getSession().getAttribute("user");
        if(user!=null){
            return true;
        }else{
            arg1.sendRedirect("../login.jsp");
            return false;
        }
    }

}

 

二、在spring核心配置文件配置

<!-- 拦截器 -->
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/jsp/*"/>
            <bean class="com.tools.CheckInterceptor"></bean>
        </mvc:interceptor>
    </mvc:interceptors>

 

以上是关于spring拦截器的主要内容,如果未能解决你的问题,请参考以下文章

spring---transaction---源代码分析(事务的拦截器TransactionInterceptor)

Spring aop 拦截不到Dao

spring方法拦截实例

spring-bootspring-boot项目中,通过thymleaf实现登录功能,这里是一个登录拦截器的参考代码

spring-boot 拦截器不拦截

spring事物源码分析篇三:业务代码的执行--事物增强器