私のアプリケーションから様々なイベントに対して動的にポップアップ表示されるフォームがあるシナリオがあります。私はフォームを記入し、それを提出してセッションの満了を引き起こします。フォーム提出時にセッションの有効期限が切れた
リクエストヘッダーの値をフォームに出力すると、jsession idが見つからないか、新しいjseesion idが作成されることがあります。
これは頻繁に起こることではありません。作業中のケースでは、私はjsession IDを紛失していないか、または異なるJseesion IDを取得していません。
提案がありますか?
以下はコードサンプルです。
<HTML>
<HEAD>
</HEAD>
<%
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements())
{
String headerName = headerNames.nextElement();
String headerValue = request.getHeader(headerName);
System.out.println("Header Name " +headerName);
System.out.println("headerValue " +headerValue);
}
%>
<body>
Comments </br>
<form name = 'savefrm' action ='save.jsp'>
<textarea name = 'comments' id = 'text' cols=38 rows=8>"+comments.trim()+"</textarea>
<input type="submit" value="ok"/>
</form>
</body>
</html>
これは別のサーブレットまたはアプリケーション内の1つですか? – Virtual
アプリケーションのサーブレットに組み込まれていません。 – tpsharish
これがサーバーまたはクライアントの問題である場合は、最初に除外してください。それを判断するには、HTTPトラフィックを追跡する必要があります。 Chrome/IE9/FirebugではF12キーを押して「ネットワーク」のトラフィックを確認できます。要求/応答ヘッダーを調べます。必要に応じてさまざまなブラウザを試して、動作が同じかどうかを確認してください。クライアントが既にリクエストされた正しいJSESSIONIDクッキーを送信しているにもかかわらず、新しいJSESSIONIDクッキーを返すサーバーが実際にあれば、それはサーバーの問題です。そうでなければクライアントの問題です。 – BalusC