过滤器Filter
filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理。
步骤:
- 编写一个过滤器的类实现Filter接口
- 实现接口中尚未实现的方法(着重实现doFilter方法)
- 在web.xml中进行配置(主要是配置要对哪些资源进行过滤)
例子,过滤器实现类:
package com.yyb.filter; import java.io.IOException; import javax.servlet.*; /** * Created by Administrator on 2017/7/28. */ public class FilterDemo implements Filter { @Override //Filter创建的时候执行init方法 public void init(FilterConfig filterConfig) throws ServletException { //1、获得web.xml中filter 的名称<filter-name>FilterDemo</filter-name> System.out.println(filterConfig.getFilterName()); //2、获得当前filter的初始化参数 System.out.println(filterConfig.getInitParameter("aaa")); //3、获得servletContext filterConfig.getServletContext(); System.out.println("init ...."); } @Override //doFilter是Filter的核心过滤的方法 /* * request: 内部封装是客户端http请求的内容 * response: 代表是响应 * FilterChain: 过滤器链对象 */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("quick1 running...."); //放行请求 chain.doFilter(request, response); } @Override //Filter对象销毁的时候执行destory方法 public void destroy() { System.out.println("destroy..."); } }
web.xml
<filter> <filter-name>FilterDemo</filter-name> <filter-class>com.yyb.filter.FilterDemo</filter-class> </filter> <filter-mapping> <filter-name>FilterDemo</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统