300

いつ/どのような条件でJSESSIONIDが作成されますか?

ドメインごとですか?たとえば、Tomcat アプリケーション サーバーがあり、複数の Web アプリケーションをデプロイする場合、JSESSIONIDコンテキスト (Web アプリケーション) ごとに異なるアプリケーションが作成されますか、それとも同じドメインである限り Web アプリケーション間で共有されますか?

4

5 に答える 5

54

JSESSIONIDCookie のもう1 つのソースに関する情報を次に示します。

Tomcat サーバーで実行される Java コードをデバッグしていました。コードのどこでも明示的に呼び出していませんでしたが、 Cookie がまだ設定されているrequest.getSession()ことに気付きました。JSESSIONID

最後に、Tomcat の下の作業ディレクトリにある JSP に対応する、生成された Java コードを調べました。

好むと好まざるとにかかわらず、サーブレットから JSP を呼び出すJSESSIONIDと、作成されるようです。

追加: 次の JSP ディレクティブを追加することで、次のことがわかりました。

<%@ page session="false" %>

JSESSIONIDの設定をJSPで無効にすることができます。

于 2009-09-29T17:33:14.750 に答える
8

ページに他の .jsp または .jspf (フラグメント) が含まれている場合は注意してください。設定しない場合

<%@ page session="false" %>

同様に、親ページは新しいセッションを開始し、JSESSIONID Cookie を設定します。

特に .jspf ページの場合、次のようなスニペットを使用して web.xml を構成すると、これが発生します。

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jspf</url-pattern>
    </jsp-property-group>
</jsp-config>

それらの中でスクリプトレットを有効にするため。

于 2013-06-19T16:47:15.623 に答える
2

カスタムタグを使用してJSPで生成されたリンクの場合、使用する必要がありました

<%@ page session="false" %>

JSPで

request.getSession().invalidate();

Struts アクションで

于 2009-10-09T21:08:04.530 に答える