在我的工程里有一个装一些需要显示的html,
现在手动输入html的地址就能打开html。
现在希望如果没有登陆的话,手动输入html地址跳转到login画面。
请问各位高手怎么在web.xml里配置,或者有其他什么方法。
------解决方案--------------------
登录后把用户信息存session里面
每次进入页面时判断session,如果为空,则跳转至login页面
------解决方案--------------------
过滤器,采用 /* 形式进行过滤,在Filter中判断session中是否为空,通过URI排除登录页面。
过滤器中的doFilter方法基本上如下:
- Java code
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest)request; HttpServletResponse httpResponse = (HttpServletResponse) response; HttpSession session = httpRequest.getSession(); if(session.getAttribute(ApplicationSource.USER) == null && !httpRequest.getRequestURI().endsWith("/login.jsp") // 这些都是一些需要排除的页面 && !httpRequest.getRequestURI().endsWith("/calendar/") && (httpRequest.getRequestURI().indexOf("/calendar/img") < 0) && (httpRequest.getRequestURI().indexOf("/calendar/resources") < 0) && (httpRequest.getRequestURI().indexOf("/calendar/servlet") < 0) && !httpRequest.getRequestURI().endsWith("/login.do")){ httpResponse.sendRedirect(httpRequest.getContextPath() + "/login.jsp"); } chain.doFilter(request, response);}