2012-05-16 20 views

Respuesta

74

Puede obtenerlo por el HttpSession#getServletContext().

ServletContext context = request.getSession().getServletContext(); 

Sin embargo, esto puede crear innecesariamente la sesión cuando no se desee.

Pero cuando ya está sentado en una instancia de la clase HttpServlet, simplemente use el método heredado GenericServlet#getServletContext().

@Override 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    ServletContext context = getServletContext(); 
    // ... 
} 

O cuando ya está sentado en una instancia de la interfaz Filter, sólo tiene que utilizar 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(); 
    // ... 
} 
+0

Y en un JSP http://stackoverflow.com/questions/2898390/java-jsp-servlet-equivalent-of-getservletcontext-from-inside-a-jsp – tgkprog

+3

@tgkprog: Santo, por favor, no! – BalusC

+0

Solo para probar, luego poner en un filtro – tgkprog

Cuestiones relacionadas