我有一个在 Tomcat 中运行的 Java HTTP Servlet。我有一个过滤器正在对请求进行一些预处理。过滤器包含一些 if/else 逻辑。 我想根据我的过滤器执行的操作在我的 servlet 处理代码 (doGet/doPost) 中设置一个 boolean 值。
将此信息从我的过滤器传递到我的 servlet 方法的正确方法是什么?一种想法是通过 setAttribute 方法更新请求,但我不确定这是否是正确的方法.
最佳答案
在你的doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
您可以使用 request
的方法对象并使用 request.setAttribute
设置属性方法,然后使用 request.getAttribute
在您的 servlet 中获取它.
参见文档:http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#setAttribute(java.lang.String , java.lang.Object)
关于Java Servlet 将值从过滤器传递到 Servlet 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46006097/