zoukankan      html  css  js  c++  java
  • 监听器

     

    Fileter 接口

     

    所有的过滤器都要事先javax.servlet.Fileter . 这个接口包含了三个方法,分别为:doFileter , init , destory

     

    public viod doFileter(ServletRequest request,ServletResponse response,FilterChain chain) throws ServletException,IOException

    每当调用一个过滤器(每次请求与此过滤器相关的servletJSP页面),就执行doFileter方法这是这个方法包含了大部分的过滤逻

     

    public void init(FileterConfig config) throws ServletException

    该方法并不是每次调用过滤器是都会执行,他只会在过滤器第一次初始化时执行.所以对于一些简单的过滤器我们常常会提供一个空的方法体.但若有以下来那个原因就需要使用这个方法: 

    1 : FilterConfig 对象提供对Servlet环境及web.xml文件中指派的过滤器名的访问.因此普遍的方法是利用initFilterCinfig 对象存放在一个字段中,以便doFilter方能够访问Servlet环境或过滤器名.

    2 : FileterConfig对象具有一个getInitParameter方法,它能够访问部署描述文件(web.xml)中分配的过滤器初始化参数

     

    public void doDstory()

    大多数的过滤器简单的为此方法提供一个空方法体,不过,可利用他完成诸如关闭过滤器是用的文件或数据库连接池登清除任务.

     

    配置过滤器

    Servlet一样,过滤器也是Web应用程序的一个组件,因此过滤器有需要在Web应用程序的配置文件web.xml,通过配置进行部署,而且配置过滤器的内容和格式和配置Servlet非常的相似

    过滤器的配置包括两个部分,第一个部分式过滤器在Web应用程序中的定义用<filter>元素表示,主要包括<filter-name><filter-class>两个必要的元素,以及<init-param> .<icon> . <display-name> . <description>4个可选的子元素;另一部分是对过滤器过滤规则的配置,<filter-mapping>元素表示

     

    Filter 元素

    (1) icon

    这是一个可选元素,它声明IDE可以使用一个图像文件

    (2) filter-name

    这是一个必须的元素,他给过滤器配置一个选定的名字

    (3) display-name

    这是一个可选的元素,他给出IDE使用的段名称

    (4) description

    这是一个可u型俺的元素,他给出IDE的信息,提供文本文档

    (5) filter-class

    这是一个必须的元素,他指定过滤器实现类的完全限定名

    (6) init-param

    这是一个可选的元素,它定义可以利用FilterConfiggetInitparameter方法读取的初始化参数单个过滤器可包含包括多个init-param元素

    Filter-mapping 元素

    Filter-mapping 元素位于web.xml文件中filter元素之后Servlet元素之前,它包含如下三个可能的子元素:

    (1)filter-name:这个必须的元素必须与filter元素声明是给予的过滤器名称相匹配

    (2)url-pattern:此元素声明一个斜杠(/)开始的模式,他指定过滤器的应用的URL.所有的filter-mappint元素必须提供url-patternservlet-name.但是不能对单个filter-mapping元素提供多个url-pattern.如果希望过滤器使用多个模式,可重复中整个filter-mapping元素

    (3)Servlet-name;此元素给出一个名称,次民初必须与利用Servlet元素提供多个Servlet-那么元素项或者JSP页面名称相匹配.但不能给单个的filter-mapping元素提供多个Servlet-name元素项.如果希望过滤器使用多个Servlet,可重复这个filter-mapping元素

     

     

  • 相关阅读:
    CentOS下部署Django线上运行环境
    MAC 下安装mysqlclient、Homebrew踩坑记
    kali基本命令(-)
    关于Django出现“__str__ returned non-string (type NoneType)”错误的处理
    deepin升级时出现“E: 无法获得锁 /var/lib/apt/lists/lock
    RCNN训练过程
    Jupyter Notebook中使用虚拟环境
    pytorch(cuda)的安装
    conda的基本操作
    第一周、深度学习概念
  • 原文地址:https://www.cnblogs.com/cz-xjw/p/3330536.html
Copyright © 2011-2022 走看看