jsp filter 過(guò)濾器功能與簡(jiǎn)單用法示例

本文實(shí)例講述了jsp filter 過(guò)濾器功能與簡(jiǎn)單用法。分享給大家供大家參考,具體如下:

過(guò)濾器的作用是什么?

過(guò)濾器可以動(dòng)態(tài)地?cái)r截請(qǐng)求和響應(yīng),以變換或使用包含在請(qǐng)求或響應(yīng)中的信息。

可以將一個(gè)或多個(gè)過(guò)濾器附加到一個(gè) servlet 或一組 servlet。過(guò)濾器也可以附加到 javaserver pages (jsp) 文件和 html 頁(yè)面。

  • 在客戶(hù)端的請(qǐng)求訪問(wèn)后端資源之前,攔截這些請(qǐng)求。
  • 在服務(wù)器的響應(yīng)發(fā)送回客戶(hù)端之前,處理這些響應(yīng)。

過(guò)濾器的實(shí)現(xiàn)要實(shí)現(xiàn) java.servlet.filter 這個(gè)接口類(lèi)

一個(gè)簡(jiǎn)易的filter 類(lèi)示例

package demo;
import java.io.ioexception;
import javax.servlet.filter;
import javax.servlet.filterchain;
import javax.servlet.filterconfig;
import javax.servlet.servletexception;
import javax.servlet.servletrequest;
import javax.servlet.servletresponse;
public class demofilter implements filter
{
  private string name=null;
  @override
  public void destroy()
  {
  }
  @override
  public void dofilter(servletrequest arg0, servletresponse arg1,
      filterchain arg2) throws ioexception, servletexception
  {
    arg0.setattribute("name", "init text string : " + name);
    arg2.dofilter(arg0, arg1);
  }
  @override
  public void init(filterconfig arg0) throws servletexception
  {
    //獲得web.xml中filter init-param 中的配置
    name = arg0.getinitparameter("name");
  }
}

僅僅只是寫(xiě)好了這個(gè)過(guò)濾器類(lèi)還不行。我們要在web.xml中聲明哪些請(qǐng)求需要過(guò)濾器的調(diào)用

web.xml

  <!--聲明一個(gè)filter-->
  <filter>
  <!--filter的名稱(chēng)-->
    <filter-name>demofilter</filter-name>
  <!--filter 類(lèi)-->
    <filter-class>demo.demofilter</filter-class>
  <!--該filter類(lèi)需要的配置-->
    <init-param>
      <param-name>name</param-name>
      <param-value>my name is tanyong</param-value>
    </init-param>
  </filter>

  <!--為url-pattern 中相匹配的url鏈接 映射至相應(yīng)的filter filter 通過(guò) filter-name來(lái)識(shí)別-->
  <filter-mapping>
    <filter-name>demofilter</filter-name>
    <!--匹配映射規(guī)則,我這里用的是所有請(qǐng)求都要在demofilter filter 里面去兜晃一圈-->
    <url-pattern>/*</url-pattern>
  </filter-mapping>

希望本文所述對(duì)大家jsp程序設(shè)計(jì)有所幫助。

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频