第1章 过滤器基本使用
1-1 初识过滤器-Filter
过滤器- Filter
◆ Filter过滤器 (Filter)是J2EE Servlet模块下的组件
◆ Filter的作用是对URL进行统一的拦截处理
◆ Filter通常用于应用程序层面进行全局处理
开发过滤器三要素:
◆ 任何过滤器都要实现javax.servlet.Fiiter接口
◆ 在Filter接口的doFilter()方法中编写过滤器的功能代码
◆ 在web.xml中对过滤器进行配置,说明拦截URL的范围
1-2 开发第一个过滤器
过滤器类
public class MyFirstFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
System.out.println("过滤器已生效");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
web.xml
<!-- filter标签用于说明哪个类是过滤器,并在应用启动时自动加载 -->
<filter>
<filter-name>MyFirstFilter</filter-name>
<filter-class>com.imooc.filter.MyFirstFilter</filter-class>
</filter>
<!--
filter-mapping标签用于说明过滤器对URL应用的范围,要点有二:
1. filter-name 过滤器名称与filter.filter-name保持一致
2. url-pattern 说明过滤器作用范围,/* 代表对所有URL进行过滤
-->
<filter-mapping>
<filter-name>MyFirstFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
1-3 过滤器的生命周期
过滤器类
public class MyFirstFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("过滤器已被销毁");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
System.out.println("过滤器已生效");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
System.out.println("过滤器初始化成功");
}
}
过滤器的特性
◆ 滤器对象在Web应用启动时被创建且全局唯一
◆ 唯一的过滤器对象在并发环境中采用“多线程”提供服务
第2章 过滤器进阶
2-1 过滤器的两种开发形式
过滤器两种开发方式
● 配置形式维护性更好,适用应用全局过滤 xml中配置
●