Java 如何使用过滤器?

Java 如何使用过滤器?,java,servlets,servlet-filters,Java,Servlets,Servlet Filters,Java过滤器何时启动?Filter init方法是否覆盖servlet init方法?在web.xml中在哪里声明init参数 Java过滤器何时启动 在Web应用程序启动期间 Filter init方法是否覆盖servlet init方法 不,他们之间没有任何关系。过滤器的init方法只实现中定义的方法 在web.xml中在哪里声明init参数 在声明里面 我的过滤器 com.example.MyFilter 福 酒吧 然后,它将在init中可用,如下所示: @Override public

Java过滤器何时启动?Filter init方法是否覆盖servlet init方法?在web.xml中在哪里声明init参数

Java过滤器何时启动

在Web应用程序启动期间

Filter init方法是否覆盖servlet init方法

不,他们之间没有任何关系。过滤器的init方法只实现中定义的方法

在web.xml中在哪里声明init参数

在声明里面

我的过滤器 com.example.MyFilter 福 酒吧 然后,它将在init中可用,如下所示:

@Override
public void init(FilterConfig config) {
    String foo = config.getInitParameter("foo"); // contains "bar".
}
Java过滤器何时启动

在Web应用程序启动期间

Filter init方法是否覆盖servlet init方法

不,他们之间没有任何关系。过滤器的init方法只实现中定义的方法

在web.xml中在哪里声明init参数

在声明里面

我的过滤器 com.example.MyFilter 福 酒吧 然后,它将在init中可用,如下所示:

@Override
public void init(FilterConfig config) {
    String foo = config.getInitParameter("foo"); // contains "bar".
}

在web.xml中声明它,就像

<web-app version=...>
    ...
    <filter>
        <description>...</description>
        <display-name>My Filter</display-name>
        <filter-name>MyFilter</filter-name>
        <filter-class>com.foo.bar.MyFilter</filter-class>
    </filter>
    ...
    <filter-mapping>
        <filter-name>MyFilter</filter-name>
        <url-pattern>/some/path</url-pattern>
    </filter-mapping>
    ...
</web-app>
[更新]该部分将您的过滤器注册到系统中;它将在web应用程序启动时自动启动。在该部分中,您可以配置何时在哪些URL上调用过滤器。[/更新]


@BalusC已经回答了您的其余问题。

在web.xml中声明它

<web-app version=...>
    ...
    <filter>
        <description>...</description>
        <display-name>My Filter</display-name>
        <filter-name>MyFilter</filter-name>
        <filter-class>com.foo.bar.MyFilter</filter-class>
    </filter>
    ...
    <filter-mapping>
        <filter-name>MyFilter</filter-name>
        <url-pattern>/some/path</url-pattern>
    </filter-mapping>
    ...
</web-app>
[更新]该部分将您的过滤器注册到系统中;它将在web应用程序启动时自动启动。在该部分中,您可以配置何时在哪些URL上调用过滤器。[/更新]


您的其余问题已由@BalusC回答。

这意味着请求将自动过滤。我的意思是,我不必设置开始顺序,响应也是一样的???@giorgo-您必须将过滤器映射添加到要应用过滤器的URL。例如,要将筛选器应用于名为checkOut.JSP的页面,您可以执行以下操作:myFilter/secure/checkOut.JSP筛选器将仅截获与您在中指定的页面匹配的请求。要了解有关筛选器的更多信息,请检查以在下次获取它,将鼠标悬停在[servlet filter]标记上并按info link,或者只按标记并单击关于servlet filters标记链接。这意味着请求将自动筛选我的意思是我不必设置开始顺序,响应也是一样的???@giorgo-您必须将筛选器映射添加到要应用筛选器的URL。例如,要将筛选器应用于名为checkOut.JSP的页面,您可以执行以下操作:myFilter/secure/checkOut.JSP筛选器将仅截获与您在中指定的页面匹配的请求。要了解有关筛选器的更多信息,请检查以在下次获取,将鼠标悬停在[servlet filter]上标记并按信息链接,或者只需按标记并单击关于servlet筛选器标记链接。非常感谢我不知道如何启动筛选器,但如果它是从Webapp启动的,那么我只需编写筛选器???除非您应用的筛选器是在第三方jar文件中定义的,否则您必须编写筛选器。非常感谢我不知道如何启动一个过滤器,但如果它是从Webapp启动的,那么我只需要编写过滤器???你必须编写你的过滤器,除非你正在应用一个在第三方jar文件中定义的过滤器。