我需要通过过滤器访问 session 变量。我什至不知道是否可能。实际上,问题在于doFilter
实现中的javax.Servlet.Filter
方法类型是ServletRequest
,而HttpServlet继承了类,而doPost方法参数request
是HttpServletRequest。
谢谢!
最佳答案
只需将获得的 ServletRequest
转换为 HttpServletRequest
即可。
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpSession session = request.getSession(false);
// ...
}
也可以看看: