servlets - usar - servlet example
¿Cómo obtener el contexto del servlet de ServletRequest en Servlet 2.5? (1)
Estoy usando Tomcat 6 que usa Servlet 2.5. Hay un método provisto en Servlet 3.0 en la API ServletRequest
que da un manejador al objeto ServletContext
asociado con ServletRequest
. ¿Hay alguna forma de obtener el objeto ServletContext
de ServletRequest
mientras se usa la API de Servlet 2.5?
Puede obtenerlo mediante 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 GenericServlet#getServletContext()
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 de Filter
, simplemente use 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();
// ...
}