English 中文(简体)
服务器中的过滤内参数
原标题:Get filter init parameters in a servlet
  • 时间:2009-09-22 17:07:04
  •  标签:

我有一个这样的过滤器:

   <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>

既然我们谈论的是SerletFilter和Serlets。 基本上,我已经坐在我的保护伞上,并且已经完成了警犬的第一部分。 因此,集装箱必须知道直径。 我没有机会改变激光器。

www.un.org/Depts/DGACM/index_spanish.htm 鉴于HttpServletRequest的物体,能否获得直径值?

我认为,唯一的解决办法是将网络xml作为资源,并尝试手工找到价值。 但它认为,找到更好的解决办法。

最佳回答

你们为什么需要从你手中开始呢? 过滤器参数属于过滤器。 你的选择是:

  1. Move said parameter to context init parameter; you ll be able to access it from both filter and servlet.
  2. In your filter s doFilter method set an attribute (on request) with parameter value, have you servlet read it.

背景参数例子。

网络:

  <context-param>
    <param-name>param1</param-name>
    <param-value>value</param-value>
  </context-param>

页: 1

String paramValue = getServletContext().getInitParameter("param1");

过滤器可使用以下方法获得同样的准值:

String paramValue = filterConfig.getServletContext().getInitParameter("param1");
问题回答

如果过滤器没有被宣布为最终过滤器,你可以延长。 例如,

public class MyFilter extends TheirFilter {
    public void init(javax.servlet.FilterConfig filterConfig) 
        throws javax.servlet.ServletException {
        super(filterConfig);
        // Retrieve the parameter here
    }
}

然后将网络xml改为过滤器。





相关问题
热门标签