在 servlet 中获取过滤器初始化参数
我有一个如下所示的过滤器:
<filter>
<filter-name>TestFilter</filter-name>
<filter-class>org.TestFilter</filter-class>
<init-param>
<param-name>timeout</param-name>
<param-value>30</param-value>
</init-param>
</filter>
因为我们正在谈论 ServletFilter 和 Servlet。本质上,我已经在我的 servlet 中并执行了 doFilter 的第一部分。所以容器必须知道初始化参数。我无权更改 Filter 类。
是否可以获取给定 HttpServletRequest 对象的 init-parameter 值?
我能想到的唯一解决方案是将 web.xml 作为资源读取并尝试手动查找该值。但感觉有更好的解决方案。
I have a filter that looks like this:
<filter>
<filter-name>TestFilter</filter-name>
<filter-class>org.TestFilter</filter-class>
<init-param>
<param-name>timeout</param-name>
<param-value>30</param-value>
</init-param>
</filter>
Since we are talking ServletFilter and Servlets. Essentially, I am already in my servlet and have executed the first part of the doFilter. So the container must know the init-parameter. I don't have access to change the Filter class.
Is it possible to get the init-parameter value given an HttpServletRequest object?
The only solution I can think of is to read the web.xml as a resource and try to find the value manually. But it feels like there is a better solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么您首先需要在 servlet 中使用它? Filter 参数属于过滤器。您的选择是:
上下文参数示例。
web.xml:
您的代码:
并且过滤器可以使用以下方式访问相同的参数值:
Why would you need it in your servlet to begin with? Filter parameter belongs to filter. Your options are:
Context parameter example.
web.xml:
your code:
and the filter would have access to the same param value using:
如果过滤器未声明为最终过滤器,您可以扩展它。例如,
然后更改 web.xml 以将过滤器类更改为您的。
If the filter is not declared final, you can extend it. For example,
Then change the web.xml to change the filter class to yours.