Java servlet不存在的过滤器';行不通

Java servlet不存在的过滤器';行不通,java,servlets,web-deployment,servlet-filters,Java,Servlets,Web Deployment,Servlet Filters,我想为一个特定的servlet使用一个过滤器。我的代码是: @WebFilter(dispatcherTypes = { DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.INCLUDE } , servletNames = { "myServlet" }) public class Im

我想为一个特定的servlet使用一个过滤器。我的代码是:

     @WebFilter(dispatcherTypes = {
            DispatcherType.REQUEST, 
            DispatcherType.FORWARD, 
            DispatcherType.INCLUDE
    }
                , servletNames = { "myServlet" })
    public class ImageProtect implements Filter 
    {
          public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException 
          {
          System.out.println("Hello from Filter");
          chain.doFilter(request, response);
         }
    }

我的问题是什么也没发生。不幸的是,在eclipse控制台中无法看到消息。servlet只是一个股票servlet。有什么问题吗?

在web.xml文件中添加此筛选器

<filter>
   <filter-name>ImageProtect</filter-name>
   <filter-class>ImageProtect</filter-class>
</filter>
<filter-mapping>
   <filter-name>ImageProtect</filter-name>
   <url-pattern>/myServlet</url-pattern>
</filter-mapping>

图像保护
图像保护
图像保护
/myServlet

在web.xml文件中添加此筛选器

<filter>
   <filter-name>ImageProtect</filter-name>
   <filter-class>ImageProtect</filter-class>
</filter>
<filter-mapping>
   <filter-name>ImageProtect</filter-name>
   <url-pattern>/myServlet</url-pattern>
</filter-mapping>

图像保护
图像保护
图像保护
/myServlet

在web.xml文件中添加此筛选器

<filter>
   <filter-name>ImageProtect</filter-name>
   <filter-class>ImageProtect</filter-class>
</filter>
<filter-mapping>
   <filter-name>ImageProtect</filter-name>
   <url-pattern>/myServlet</url-pattern>
</filter-mapping>

图像保护
图像保护
图像保护
/myServlet

在web.xml文件中添加此筛选器

<filter>
   <filter-name>ImageProtect</filter-name>
   <filter-class>ImageProtect</filter-class>
</filter>
<filter-mapping>
   <filter-name>ImageProtect</filter-name>
   <url-pattern>/myServlet</url-pattern>
</filter-mapping>

图像保护
图像保护
图像保护
/myServlet

您应该尝试将此筛选器映射到每个网页
@WebFilter(“/*”)
只需尝试在注释中添加此筛选器,而不是将筛选器映射到一个特定的servlet,即
servletNames={“myServlet”}
。我想这可能会对您有所帮助

您应该尝试将此筛选器映射到每个网页
@WebFilter(“/*”)
只需尝试将其添加到注释中,而不是将筛选器映射到一个特定的servlet,即
servletNames={“myServlet”}
。我想这可能会对您有所帮助

您应该尝试将此筛选器映射到每个网页
@WebFilter(“/*”)
只需尝试将其添加到注释中,而不是将筛选器映射到一个特定的servlet,即
servletNames={“myServlet”}
。我想这可能会对您有所帮助

您应该尝试将此筛选器映射到每个网页
@WebFilter(“/*”)
只需尝试将其添加到注释中,而不是将筛选器映射到一个特定的servlet,即
servletNames={“myServlet”}
。我想这可能会对您有所帮助

为了在不使用web.xml的情况下实现这一点,您需要为servlet名称编写FQCN,而不仅仅是servlet名称“myServlet”。 如果您的“myServlet”文件位于“xxx.xxxx.xxxx”包中,则 不是“myServlet”,而是“xxx.xxxxx.xxxxx.myServlet”。
然后过滤器应该可以工作。

为了在不使用web.xml的情况下工作,您需要为servlet名称编写FQCN,而不仅仅是servlet名称“myServlet”。 如果您的“myServlet”文件位于“xxx.xxxx.xxxx”包中,则 不是“myServlet”,而是“xxx.xxxxx.xxxxx.myServlet”。
然后过滤器应该可以工作。

为了在不使用web.xml的情况下工作,您需要为servlet名称编写FQCN,而不仅仅是servlet名称“myServlet”。 如果您的“myServlet”文件位于“xxx.xxxx.xxxx”包中,则 不是“myServlet”,而是“xxx.xxxxx.xxxxx.myServlet”。
然后过滤器应该可以工作。

为了在不使用web.xml的情况下工作,您需要为servlet名称编写FQCN,而不仅仅是servlet名称“myServlet”。 如果您的“myServlet”文件位于“xxx.xxxx.xxxx”包中,则 不是“myServlet”,而是“xxx.xxxxx.xxxxx.myServlet”。

然后过滤器应该可以工作。

我甚至没有。我不知道这是否重要,但这是一个maven项目。您应该在项目的根目录(放置所有jsp文件等)中有一个
WEB-INF/WEB.xml
文件。本文说,我不需要对WEB.xml做任何事情就可以完成这项工作。那他们在撒谎吗?我还有我的过滤工作,过滤特定的jsp文件,而不是没有web.xml文件的servlers,我甚至没有。我不知道这是否重要,但这是一个maven项目。您应该在项目的根目录(放置所有jsp文件等)中有一个
WEB-INF/WEB.xml
文件。本文说,我不需要对WEB.xml做任何事情就可以完成这项工作。那他们在撒谎吗?我还有我的过滤工作,过滤特定的jsp文件,而不是没有web.xml文件的servlers,我甚至没有。我不知道这是否重要,但这是一个maven项目。您应该在项目的根目录(放置所有jsp文件等)中有一个
WEB-INF/WEB.xml
文件。本文说,我不需要对WEB.xml做任何事情就可以完成这项工作。那他们在撒谎吗?我还有我的过滤工作,过滤特定的jsp文件,而不是没有web.xml文件的servlers,我甚至没有。我不知道这是否重要,但这是一个maven项目。您应该在项目的根目录(放置所有jsp文件等)中有一个
WEB-INF/WEB.xml
文件。本文说,我不需要对WEB.xml做任何事情就可以完成这项工作。那他们在撒谎吗?我还有我的过滤工作,它过滤特定的jsp文件,而不是servlers,甚至没有web.xml文件。如果您更喜欢在web.xml中配置您的WebFilters,那么这个解决方案可以工作。谢谢如果您不想在web.xml中配置WebFilters,那么这个解决方案可以工作。谢谢如果您不想在web.xml中配置WebFilters,那么这个解决方案可以工作。谢谢如果您不想在web.xml中配置WebFilters,那么这个解决方案可以工作。非常感谢。