JavaWeb三大组件
1、都需要在web.xml中进行配置
Servlet
Listener(2个感知监听器不需要配置)
Filter
2、过滤器(Filter)
# 它会在一组资源(jsp、servlet、.css、.html等等)的前面执行!!!
# 它可以让请求得到目标资源,也可以不让请求达到!!!
### 过滤器有拦截请求的能力!!!
==============================================
过滤器如何编写
1、写一个类实现Filter接口
2、在web.xml中进行配置
<filter>
<filter-name>AFilter</filter-name>
<filter-class>com.web.filter.AFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
==============================
Filter接口三个方法:
void init(FilterConfig filterConfig)
# 创建之后,马上执行;Filter会在服务器启动时就创建
void destory()
# 销毁之前执行!在服务器关闭时销毁
void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
# 每次过滤时都会执行
Filter是单例的
=======================================
FilterConfig --> 与ServletConfig相似
* getInitParameter() : 获取初始化参数
* getFilterName() : 获取过滤器名称
* getServletContext() : 获取application
FilterChain
* doFilter(ServletRequest request, ServletResponse response) : 放行
放行,就相当于调用了目标Servlet的service方法