在我的工程里有一个装一些需要显示的html,现在手动输入html的地址就能打开html。现在希望如果没有登陆的话,手动输入html地址跳转到login画面。请问各位高手怎么在web.xml里配置,或者有其他什么方法。

解决方案 »

  1.   

    登录后把用户信息存session里面
    每次进入页面时判断session,如果为空,则跳转至login页面
      

  2.   

    我要跳转的画面就是一个html,非常单纯的html。不走后台
      

  3.   

    过滤器,采用 /* 形式进行过滤,在Filter中判断session中是否为空,通过URI排除登录页面。过滤器中的doFilter方法基本上如下: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);
    }