2016-04-28 69 views
0

我已經創建了一個映射到userbean的loginservlet,現在我無法設置會話屬性並將其獲取到jsp頁面中。請告訴我如何解決這個問題。我如何在ejb中設置和獲取會話屬性

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

    String username = request.getParameter("Username"); 
    String password = request.getParameter("Password"); 

    PrintWriter pw = response.getWriter(); 
    // pw.println("Username: " + username); 
    // pw.println("Password: " + password); 
    //String CurrentUsername=(String)session.setAttribute("Username"); 
    // HttpSession session = request.getSession(); 
// String currentusername = (String)request.getAttribute(username); 
    //session.setAttribute("CurrentUser", username); 
    if (userBean.login(username, password)) 
     // pw.println("Login Successful"); 

    response.sendRedirect("my-account.jsp?username="+username); 
    else 
     pw.println("Login Failed"); 

} 

這是loginservlet我一直在嘗試它,我已經評論過所有的方法iv試過。我應該可以通過該會話屬性檢索其他數據,如密碼。請告訴我一種獲取jsp頁面屬性的方法。提前致謝。

<% 
     String CurrentUsername=(String)session.getAttribute("CurrentUser"); 
     request.setAttribute("CurrentUser",CurrentUsername); 
     // session.getAttribute("CurrentUser"); 
     out.println(CurrentUsername); 

     %> 

這是我在jsp頁面試圖

+0

<% String CurrentUsername =(String)session.getAttribute(「CurrentUser」); request.setAttribute(「CurrentUser」,CurrentUsername); // session.getAttribute(「CurrentUser」); out.println(CurrentUsername); %> –

回答

0

也許你忘了設置在頁面指令中的會話屬性。

<%@ page session="true" %> 

既然你沒有發佈整個JSP,但只有scriplet,我不能確定。 另外我不認爲這個問題與EJB有什麼關係。

+0

那麼你是否想說我所評論的所有內容都是正確的? –

+0

NO。代碼沒有意義:您同時使用Servlet和JSP進行憑據檢查,而其中一個就足夠了。此外,您還設置了會話和請求屬性(?!)。我的答案是關於使用會話內置對象。 –