zoukankan      html  css  js  c++  java
  • Filter应用之-验证用户是否已经登录

    过滤器:

    public class LoginFilter implements Filter{
    
      @Override
      public void init(FilterConfig filterConfig) throws ServletException {
      }
    
      @Override
      public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
          throws IOException, ServletException {
        //转换成http...
        HttpServletRequest req = (HttpServletRequest) request;
        //获取session
        HttpSession session = req.getSession();
        //从Session中获取User
        if(session.getAttribute("user")==null){
          System.err.println("这货还没有登录。。。");
          req.getSession().setAttribute("msg", "请先登录");
          //重定向到登录
          HttpServletResponse resp = (HttpServletResponse)response;
          resp.sendRedirect(req.getContextPath()+"/index.jsp");
        }else{
          //放行
          chain.doFilter(request, response);
        }
        
      }
    
      @Override
      public void destroy() {
      }
    
    }

    web.xml:

    <filter>
          <filter-name>login</filter-name>
          <filter-class>com.lhy.filter.LoginFilter</filter-class>
      </filter>
      <filter-mapping>
          <filter-name>login</filter-name>
          <url-pattern>/jsps/*</url-pattern>
          <url-pattern>/view/*</url-pattern>
      </filter-mapping>

    jsp:

     <body>
       <c:choose>
            <c:when test="${empty sessionScope.name}">
                <form name="x" method="post" action="<c:url value='/LoginServlet'/>">
                    Name:<input type="text" name="name"/><br/>
                    auto:
                    <input type="radio" name="auto" value="-1">不自动登录
                    <br/>
                    <input type="radio" name="auto" value="1">1天<br/>
                    <input type="radio" name="auto" value="7">1周<br/>
                    <input type="submit"/>
                </form>
            </c:when>
            <c:otherwise>
                你已经登录了:${name}<br/>
                <a href="<c:url value='/LogoutServlet'/>">退出</a>
            </c:otherwise>
        </c:choose>
    
      </body>
  • 相关阅读:
    CSS3实战手册(第3版)(影印版)
    21世纪C语言(影印版)
    Spring Data:企业级Java的现代数据访问技术(影印版)
    Hive编程(影印版)
    iOS 6编程Cookbook(影印版)
    做自己——鬼脚七自媒体第一季
    放飞App:移动产品经理实战指南
    《推荐系统》+《推荐系统实践》
    步步惊“芯”——软核处理器内部设计分析
    ip的划分,超详细
  • 原文地址:https://www.cnblogs.com/lihaoyang/p/7381539.html
Copyright © 2011-2022 走看看