我们可以使用in-it参数更改servlet过滤器作为spring中的拦截器

时间:2013-02-07 13:58:28

标签: java spring servlets spring-mvc interceptor

我在其中一个jar文件中添加了一个过滤器作为参考。

我的项目属于春天。我开发了一个Web服务。所有对此Web服务的请求都应该被我的过滤器“HelloWorld”拦截。

此过滤器位于其中一个参考文件中。

我想我会把它作为Interceptor实现。

参考文件中的过滤器类似于

public class HelloWorld implements Filter {
private static final Logger _logger = Logger.getLogger(HelloWorld.class.getName());

  protected String name = null;

  public HelloWorld()
  {
  }

  public HelloWorld(String name) {
    this.name = name;
  }

    public void doFilter(ServletRequest req, ServletResponse res,
            FilterChain chain) throws IOException, ServletException {

        HttpServletRequest request = (HttpServletRequest) req;

        PrintWriter out = response.getWriter();
        out.println("Hello "+name);     
        chain.doFilter(req, res);
    }
    public void init(FilterConfig config) throws ServletException {

        //Get init parameter
        String testParam = config.getInitParameter("test");

        //Print the init parameter
        System.out.println("test param: " + testParam);
    }
    public void destroy() {
        //add code to release any resource
    }

    //some other methods as well 
}

实现这一目标的最佳方法是什么。由于我的应用程序的限制,我无法在web.xml中配置过滤器。

我们可以直接将这个HelloWorld过滤器作为对拦截器的引用,这样它就像拦截器一样。 我们可以在spring中将此过滤器更改为拦截器,并在spring.xml中进行配置而不更改功能。

如果我的问题很简单,请道歉。

感谢。

0 个答案:

没有答案