3

そこで、ここで基本的な roo アプリケーションを構築する手順を実行しました: http://static.springsource.org/spring-roo/reference/html/beginning.html

サーバーを起動し、アプリで遊んでみましたが、URL に「jsessionid」があることに気付きました。

http://localhost:8080/pizzashop/pizzas;jsessionid=0A8EA5D9E8665C8AC80F141C3818F6BA?form

私はこれをまったく気にしません!URL にセッション ID が必要なのはなぜですか? これを取り除くことはできますか?これをそこに置くのは RESTful ではないようです。

4

4 に答える 4

4

これは標準のJavaEEの動作であり、サーブレットコンテナによって指示および制御されます。それは春とは何の関係もありません。

この前の質問を参照して、作成される理由と時期、およびそれを回避する方法を確認してください。

于 2010-11-02T15:47:18.220 に答える
1

他の質問ではこの答えが見当たらなかったので、説明したいと思いました。<c:url/>JavaとPHPでのセッションの動作方法は、クライアントが最初にセッションを開始したときにCookieを作成し、タグを使用したすべてのURLにJESSIONIDを追加することです。これを行う理由は、クライアントが最初にページにアクセスしたときに、サーバーがクライアントがCookieをサポートしているかどうかわからないためです。したがって、両方を実行します。次回はCookieを確認するため、Cookieが機能していることがわかっているため、実際にはURLを使用しなくなります。

これを無効にする方法はたくさんあります。セッションをまったく使用していない場合は、context.xmlにcookies = falseを指定することで、Cookieを無効にできます。これにより、セッションのCookieのみが無効になり、通常のCookieは無効になりません。次に、urlrewriteを使用してセッションIDを指定できます。

お役に立てば幸いです。

于 2010-11-02T15:54:07.757 に答える
0

どのアプリサーバーを使用していますか? クライアントで Cookie が有効になっているかどうかを確認するために、少なくとも最初の呼び出しでは、Weblogic が常に URL エンコードされたセッションと Cookie ベースのセッションを実行することを私は知っています。次回の呼び出しで URL セッション ID に一致する Cookie が見つからない場合は、引き続き URL からのセッション トークンを使用します。彼らが私たちの会社を Web クロールに Sharepoint を使用するように切り替え、この問題について長い間愚痴をこぼしていた Windows の Web 担当者を検索したときのことを私は知っています。

于 2010-11-02T16:15:36.820 に答える