Servlet基本_Filter
1、概念
・サーブレットフィルタとは、サーブレットやJSPの「共通の前後処理」を記述するための仕組みです。
・フィルタはサーブレットやJSPの前に位置し、実行前と後に、リクエスト、レスポンスに対して任意の処理を行うことができます。
・フィルタの処理対象は任意のURLパターンが指定可能です。フィルタ対象はサーブレットとJSPだけではなく、
Html、画像などWebアプリケーション内のリソースであれば何にでもフィルタをかけることができます。
2、フィルタの作成
・javax.servlet.Filter インターフェイス を実装したフィルタクラスを作成する。
・web.xmlにフィルタを登録する。
3、フィルタインタフェース
【javax.servlet.Filter】
フィルタクラスは、このインタフェースを実装して作成します。
3つのメソッドが定義されており、処理のある・なしにかかわらず3つとも実装必要です。
・void init(FilterConfig filterConfig): 初期化
・void doFilter(ServletRequest request, ServletResponse response, FilterChain chain):フィルタ処理
・void destroy() :終了処理
【javax.servlet.FilterConfig】
Filter.init()メソッドの引数に指定されるインタフェースです。
【javax.servlet.FilterChain】
Filter.doFilter()メソッドの引数に指定されるインタフェースです。
Filter は、チェーン内の次のフィルタを呼び出す時あるいは、呼び出している Filter がチェーン内の最後の Filter なら、
チェーンの終わりのリソースを呼び出す時に FilterChain を利用します。
4、web.xmlへの登録
<filter>
<filter-name>フィルタ名</filter-name>
<filter-class>クラスファイル</filter-class>
<init-param>
<param-name>初期化パラメータ名</param-name>
<param-value初期化>値</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>フィルタ名</filter-name>
<url-pattern>フィルタをかけるURL対象</url-pattern>
</filter-mapping>
「url-pattern」は、
・「/*」は、全てのURLリソースに対してフィルタを適用します。
・「/admin/*」は、adminディレクトリ以下への呼び出しにフィルタ適用。
・「*.do」は、.doというURLに適用
5、フィルタのオン/オフ
フィルタへweb.xmlを編集することで付けたりはずしたりできます。
例えば、<filter-mapping>要素のコメントアウトでフィルタをオフします。
6、フィルタの順序
<filter-mapping>要素を記述した順番でフィルタが呼ばれます。
7、初期化パラメータ
フィルタは実行時に設定情報をweb.xmlから読み込むことができます。
初期化パラメータは<filter>の<init-param>要素で指定できます。
web.xmlに指定した初期化パラメータをフィルタクラスで読み込むためには、
Filter.init()メソッド内でjavax.servlet.FilterConfig.getInitParameter()メソッドを使用します。
Servlet基本_Filter的更多相关文章
- 深入Jetty源码之Servlet框架及实现(Servlet、Filter、Registration)
概述 Servlet是Server Applet的缩写,即在服务器端运行的小程序,而Servlet框架则是对HTTP服务器(Servlet Container)和用户小程序中间层的标准化和抽象.这一层 ...
- servlet文件下载
创建web工程servlet,新建DownloadServlet.java package com.xmyself.servlet; import java.io.File; import java. ...
- java中servlet的各种路径
1. web.xml中<url-pattern>路径,(叫它Servlet路径!) > 要么以“*”开关,要么为“/”开头 2. 转发和包含路径 > *****以“/”开头:相 ...
- Servlet监听器笔记总结
监听器Listener的概念 监听器的概念很好理解,顾名思义,就是监视目标动作或状态的变化,目标一旦状态发生变化或者有动作,则立马做出反应. Servlet中的也有实现监听器的机制,就是Listene ...
- JavaWeb——Servlet
一.基本概念 Servlet是运行在Web服务器上的小程序,通过http协议和客户端进行交互. 这里的客户端一般为浏览器,发送http请求(request)给服务器(如Tomcat).服务器接收到请求 ...
- servlet 简介,待完善
什么是Servlet?① Servlet就是JAVA 类② Servlet是一个继承HttpServlet类的类③ 这个在服务器端运行,用以处理客户端的请求 Servlet相关包的介绍--javax. ...
- java web学习总结(五) -------------------servlet开发(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- servlet使用入门
创建web工程servlet,然后新建TestServlet.java package com.xmyself.servlet; import java.io.IOException; import ...
- 基于jsp+servlet图书管理系统之后台万能模板
前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...
随机推荐
- centos7 firewall-cmd 理解多区域配置中的 firewalld 防火墙
原文:https://www.linuxidc.com/Linux/2017-11/148795.htm 现在的新闻里充斥着服务器被攻击和数据失窃事件.对于一个阅读过安全公告博客的人来说,通过访问错误 ...
- dell 7447加装SSD
老本加新件:) dell 7447第一款游匣? 14年冬入手,陪伴在下已有4年 一.需要拆机看接口(不知道的话),拆机无流程,网上一大把,此处不再赘述. 二.硬盘接口知识扩展: SATA3 m2接口有 ...
- win下使用git-bash工具进行ssh免密登录服务器
1.ssh-keygen.exe 生成公钥私钥(.pub) 2.ssh-agent.exe bash 指定工具 3.ssh-add.exe **** 添加私钥 OK
- 文本adversarial examples
对文本对抗性样本的研究极少,近期论文归纳如下: 文本对抗三个难点: text data是离散数据,multimedia data是连续数据,样本空间不一样: 对text data的改动可能导致数据不合 ...
- json及JavaBean转json
先来看看JSON: 什么是JSON: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON是用字符串来表示Javascript对象,例如可以在Ser ...
- 电商系统架构总结4(webapi 版本控制)
为了 顺利迭代升级,web api 在维护过程是不断升级的,但用户是不能强迫他们每次都跟随你去升级,这样会让用户不胜其烦.为了保证不同版本的客户端能同时兼容,在web api接口上加入版本控制就很有必 ...
- Apache CLI Demo
1. Options private Options options = new Options(); 2. option (1) way1 launcher.options.addOption(&q ...
- Vue3.0项目快速搭建
安装安装vue-cli npm install -g @vue/cli # 或者 yarn global add @vue/cli 创建项目 vue create hello-world 至此项目搭建 ...
- python学习之----lxml库和HTML parser
lxml 这个库(http://lxml.de/)可以用来解析HTML 和XML 文档,以非常底层的实现而闻名 于世,大部分源代码是用C 语言写的.虽然学习它需要花一些时间(其实学习曲线越 陡峭,表明 ...
- [python] 初学python,级联菜单输出
#Author:shijt china_map = { "河北": { '石家庄': ['辛集', '正定', '晋州'], '邯郸': ['涉县', '魏县', '磁县'], ' ...