文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JavaWeb过滤器Filter怎么使用

2024-04-02 19:55

关注

这篇文章主要介绍“JavaWeb过滤器Filter怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaWeb过滤器Filter怎么使用”文章能帮助大家解决问题。

Filter简介

过滤器是处在客户端和服务器资源之间的一到过滤网,我们可以根据具体的需求来对请求头和数据就行预处理,也可以对响应头和和数据进行后处理。例如Jsp, Servlet, 静态图片文件或静态html文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。

Filter的工作原理

服务器的servlet容器接收到客户端发送的请求后,服务器的servlet容器根据web.xml配置文件中配置的Filter拦截客户端发送request,检查客户端request,如果不满足过滤要求,Filter拦截对应request;如果满足过滤要求,则在Filter中调用doFilter方法,执行request并对request进行处理并产生response,服务器将response发送给客户端之前,Filter会拦截response是否满足过滤要求,如果不满足,Filter会拦截response;如果满足过滤要求,则将response响应给客户端。

Filter的生命周期

1.初始化(init):filter的创建和销毁都是有服务器负责的。服务器启动的时候,web服务器创建Filter的实例对象,并调用其init方法,完成对象的初始化功能。filter对象只会创建一次,init方法也只会执行一次。

2.运行(doFilter):拦截到请求时,执行doFilter方法。可以执行多次。

3.销毁(destroy):服务器关闭时,web服务器销毁Filter的实例对象。

JavaWeb过滤器Filter怎么使用

Filter的使用

1.过滤器的快速入门

(1)定义一个类,实现接口Filter,并复写Filter接口doFilter方法

package com.wedu.demo.servlet;import javax.servlet.*;import java.io.IOException;public class FilterDemo implements Filter { public void init(FilterConfig config) throws ServletException { } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { System.out.println("doFilter方法执行……"); chain.doFilter(req, resp); } public void destroy() { }
}

(2)配置拦截路径

以web.xml配置

   filter com.wedu.demo.servlet.FilterDemo   filter @WebFilter(value = "/*",dispatcherTypes = {DispatcherType.FORWARD,DispatcherType.REQUEST})public class FilterDemo implements Filter { public void init(FilterConfig config) throws ServletException { } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { System.out.println("FilterDemo……"); chain.doFilter(req, resp); } public void destroy() { }
}

(3)多个过滤器的配置方式

web.xml配置

 filter1 com.wedu.demo.servlet.FilterDemo
 filter1 /*
 filter2 com.wedu.demo.servlet.FilterDemo
 filter2 /*

注意:执行顺序根据定义,谁定义在上面谁先先执行。

注解方式配置

在定义的每个过滤器上面加上对应的注解即可。

注意:执行的顺序按照类名的字符串比较规则比较,值小的先执行。

关于“JavaWeb过滤器Filter怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯