您的位置:首页 > 编程语言 > Java开发

springmvc 全局登陆 拦截器配置

2015-10-12 18:06 453 查看
最近在做一个管理系统,要求是首页是登陆界面 ,我的DispatcherServlet servlet 是过滤所有的请求
<!-- Map all requests to the DispatcherServlet for handling -->	<servlet-mapping>		<servlet-name>DispatcherServlet</servlet-name>		<url-pattern>/*</url-pattern>	</servlet-mapping>
    @RequestMapping(value = {"","/","index.html"})    public String index() {	return "index";    }
上面的代码是为了设置欢迎页面在首页的登陆界面中,form 表单的地址是 "/login" 以上是我的项目的背景,下面是正式的登陆代码实现我们对全局的拦截登陆
public class GlobalLoginInterceptor implements HandlerInterceptor {  pblic boolean preHandle(HttpServletRequest request,	    HttpServletResponse response, Object handler) throws Exception {	String requesturi = request.getRequestURI();	String contextPath = request.getContextPath();	String url = requesturi.substring(contextPath.length());	//当所访问的地址是首页,或者是 登陆表彰的form acion 路径时,我们不对他进行拦截	if(url.endsWith("/")||url.endsWith("index.html")||url.endsWith("login")){	    return true;	}	   		User attribute = (User) request.getSession().getAttribute(			"user");		// 判断是否有Session ,如果不存在,则跳转到登陆页面		if (attribute == null) {		    response.sendRedirect(contextPath+"/index.html");		    // request.getRequestDispatcher("/").forward(request,		    // response);		    return true;		}			return true;    }	 public void postHandle(HttpServletRequest request,	    HttpServletResponse response, Object handler,	    ModelAndView modelAndView) throws Exception {	}	public void afterCompletion(HttpServletRequest request,	    HttpServletResponse response, Object handler, Exception ex)	    throws Exception {    }}
以上是我主要的拦截核心代码,如有不正确的,可能给我留言,谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: