サーブレット2.5を使用するTomcat6を使用しています。ServletRequest
APIのサーブレット3.0で提供されるメソッドがあり、にServletContext
関連付けられたオブジェクトへのハンドルを提供しますServletRequest
。サーブレット2.5APIを使用しているときにServletContext
オブジェクトを取得する方法はありますか?ServletRequest
質問する
76046 次
1 に答える
83
で入手できますHttpSession#getServletContext()
。
ServletContext context = request.getSession().getServletContext();
ただし、これにより、望ましくない場合に不必要にセッションが作成される場合があります。
しかし、すでにHttpServlet
クラスのインスタンスに座っている場合は、継承されたGenericServlet#getServletContext()
メソッドを使用してください。
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext context = getServletContext();
// ...
}
または、すでにインターフェイスのインスタンスに座っている場合はFilter
、単にFilterConfig#getServletContext()
.
private FilterConfig config;
@Override
public void init(FilterConfig config) {
this.config = config;
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
ServletContext context = config.getServletContext();
// ...
}
于 2012-05-16T16:45:38.110 に答える