码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC 拦截器实现

时间:2019-02-27 17:31:24      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:als   顺序   request   意思   cto   exception   pre   property   prope   

自定义拦截器类
public class SessionInterceptor extends HandlerInterceptorAdapter {

public SessionInterceptor() {
    // TODO Auto-generated constructor stub
}

private List<String> excludedUrls;

//通过属性注册不需要过滤的url list
public void setExcludedUrls(List<String> excludedUrls) {
    this.excludedUrls = excludedUrls;
}

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
    throws Exception {

    String requestUrl = request.getRequestURI();
    //排除不需要过滤的URL
    for(String url:excludedUrls) {
        if(requestUrl.endsWith(url)) {
            return true;
        }
    }
    //获取当前的会话session
    HttpSession session = request.getSession();
    if(session.getAttribute("userid") == null) {
        //若登录session过期或不存在就跳转到login页面
        request.getRequestDispatcher("/login.jsp").forward(request, response);
        return false;
    }
    return true;
}

}
springmvc-servlet.xml 拦截器注册

<mvc:interceptors>
<mvc:interceptor>

/login HandlerInterceptorAdapter不能拦截WEB-INF目录以外的jsp文件;若需拦截默认index.jsp;可以将index.jsp移动目录到WEB-INF下即可;

Spring MVC 拦截器实现

标签:als   顺序   request   意思   cto   exception   pre   property   prope   

原文地址:https://blog.51cto.com/6000734/2355681

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!