我在Tomcat中运行了一个Java HTTP Servlet。我有一个过滤器正在对请求进行一些预处理。过滤器包含一些if / else逻辑。 我想根据我的过滤器执行的操作在我的servlet处理代码(doGet / doPost)中设置一个布尔值。
将此信息从我的过滤器传递给我的servlet方法的正确方法是什么?一个想法是通过setAttribute方法更新请求,但我不确定这是否是正确的方法
答案 0 :(得分:4)
在doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
方法中,您可以使用request
对象并使用request.setAttribute
方法设置属性,然后使用request.getAttribute
将其放入您的servlet中。
参见docs:http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#setAttribute(java.lang.String,java.lang.Object)