6

Java Servlet API で を取得する唯一の方法は、 ( JavadocServletContext )のインスタンスを使用することです。HttpSession

セッションを作成せず、サーブレット コンテキストのみが必要な場合はどうすればよいですか? つまり、クラスgetServletContext()にメソッドがないのはなぜですか。HttpServletRequest

編集

ServletContext初期化中にサーブレットを受け取るので、サーブレット自体から取得できることはわかっています。HttpServletRequestただし、サーブレットにリンクされていても、単独では取得できません。では、リクエストがあってもサーブレットへの参照がない場合はどうなるでしょうか?

4

3 に答える 3

8

getServletContext()GenericServletの親クラスの一部であるHttpServletため、サーブレット実装で呼び出すことができるはずです。

編集:

HttpServletRequestサーブレット 3.0以降を継承getServletContext()しているため、3.0 より前のバージョンを使用する必要がある場合は、リクエスト オブジェクトとレスポンス オブジェクトと共にコンテキストを渡す必要があるようです。ServletRequest

于 2011-10-21T09:04:27.947 に答える
3

リクエストを処理するすべてのエンティティ (サーバー、フィルター、ページ) が独自のgetServletContext(またはinit())を持っているだけです。

于 2011-10-21T09:01:22.247 に答える
1

サーブレット クラスには、リクエストに移動する必要のない getServletContext() メソッドがあります。

これは理にかなっています。サーブレット自体にはコンテナーによって提供されるコンテキストがあり、これは特定の要求とは無関係です。

于 2011-10-21T09:02:22.717 に答える