SpringMVC的HandlerInterceptor

小帅帅丶 发布于 2014/11/18 09:27
阅读 958
收藏 0
package com.xs.demo.inteceptor;

import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;


import com.xs.demo.entity.Userinfo;
import com.xs.demo.util.Constants;

public class PermissionsInteceptor implements HandlerInterceptor{

    @Override
    public void afterCompletion(HttpServletRequest arg0,
            HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
        System.out.println("最后执行");
    }

    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
            Object arg2, ModelAndView arg3) throws Exception {
        System.out.println("第二步执行");
    }
    public boolean isTimeOut(long old) {
        long now = new Date().getTime();
        long maxTime = Long.parseLong(Constants.SESSIONOUTTIME);
        if(now - old > maxTime*1000){
            return true;
        }else{
            return false;
        }
    }
    /**
     * 控制页面的访问
     */
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
            Object handler) throws Exception {
        System.out.println("第一步");
        String path = request.getServletPath();
        if(path.startsWith("/user/")){
            Userinfo userinfo = (Userinfo) request.getSession().getAttribute(Constants.LOGIN_INFO);
            if(null == userinfo && !path.startsWith("/user/gotoAdd/")){
                response.sendRedirect(request.getContextPath()+"/system/login.jsp");
                return true;
            }else{
                return false;
            }
        }
        System.out.println(handler.getClass().getName());
        return true;
    }

}




这个是验证是否登录的拦截器。但是当我登录以后。走的拦截只走一步。页面显示空白


加载中
0
小帅帅丶
小帅帅丶
原来是自己写错了
0
j
jjiasjdoijasid
使用 WebRequestInterceptor接口~
小帅帅丶
小帅帅丶
就这个还没搞清楚。谢谢你的建议
返回顶部
顶部