1

2つのURLパターンを持つ(grails)Webアプリがあります:

/web/**

/rest-api/**

1つ目は、昔ながらのWebユーザーアクセスに使用され、30分のタイムアウトでhttpセッションを使用する必要があります。2番目のものはRESTインターフェースによって使用され、セッションをまったく含まないものとします(timeout = 0)。

同じWebアプリ内で両方のケースをサポートするようにTomcatを設定することは可能ですか、それとも分割する必要がありますか(後者は面白くありません)?

TIA

4

1 に答える 1

0

プログラムでセッションタイムアウトを上書きすることが可能です。Javaサーブレットでは、次のように実行されます。

request.getSession().setMaxInactiveInterval(30);

したがって、一方のサービスにデフォルトのweb.xml値を使用し、もう一方のサービスにプログラムで設定することができます。

また、Tomcatは、何らかのコードがHttpSessionにアクセスしない限り(通常はへの呼び出しを介してrequest.getSession())HttpSessionを作成しないことにも注意してください。したがって、セッションを持たないための最良の方法は、セッションにまったくアクセスしないことです。ただし、背後でセッションにアクセスしているサードパーティのライブラリを使用している場合、これを実現するのは難しい場合があります。

于 2012-10-28T16:12:23.750 に答える