Session variables in ServletRequest

Alex picture Alex · Feb 21, 2013 · Viewed 18.9k times · Source

I need to access session variables through a filter. I don't even know if it is possible. In practice, the problem is that the doFilter method type from javax.Servlet.Filter implementation is ServletRequest, whilst HttpServlet inherited classes, doPost method parameter request is HttpServletRequest.

  1. Can I access session in ServletRequest in a Filter?
  2. Should I do that?
  3. What could you recommend me?

Thanks!

Answer

BalusC picture BalusC · Feb 21, 2013

Just cast the obtained ServletRequest to HttpServletRequest.

@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) req;
    HttpSession session = request.getSession(false);
    // ...
}

See also: