Javaweb---Filter(过滤器)学习
Javaweb---Filter
- Filter是如何实现拦截的?
- Filter实例
- 目录结构
Filter是如何实现拦截的?
Filter接口中有一个doFilter方法,当我们编写好Filter,并在web.xml下对web资源进行拦截后,WEB服务器每次在调用web资源的service方法之前,都会先调用一下filter的doFilter方法,因此,在该方法内编写代码可达到如下目的:
web服务器在调用doFilter方法时,会传递一个filterChain对象进来,filterChain对象是filter接口中最重要的一个对 象,它也提供了一个doFilter方法,开发人员可以根据需求决定是否调用此方法,调用该方法,则web服务器就会调用web资源的service方 法,即web资源就会被访问,否则web资源不会被访问。
Filter实例
Filter开发分为两个步骤:
1.编写java类实现Filter接口,并实现其doFilter方法。
// An highlighted block
public class LoginFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;Object user = request.getSession().getAttribute("user");//获取域中键为user的值if (user == null) {request.setAttribute("myqx", "您还未登录!"); request.getRequestDispatcher("/user/toLogin").forward(request, res);//user为空 写信息 返回登陆页面} else {chain.doFilter(request, res); //不为空 继续访问}}public void init(FilterConfig config) throws ServletException {}}
2.在 web.xml 文件中使用和元素对编写的filter类进行注册,并设置它所能拦截的资源。
// An highlighted block
<!-- 登录过滤器 --><filter><filter-name>LoginFilter</filter-name><filter-class>com.cy.filter.LoginFilter</filter-class><!--自己编写的java类实现Filter接口 --><init-param> <param-name>excludedPages</param-name> <param-value>/index</param-value> <!-- 不必要过滤的项目 --></init-param> </filter><filter-mapping><filter-name>LoginFilter</filter-name><url-pattern>/*</url-pattern> <!-- 要过滤的项目 --></filter-mapping>
目录结构
Javaweb---Filter(过滤器)学习相关推荐
- java filter教程_Java Web Filter 过滤器学习教程(推荐)
一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...
- javaweb学习总结(四十二)——Filter(过滤器)学习
一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...
- JavaWeb Filter 过滤器
参考:JavaWeb过滤器(Filter)详解 1.简介 顾名思义就是对事物进行过滤的,在Web中的过滤器,当然就是对请求进行过滤,我们使用过滤器,就可以对请求进行拦截,然后做相应的处理,实现许多特殊 ...
- JavaWeb—Filter过滤器
目录 1.过滤器的原理 2.如何创建过滤器 2.1在xml中注册 2.2使用@WebFilter注解 让一些合法的请求通过该过滤器,而拦截一些不符合要求的请求路径.当请求到达该过滤器时,可以为请求设置 ...
- javaweb(11) Listener监听器与Filter过滤器
javaweb(11) Listener监听器与Filter过滤器 Listener监听器 什么是Listener监听器 Listener 监听器它是 JavaWeb 的三大组件之一.JavaWeb ...
- shiro学习系列:shiro自定义filter过滤器
shiro学习系列:shiro自定义filter过滤器 自定义JwtFilter的hierarchy(层次体系) 上代码 package com.finn.springboot.common.conf ...
- JavaWeb三大组件之一——Filter过滤器源码解析(全面手撕Filter源码,需要耐心看完)
什么是Filter? 本文所说的Filter是JavaWeb中常见常使用的过滤器.Filter的作用是拦截前端发送给后端的请求,一般是用于权限过滤.日志记录.图片转换.加密.数据压缩等操作. 大致流程 ...
- java项目配置过滤器_在JavaWeb项目中如何正确的使用Filter过滤器
在JavaWeb项目中如何正确的使用Filter过滤器 发布时间:2020-11-11 17:12:00 来源:亿速云 阅读:79 作者:Leah 这期内容当中小编将会给大家带来有关在JavaWeb项 ...
- (29) JavaWeb中使用filter过滤器拦截请求、权限检查,过滤响应。
Filter 过滤器 一.Filter 什么是过滤器 二.Filter 过滤器的使用步骤: 三.Filter 的生命周期 四.FilterConfig 类 五.FilterChain 过滤器链 六.F ...
- 过滤器filter的学习
2019独角兽企业重金招聘Python工程师标准>>> package servlet; import java.io.IOException; import javax.servl ...
最新文章
- leetcode--搜索插入位置--python
- MonoBehaviour生命周期
- GitHub user guide:Hello world
- ubuntu15.10避免图形界面无法登录的jdk配置
- error while loading shared libraries: libopencv_highgui.so.3.2: cannot open shared object file 的解决办法
- R语言blotter包回测实例
- 我等这个含蓄的技术男当上了CEO
- 手动配置apache php,windows下手动搭建apache和php环境
- 苹果手机html查看器在哪,web前端案例-苹果手机图片查看器
- html+css+jquery制作图片展示效果
- rhadoop之mapreduce函数
- 墨菲定律-感悟甚多,出于程序员用xmind做的
- mtk audio笔记
- 我去扒了杜蕾斯的微博
- 斜杠'/' 和反斜杠'\'
- 英语KOREITE寿山石koreite单词
- 【绘制】HTML5 Canvas坐标变换——坐标系的平移(translate)、缩放(scale)、旋转(rotate)、镜像。(图文、代码)
- 细说面向对象三大特征
- 《会计学》期末复习准备
- Unity 安卓打包控制台打印manifest targetSdkVersion=24 but library uses target 26
热门文章
- python创意小作品初中生,python创意小作品懒羊羊
- LeetCode题解(0514):自由之路(Python)
- 自学UI设计,多久才能出原创作品?
- 《The Moon and Sixpence》Day 47
- 灵活顶点格式--Flexible Vertex Format, FVF
- Eclipse将代码收缩if/for/try,支持自定义区域收缩
- 动手学高等数学之人口增长问题实战项目
- C# HttpWebRequest 上传文件 (调用ArcGIS Rest API上传SOE文件)
- VTK系列65_VTK最大密度投影法体绘制
- 深入理解OpenERP的工作流(Workflow) - Chen Jian