Java Servlet 将值从过滤器传递到 Servlet 代码

标签 java tomcat servlets

我有一个在 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/

相关文章:

java - Tomcat 8 - Maven + Spring + Hibernate - oracle 数据源错误

apache - 在哪里可以找到我在 Apache Tomcat 上部署的 Web 应用程序

java - 如何在 servlet 中为 Google App Engine 应用程序创建 Excel 文件?

java - AppEngine 连接的 Android 项目中的注释失败

java - 将数据添加到 href 时出错

java - 共享偏好 boolean 值总是返回 false

java - 仅调用 servlet 类的一个方法,而不是整个 servlet

java - 当抛出 RestClientException 时,如何检索 HTTP 状态代码和响应正文?

apache - 前面的tomcat集群apache - 如何负载均衡?

java - Servlet 中的 Spring @Autowired