当前位置: 首页 > 面试题库 >

如何将Servlet筛选器仅应用于具有HTTP POST方法的请求

常培
2023-03-14
问题内容

在我的应用程序中,我想应用一个过滤器,但我不希望所有请求都必须转到该过滤器。

这将是一个性能问题,因为我们已经有了其他一些过滤器。

我希望过滤器仅适用于HTTP POST请求。有什么办法吗?


问题答案:

尚无此功能。一个Filter拥有适用于所有的HTTP方法的开销。但是,如果您的Filter代码中包含一些逻辑,这些逻辑会产生开销,那么您不应该将该逻辑应用于不需要的HTTP方法。

这是示例代码:

public class HttpMethodFilter implements Filter
{
   public void init(FilterConfig filterConfig) throws ServletException
   {

   }

   public void doFilter(ServletRequest request, ServletResponse response,
       FilterChain filterChain) throws IOException, ServletException
   {
       HttpServletRequest httpRequest = (HttpServletRequest) request;        
       if(httpRequest.getMethod().equalsIgnoreCase("POST")){

       }
       filterChain.doFilter(request, response);
   }

   public void destroy()
   {

   }
}


 类似资料:
  • 我正在使用JSF2.2,并配置了servlet过滤器。过滤器中工作的部分代码: 如果我添加第二个param-常规请求可以工作(发生重定向并看到两个param),但AJAX请求不能工作(没有重定向,什么也不发生)。以下是Firebug报告: 这是如何造成的,我们如何在filter中为AJAX调用设置多个参数?

  • 如果任何< code>J2EE应用程序直接命中servlet,然后servlet将相同的请求转发给某个< code >。jsp页面。 我有一个带有以下url模式的servlet过滤器 因此,转发的请求是否也会进行过滤。 在我的情况下,它不会到来,这是一个预期的行为。只是想了解这一点。

  • 我正在编写一个servlet过滤器。我想添加错误并将响应发送回请求来自的页面。 我知道我们可以将反应重定向为 提前致谢

  • 我在net和stackoverflow中搜索了一个使用servlet过滤器将内容插入响应的示例,但只能找到捕获/压缩输出和/或更改头部的示例。我的目标是在所有HTML响应的结束之前追加一个HTML块。 我正在研究一个解决方案,它扩展HttpServletResponseWrapper以使用我自己的PrintWriter,然后重写它上的write方法。在write方法中,我存储了最后7个字符,以查看

  • 如果目标类具有多个接口方法,是否有方法使用lambdas?或者,在这种情况下,您是否只需要使用匿名内部类?

  • 本文向大家介绍C#使用HttpPost请求调用WebService的方法,包括了C#使用HttpPost请求调用WebService的方法的使用技巧和注意事项,需要的朋友参考一下 之前调用 WebService 都是直接添加服务引用,然后调用 WebService 方法的,最近发现还可以使用 Http 请求调用 WebService。这里还想说一句,还是 web api 的调用简单。 WebSer