java – 在servlet中获取过滤器init参数
发布时间:2020-12-15 08:30:50 所属栏目:Java 来源:网络整理
导读:我有一个看起来像这样的过滤器: filter filter-nameTestFilter/filter-name filter-classorg.TestFilter/filter-class init-param param-nametimeout/param-name param-value30/param-value /init-param /filter 因为我们正在谈论ServletFilter和Servlets.
我有一个看起来像这样的过滤器:
<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和Servlets.本质上,我已经在我的servlet中并执行了doFilter的第一部分.所以容器必须知道init参数.我没有权限更改Filter类. 是否可以在给定HttpServletRequest对象的情况下获取init-parameter值? 我能想到的唯一解决方案是将web.xml作为资源读取并尝试手动查找值.但感觉有更好的解决方案. 解决方法
你为什么要在你的servlet中开始使用它? Filter参数属于filter.你的选择是:
>将所述参数移动到上下文init参数;您将能够从过滤器和servlet访问它. 上下文参数示例. web.xml中: <context-param> <param-name>param1</param-name> <param-value>value</param-value> </context-param> 你的代码: String paramValue = getServletContext().getInitParameter("param1"); 并且过滤器可以使用以下方法访问相同的参数值: String paramValue = filterConfig.getServletContext().getInitParameter("param1"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |