2016-04-13 14 views
0

Filtre koduFiltre kodundaki session.getAttribute ("name") neden aşağıdaki kodda her zaman boştur?

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 

     HttpServletRequest req=(HttpServletRequest)request; 
     HttpSession session=req.getSession(); 
     String name=(String) session.getAttribute("name"); 
     System.out.println(name); 

    if(session == null || session.getAttribute("name") == null) 
      request.getRequestDispatcher("/RedLogin.html").forward(request, response); 
      else 
     chain.doFilter(request, response); 
    } 

Servlet girişi kontrol etmek:

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

     String username = request.getParameter("uname"); 
     String password = request.getParameter("pname"); 
     Authenticate authenticate = new Authenticate(); 

     try { 
      if (authenticate.authenticator(username, password)) { 

       HttpSession session = request.getSession(true); 
       session.setAttribute("name", username); 

       RequestDispatcher dis = request.getRequestDispatcher("/welcome.jsp"); 
       dis.forward(request, response); 

      } else { 
       response.sendRedirect("RedLogin.html"); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

cevap

0

Its muhtemelen filtrenin haritalama herhangi url için, çünkü sunucu uygulamasını içerir, bu asla servlet koduna olmaktadır böylece, session.getAttribute()

yapan
İlgili konular