对Servlet过滤器的简单理解

过滤器通过 Web 部署描述符(web.xml)中的 XML 标签来声明,然后映射到您的应用程序的部署描述符中的 Servlet 名称或 URL 模式。或者也可以直接使用 @WebFilter 注解。

Filter的过滤过程:web客户端发送一个请求,过滤器会将其拦截,处理后再交给下一个过滤器或者servlet处理,servlet的响应也会通过过滤器后再给客户端。

过滤器的Web 部署描述符:想要拦截哪个具体的servlet,JSP,html地址,只需在

<url-pattern>/########</url-pattern>中间添加即可。

若想拦截所有相关地址,使用<url-pattern>/*</url-pattern>即可。

 过滤器的 @WebFilter 注解方法

在括号中填写url地址。 

Servlet 过滤器主要方法

1.public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 
该方法完成实际的过滤操作,当客户端的请求与过滤器设置的 URL 匹配时,Servlet 容器将先调用过滤器的 doFilter 方法。FilterChain 用于访问后续过滤器。

chain.doFilter():一般来说,一个项目中会有多个过滤器一个个连接在一起,而chain.doFilter将请求转发给过滤器链下一个filter , 如果没有filter那就是你请求的资源。

 2.public void init(FilterConfig filterConfig)
web 应用程序启动时,web 服务器将创建Filter 的实例对象,并调用其init方法,读取web.xml配置,完成对象的初始化功能,从而为后续的用户请求作好拦截的准备工作(filter对象只会创建一次,init方法也只会执行一次)。开发人员通过init方法的参数,可获得代表当前filter配置信息的FilterConfig对象。 

FilterConfig的配置,使用:

xml文件的配置:

 public void init(FilterConfig filterConfig)方法的使用:

 3.public void destroy()
Servlet容器在销毁过滤器实例前调用该方法,在该方法中释放Servlet过滤器占用的资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值