Java课题笔记~ 过滤器

2023-10-27

概念

过滤器:顾名思义,就是在源数据和目的数据之间起过滤作用的中间组件。

过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。

filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理。

 

过滤器可以实现以下目的:

  • 在客户端的请求访问后端资源之前,拦截这些请求。

  • 在服务器的响应发送回客户端之前,处理这些响应。

过滤器要实现的接口是Filter(javax.servlet包中)

过滤器的三个重要方法:

(1) Init(FilterConfig config)

(2) doFilter(ServletRequest request,ServletResponse response,FilterChain chain) chain.doFilter(request,response);//将请求传给下一个过滤器或目标资源。

(3) destory()

过滤器的配置:

 (1)xml配置

  <filter>
    <filter-name>EncodingFilter</filter-name>
    <filter-class>com.ambow.filter.EncodingFilter</filter-class>
    <init-param>
            <param-name>encoding</param-name>
            <param-value>utf-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>EncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

(2)注解配置 在Servlet3.0之后,可以使用注解进行配置

@WebFilter( filterName = "LoginFilter",urlPatterns = { "/jsps/cart/*", "/jsps/order/*" }, servletNames = { "CartItemServlet", "OrderServlet" })
public class LoginFilter implements Filter {
               ...
}

注解配置参考:https://www.cnblogs.com/ooo0/p/10360952.html

重点应用:

统一字符编码

统一权限验证

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java课题笔记~ 过滤器 的相关文章

随机推荐

  • 【python】使用pyqtgraph+pyserial提高绘图效率的方法

    基于pyqtgraph的高速采样和绘图 背景 解决方案 背景 使用场景为从串口读取传感器数据 并实时绘图 如下图所示 采样率为600Hz 采用子进程的方式分别进行读取数据和绘图 进程之间使用python自带的队列queue Queue进行数
  • C++ 类中protected的通俗解释

    举个例子 假如我们要定义人这个类 其中每个人都有三种财富 养老金 子女金 生活金 首先是生活金 每个人的生活金其实都是可以对外公开的 所以应该可以设置为public 但是遗产和养老金是不对外公布的 那么问题来了 遗产和养老金是不是都应该设置
  • 医院安全不良事件报告系统源码 PHP+ vue2+element+ laravel8+ mysql5.7+ vscode开发

    不良事件上报系统通过 事前的人员知识培训管理和制度落地促进 事中的事件上报和跟进处理 以及 事后的原因分析和工作持续优化 结合预存上百套已正在使用的模板 帮助医院从对护理事件 药品事件 医疗器械事件 医院感染事件 输血事件 意外事件 职业暴
  • js最简单的动画

    document ready function reset click function removeAttr style div class none css display none input type button click fu
  • 前端数据存储方式

    一 Cookie cookie 用于存储web页面的用户信息 cookie 是一些数据 存储在你电脑上的文本文件中 当web服务器向浏览器发送web页面时 在连接关闭后 服务端不会记录用户的信息 Cookie的作用就是用于解决如何记录客户端
  • python安装VTK、traits、mayavi

    1 下载安装包 下载和自己平台匹配的安装包 比如笔者的python是3 8 于是从官网下载了 VTK 8 2 0 cp38 cp38 win amd64 whl traits 6 3 2 cp38 cp38 win amd64 whl ma
  • [转]正则表达式验证Ip地址(绝对正确)

    之前一直不太会写正则表达式 很多要用到正则表达式的都直接百度 像上次要用正则表达式验证是否是合法的ip地址 然后就上网找 结果就是没找到一个对的 今天就为大家贡献一下 写个对的 并做一下解析 建议大家还是去看书去规范的学一下 不要直接百度
  • Python与机器视觉(二)读入图片并显示

    本系列博客主要分享Python在机器视觉 计算机视觉下的编程应用 cv2包是著名的视觉库OpenCV的Python实现 1 读入图像并显示 import cv2 导入opencv包 img cv2 imread img jpeg 利用imr
  • 安装oracle后重启电脑很卡,关于linux下安装oracle之后,重启系统后oracle不能正常启动的配置总结...

    一 linux下无法启动sqlplus 问题描述 root localhost oracle su oracle oracle localhost oracle sqlplus as sysdba bash sqlplus command
  • CVPR 论文阅读与翻译2:图像检索、哈希编码学习、深度哈希:Deep Learning of Binary Hash Codes for Fast Image Retrieval-2015

    Deep Learning of Binary Hash Codes for Fast Image Retrieval 2015 用于快速图像检索的深度学习二进制哈希码 本文记录博主CVPR阅读心得 如理解有误 请及时指正交流 THANKS
  • 一个好用的剪切板复制粘贴工具

    想寻找一个好用的剪切板复制粘贴工具吗 小编给大家带来了PopClip剪切板复制粘贴工具 文字搬运 处理 上传一手包办 PopClip for Mac是Mac上简单易用的剪切板复制粘贴工具 适用于大多数Mac应用程序 让您的复制 粘贴更加方便
  • [ C++ ] — 函数指针

    一 函数名 与 函数名 函数名就是函数的地址 void func void int main cout lt lt func lt lt endl cout lt lt func lt lt endl return 0 输出 00D2142
  • 月薪30k~50k,这个领域的人才正在被疯抢!

    2016 年 IT 业年平均工资破 12 万元 首次超过金融业 排名各行业门类首位 2017 年 IT 业再次高居榜首 并一举超过 13 万元 挣得多花的少的程序员已经成为相亲市场上的香饽饽 不过 程序员和程序员之间也是有贫富差距的 互联网
  • IntelliJ IDEA下载安装及配置JDK

    IntelliJ IDEA版本 2018 3 6 JDK版本 JDK8 目录 下载 IDEA和JDK下载 安装 JDK8安装 IDEA安装 IDEA配置JDK 下载 IDEA和JDK下载 下载文件包含IDEA2018 3 6 IDEA202
  • 测试开发必备技能

    一 掌握简单的Java基础知识 1 基本数据类型 包装类型 2 集合 List Set Map 3 能够看懂代码 不需要懂代码是怎么写的 二 数据库方面知识 1 基本常用的SQL会写 比如 查询 新增 更新 删除语句 2 会使用数据库客户端
  • 如何让PHPstorm更友好的支持Laravel

    1 在Laravel根目录下执行以下命令composer require barryvdh laravel ide helper 2 在Laravel项目中修改config app文件 将以下代码添加至providers数组中 Barryv
  • Android Studio 实现APP内部更新版本

    Android Studio 实现APP内部更新版本 需求 开发android app时 我们希望不通过应用市场而实现app内部更新 权限配置 我们需要先在AndroidManifest xml文件申请权限 允许应用程序访问有关网络的信息
  • Ubuntu安装singularity

    Ubuntu安装singularity 1 问题情景 2 解决 总结 1 问题情景 go语言安装后 安装singularit过程中出现了permission denied情况 原因是使用指定的确切版本 而不是最新版本 Configuring
  • ios文件操作

    1 NSFIleManager 获取文件名 文件管理 创建一个文件管理器 NSFileManager fm NSFileManager alloc init NSError error error输出参数 理解输入输出参数 传指针可以跨栈获
  • Java课题笔记~ 过滤器

    概念 过滤器 顾名思义 就是在源数据和目的数据之间起过滤作用的中间组件 过滤器可以动态地拦截请求和响应 以变换或使用包含在请求或响应中的信息 filter是对客户端访问资源的过滤 符合条件放行 不符合条件不放行 并且可以对目标资源访问前后进