2011-12-25 10 views
-3

私のサーブレットに次のコードセグメントがあります。ここで何らかの理由で、1つのセッションを作成した後に同じユーザーのセッションを保持できません。あなたは、セッションが動作していないことを意味しているかに基づいてHttpSessionは機能しません

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
// TODO Auto-generated method stub 

response.setContentType("text/html"); 
PrintWriter writer = response.getWriter(); 
String userName = request.getParameter("userName"); 
HttpSession session = request.getSession(); 

if (userName != "" && userName != null) { 
    session.setAttribute("savedUserName", userName); 
} 

writer.println("Request parameter has user name as : " + userName + "<br />"); 
writer.println("Request session has user name as : " + (String) session.getAttribute("savedUserName") + "<br />"); 
    } 
+0

に変更する必要があります。 –

答えて

1

?唯一のシナリオは、userNameを提供していない場合です。その場合、nullとなります。下のコードが条件を間違った順序でテストしているため、セッションが作成されません。equalsチェックでequalsない!=

if (userName != "" && userName != null) { 
    session.setAttribute("savedUserName", userName); 
} 

あなたがあなたの質問に答えるために人々のためのあなたの以前の質問の答えを受け入れる必要があり

if (userName != null && !userName.equals("")) { 
    session.setAttribute("savedUserName", userName); 
} 
+0

ご意見ありがとうございます。私は問題を解決しました。 – Shahjalal

+0

@Shahjalal何が問題だったのですか?投稿したコードに関連していますか? –

関連する問題