我有一个@WebServlet("")和一个@WebFilter(urlPatterns = {"", "/", "/*"}, asyncSupported = true)
但是没有为servlet调用筛选器:-(
根据http://www.java.net/node/700651?force=613中的说明,我使用的是@WebServlet("")而不是@WebServlet("/")
我使用的是与JavaSE7捆绑在一起的最新JavaEE6SDK中捆绑的Glassfish版本(我不再使用Jetty的最新GA,因为Jetty错误地实现了@WebServlet(""))。
发布于 2012-01-05 12:23:05
这是Glassfish中的一个bug,根据Glassfish论坛上的一位好心的成员http://www.java.net/node/700651#comment-821081的说法,解决方法是除了URL模式之外,还按servlet名称进行过滤。这还需要为servlet指定一个名称。因此,注释应该是:@WebServlet(name = "foo", urlPatterns = "")和@WebFilter(servletNames = "foo", urlPatterns = {"", "/*"}),一旦修复了错误,您就可以在过滤器中删除servlet的名称和对它的显式引用。
https://stackoverflow.com/questions/8735720
复制相似问题