ServletRequest中的会话变量

Ale*_*lex 13 java servlets servlet-filters

我需要通过过滤器访问会话变量.我甚至不知道是否有可能.在实践中,问题是实现的doFilter方法类型javax.Servlet.FilterServletRequest,虽然HttpServlet继承了类,但doPost方法参数request是HttpServletRequest.

  1. 我可以在过滤器中访问ServletRequest中的会话吗?
  2. 我应该这样做吗?
  3. 你能为我推荐什么?

谢谢!

Bal*_*usC 26

只需将获得的内容投射ServletRequestHttpServletRequest.

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

也可以看看: