同じ質問に戻ってきましたが、今回はより文書化されています。多くのサーブレットと JSP を含む Web アプリケーションがあります。アプリケーションにはログイン オプションがあります。LogIn サーブレットで新しいセッションを開始し、セッションにいくつかの情報を配置した後、JSP に進みます。
LogIn.java 関連コード:
HttpSession sess = request.getSession(true);
sess.setAttribute("GLN", user);
rd.forward(request, response);
転送すると、セッション属性を取得する Insert.jsp という Jsp ページが表示されます。
Insert.jsp 関連コード:
HttpSession sess = request.getSession(false);
if (sess != null){
out.println(sess.getAttribute("GLN"));
}
この後、サーブレット Adaugare.java に誘導するフォームができました。ここで私は同じことをします:
Adaugare.java コード:
HttpSession sess = request.getSession(false);
ここで問題が発生します。その後の編集: セッションが存在しないため、これは null を返します。次に、同じ Insert.jsp ファイルに転送すると、HttpSession sess = request.getSession(false); があっても、最初のセッションとは異なる新しいセッション ID を持つ新しいセッションが作成されます。したがって、明らかに out.println(sess.getAttribute("GLN")); null を返します。
これは長い話です。短いバージョン:
サーブレットから JSP に移動すると、セッションは問題ありませんが、JSP からサーブレットに移動すると、セッションがどこにも見つかりません。次に、JSP に転送すると、新しいセッションが作成されます。実際には、新しい Cookie を作成します。JSP と serlet から contextPath を出力すると、同じです。
しかし、ここで奇妙なことがあります。これは、mod_jk を使用して Apache でアプリケーションを実行したときに発生します。Tomcat からアプリを実行すると、正常に動作します.......
助けてください、私はこの問題で2週間立ち往生しています。
dan への回答: (コメントを待ちたいテキストで、自分の質問に返信するには 7 時間待つ必要があります) コメントされたすべての行を削除しました。それが大丈夫であることを願っています。私はサーバーの担当者ではありませんが、複数のワーカーではないと言われました。
worker.list=jk-status
worker.jk-status.type=status
worker.jk-status.read_only=true
worker.list=jk-manager
worker.jk-manager.type=status
worker.list=balancer
worker.balancer.type=lb
worker.balancer.error_escalation_time=0
worker.balancer.max_reply_timeouts=10
worker.balancer.balance_workers=node1
worker.node1.reference=worker.template
worker.node1.host=localhost
worker.node1.port=8109
worker.node1.activation=A
worker.balancer.balance_workers=node2
worker.node2.reference=worker.template
worker.node2.host=localhost
worker.node2.port=8209
worker.node2.activation=A
worker.template.type=ajp13
worker.template.socket_connect_timeout=5000
worker.template.socket_keepalive=true
worker.template.ping_mode=A
worker.template.ping_timeout=10000
worker.template.connection_pool_minsize=0
worker.template.connection_pool_timeout=600
worker.template.reply_timeout=300000
worker.template.recovery_options=3