过滤器Filter(17/4/8)
2017-04-08 20:44
190 查看
1:是JavaWeb三大组件之一:Servlet、Lisener(2个感知监听器不需要配置)、Filter:2:过滤器它会在一组资源(jsp、servlet、css、html等等)的前面执行!它可以让请求达到目标资源,也可以不让请求达到!*过滤器有拦截请求的能力!相当于小区中的保安3:过滤器的写法写一个类实现Filter接口在web.xml中进行配置4:Filter 接口void init(FilterConfig)创建后马上执行;Filter在服务器启动时就创建void destory()销毁之前执行!在关闭服务器之前销毁void doFilter(ServletRequest,ServletResponse,FilterChain)每次过滤时都会执行Filter是单例的!即只能实例化一次5:web.xml中的配置
<filter> <filter-name>AFilter</filter-name> <filter-class>filter.AFilter</filter-class> </filter> <filter-mapping> <filter-name>AFilter</filter-name>
//这里可以是/web/*;或者是/AServlet
<url-pattern>/AServlet</url-pattern></filter-mapping>
6:代码
1)servlet
package servlet;import java.io.IOException;/*** Created by YuWenHui on 2017/4/8 0008.*/public class AServlet extends javax.servlet.http.HttpServlet {protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {}protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {System.out.println("AServlet.....");}}
2)filter
package filter;import javax.servlet.*;import java.io.IOException;/*** Created by YuWenHui on 2017/4/8 0008.*/public class AFilter implements Filter {public void destroy() {System.out.println("destroy。。。");}public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {System.out.println("doFilter。。。");
//这里将请求传递下去,如果不符合条件这另作处理chain.doFilter(req, resp);}public void init(FilterConfig config) throws ServletException {System.out.println("init。。。");}}
3)配置文件
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"><filter><filter-name>AFilter</filter-name><filter-class>filter.AFilter</filter-class></filter><filter-mapping><filter-name>AFilter</filter-name><url-pattern>/AServlet</url-pattern></filter-mapping><servlet><servlet-name>AServlet</servlet-name><servlet-class>servlet.AServlet</servlet-class></servlet><servlet-mapping><servlet-name>AServlet</servlet-name><url-pattern>/AServlet</url-pattern></servlet-mapping></web-app>
相关文章推荐
- 17、学习Lucene3.5索引之使用Filter(过滤器)搜索
- Servlet中的过滤器Filter详解
- 11、过滤器Filter
- Servlet中的过滤器Filter详解
- RequestMapping_HiddenHttpMethodFilter 过滤器
- 过滤器 Filter
- JavaWeb学习篇之----Servlet过滤器Filter和监听器
- HBase(0.96以上版本)过滤器Filter详解及实例代码
- Filter(过滤器)常见应用
- 【JavaWeb】之过滤器Filter
- Filter(过滤器)、Listener(监听器)
- 拦截器Interceptor和过滤器Filter的用法区别
- WooCommerce——产品过滤器WooCommerce Products Filter
- filter 过滤器从数组中选择一个子集
- 过滤器Filter、Filter的生命周期,以及常用方法
- 17、过滤器
- jsp 过滤器 Filter 配置
- 过滤器filter
- PCAP过滤器设置 (PCAP-FILTER )
- 过滤器Filter知识点及两种应用:编码过滤和登陆验证