私は Servlet 2.5 を使用する Tomcat 6 を使用しています。 Servlet 3.0 の API には、に関連付けられたオブジェクトServletRequest
へのハンドルを提供するメソッドが用意されています。 Servlet 2.5 API を使用しながらからオブジェクトを取得する方法はありますか?ServletContext
ServletRequest
ServletContext
ServletRequest
ベストアンサー1
入手するには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();
// ...
}