【发布时间】:2012-06-20 02:10:55
【问题描述】:
在我的应用程序中,我想应用一个过滤器,但我不希望所有请求都必须转到该过滤器。
这将是一个性能问题,因为我们已经有了一些其他过滤器。
我希望我的过滤器仅适用于 HTTP POST 请求。有什么办法吗?
【问题讨论】:
标签: java servlets servlet-filters
在我的应用程序中,我想应用一个过滤器,但我不希望所有请求都必须转到该过滤器。
这将是一个性能问题,因为我们已经有了一些其他过滤器。
我希望我的过滤器仅适用于 HTTP POST 请求。有什么办法吗?
【问题讨论】:
标签: java servlets servlet-filters
没有现成的可用功能。 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()
{
}
}
【讨论】: