質問: Comment.java(servlet)で、何もせずに、request先のcomment.jspで、 ``` User loginUser=(User)session.getAttribute("loginUser"); ``` をして、 loginUser.getName()をしてもnullになるのですか? コードの流れ的には、comment.javaの前に、Login.java(servlet)で、 ``` User user=new User(name,pass); HttpSession session=request.getSession(); session.setAttribute("loginUser", user); ``` をしているのですが、 この作業をComment.javaでもしなくてはいけないのでしょうか? Login.javaで、doPostで受け取ったname,passで、userを作り、sessionスコープに代入しています。 その後、jspで、loginUserを使用して、次の作業となる、コメントを入力するComment.javaにいき、そこでは、リクエストパラメータは、コメント内容なのでuserは作らず、何もせずJSPにrequestして、最初にgetAttributeして、loginUserに代入して、getしようとしてもsessionの中身は使えないのでしょうか?
回答: session属性は、セッションが破棄されるまでは他のサーブレットやJSP間で共有されます。 もし入っていない場合は、以下の原因が考えられるかと。 * session属性に格納している内容がnull(格納しているはずの内容をただしく取得できていない) * session属性に格納している名前が違う