Java Web—Filter(过滤器)

Java Web—Filter(过滤器)web中的过滤器的作用:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。web中过滤器的应用场景:一般用于完成通用的操作。如

大家好,欢迎来到IT知识分享网。

web中的过滤器的作用:

当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。

web中过滤器的应用场景:

一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤…

Filter的创建:

1.直接在New中选择 Web Filter

Java Web—Filter(过滤器)

2.修改你创建文件的Name

Java Web—Filter(过滤器)

3.其中各个方法的作用:

package FilterDemo;

import javax.servlet.*;

import javax.servlet.annotation.*;

import java.io.IOException;

/**

过滤器是在服务器启动时就会创建的,只会创建一个实例,常驻内存,也就是说.

*/

@WebFilter(filterName = “FilterDemo1”)

public class FilterDemo1 implements Filter {

/**

* 初始化方法,常用于数据初始化

* 服务器一启动就会执行Filter的init(FilterConfig config)方法

* 且只执行一次

*/

public void init(FilterConfig config) throws ServletException {

}

/**

* 销毁时调用,常用于释放资源

* 当Filter被移除或服务器正常关闭时,会执行destroy方法

* 仅执行一次

*/

public void destroy() {

}

/**

* 过滤方法 主要是对request和response进行一些处理,然后交给下一个过滤器或Servlet处理

* 可执行多次

*/

@Override

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {

chain.doFilter(request, response);//过滤放行

}

}

4.注解的配置

注解的配置有以下11种

@Target({ElementType.TYPE})

@Retention(RetentionPolicy.RUNTIME)

@Documented

public @interface WebFilter {

String description() default “”;

String displayName() default “”;

WebInitParam[] initParams() default {};

String filterName() default “”;

String smallIcon() default “”;

String largeIcon() default “”;

String[] servletNames() default {};

String[] value() default {};

String[] urlPatterns() default {};

DispatcherType[] dispatcherTypes() default {DispatcherType.REQUEST};

boolean asyncSupported() default false;

}

常用的配置项

1.urlPatterns

配置要拦截的资源

以指定资源匹配。例如:”/index.jsp”

以目录匹配。例如:”/servlet/*”

以后缀名匹配,例如:”*.jsp”

通配符,拦截所有web资源:”/*”

2.dispatcherTypes

配置拦截的类型,可配置多个。默认为DispatcherType.REQUEST,

FORWARD,//转发的

INCLUDE,//包含在页面的

REQUEST,//请求的

ASYNC,//异步的

ERROR;//出错的

如果需要配置多个使用大括号包起来。

@WebFilter(filterName = “FilterDemo1”,

dispatcherTypes= {DispatcherType.FORWARD,DispatcherType.REQUEST})

注:如有错误与不足,希望大佬们多加指正与补充

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/40549.html

(0)
上一篇 2024-04-17 09:00
下一篇 2024-04-17 13:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信