无法过滤上下文根Servlet请求

时间:2012-01-04 23:41:46

标签: servlets glassfish glassfish-3 servlet-filters servlet-3.0

我有@WebServlet("")@WebFilter(urlPatterns = {"", "/", "/*"}, asyncSupported = true)

但是没有为servlet调用过滤器: - (

我根据http://www.java.net/node/700651?force=613

中的说明使用@WebServlet("")代替@WebServlet("/")

我正在使用与Java SE 7捆绑在一起的最新Java EE 6 SDK中捆绑的Glassfish版本。(我使用Jetty的最新GA切换,因为Jetty错误地实现了@WebServlet("")

1 个答案:

答案 0 :(得分:2)

这是Glassfish中的一个错误,根据Glassfish论坛上的一位成员:http://www.java.net/node/700651#comment-821081解决方法是除了URL模式之外,还要按servlet名称进行过滤。这还需要为servlet命名。因此注释将是:@WebServlet(name = "foo", urlPatterns = "")@WebFilter(servletNames = "foo", urlPatterns = {"", "/*"}),一旦修复了错误,您可以删除servlet的名称以及过滤器中对它的显式引用。