当前位置: 首页 > news >正文

初步认识filter

目录

一、filter概念

二、filter的快速入门

三、filter使用细节

四、Listener概念


一、filter概念

  • Filter表示过滤器,是Java web三大组件(servlet Filter listener)之一
  • 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能
  • 过滤器一般完成一些通用的操作,比如权限控制,统一编码处理

二、filter的快速入门

  • 定义类,实现Filter接口,并重写器所有方法
public class FilterDemo implements Filter { public void init(FilterConfig filterConfig) public void doFilter(ServletRequest request) public void destroy() {} }
  • 配置Filter拦截资源路径:在类上定义@WebFilter注解
@WebFilter("/*") public class FilterDemo implements Filter { }
  • 在doFilter方法中输出一句话,并放行

三、filter使用细节

filter可以根据需求,配置不同的拦截资源路径

    • 拦截具体的资源:/index.jsp:只有访问index.jsp时才会被拦截
    • 目录拦截:/user/*:访问/user下的所有资源,都会被拦截
    • 后缀名拦截:*.jsp:访问后缀名为JSP的资源,都会被拦截
    • 拦截所有:/*:访问所有资源,都会被拦截
  • 过滤器链:一个Web应用,可以配置多个过滤器,这多个过滤器称为过滤器链

【浏览器-》请求-》filter1放行前-》filter2-》web资源-》放行后-》2-》1-》响应-》浏览器】

**注意

注解配置的filter:优先级按照过滤器类名(字符串)的自然排序

四、Listener概念

  • 是Javaweb三大组件之一,被叫做监听器
  • 监听器可以监听就是application,session,request三个对象创建,销毁或者往其中添加修改删除属性时自动执行代码功能组件

listener分类:javaWeb中提供了8个监听器,如下表所示:

监听器分类

监听器名称

作用

ServiceConText监听

ServletContextListener

用于对ServletContext对象监听(创建、销毁)

ServletContextAttributeListener

对ServletContext对象中的属性监听(增删改属性)

Session监听

HttpSessionListener

对Session对象的整体状态的监听(创建,销毁)

HttpSessionAttributeListener

监听对象中的属性

HttpSessionBindingListener

监听对象于Session的绑定和解除

HttpSessionActivationListener

对Session数据的钝化和活化的监听

Request监听

ServletRequestListener

对Request对象进行监听(创建,销毁)

ServletRequestAttributeListener

对属性进行监听

http://www.xdnf.cn/news/818047.html

相关文章:

  • DELPHI XE5安装
  • 购物兔最新版本3.2.26.100,上小众推荐和搜狐新闻啦~
  • 腾讯对外发布微博开放平台 API
  • Pulp Fiction (低俗小说)
  • 全面解析找不到msvcp71.dll无法继续执行的原因及修复方法
  • 内网即时通讯软件有哪些?局域网聊天工具
  • 云主机性价比分析
  • tpx色卡电子版_潘通色卡电子版Pantone TPX(三)
  • RAC RMAN 通道配置 RMAN-12001 RMAN-12001 RMAN-10008 RMAN-10003 ORA-01017 错误
  • 中国最火最流行的40个博客网站
  • 浅谈芯片解密的五大方法
  • 最优化之最速下降法
  • java实现大文件传输
  •  Windows socket之IO完成端口(IOCP)模型开发
  • Microsoft Visual Studio 2008 SP1 简体中文版 安装图集
  • 怎样取消shutdown关机命令?-shutdown命令的使用解析
  • Windbg调试命令详解
  • SQL COUNT() 函数
  • html的表单标签(上):form标签和input标签
  • 图像分割—基于阈值处理的基本方法
  • Ubuntu 16.04 一系列软件安装命令,包括QQ、搜狗、Chrome、vlc、网易云音乐安装方法
  • Android SDK代理服务器解决国内不能更新下载问题
  • 分享一些嵌入式开发常用终端工具
  • P2P技术原理及应用(2)
  • hypersnap的41条技巧
  • 分享116个ASP整站程序源码,总有一款适合您
  • 软件设计师——软件过程基础知识
  • 2024年Python最全程序员兼职可以从什么平台接私活?
  • RequestResponse
  • [转载]摄像机,光源和阴影 -----OGRE 3D 1.7 Beginner‘s Guide中文版 第四章