<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Servlet四種過(guò)濾器工作方式

    時(shí)間:2024-09-04 16:56:05 JAVA認(rèn)證 我要投稿
    • 相關(guān)推薦

    Servlet四種過(guò)濾器工作方式

      Servlet四種過(guò)濾器工作方式,從J2EE1.3開(kāi)始,Servlet2.3規(guī)范中加入了對(duì)過(guò)濾器的支持。過(guò)濾器能夠?qū)δ繕?biāo)資源的請(qǐng)求和響應(yīng)進(jìn)行截取。過(guò)濾器的工作方式分為四種,下面讓我們分別來(lái)看看這四種過(guò)濾器的工作方式:

      1、request過(guò)濾器

      這種過(guò)濾器的工作方式比較簡(jiǎn)單,大家也經(jīng)常遇到,如下圖所示:以下是web.xml文件配置方式:

      myFilter

      xx.MyFilter

      myFilter

      目標(biāo)資源一

      下面我們更改一下web.xml文件的配置,如下方式:

      myFilter

      xx.MyFilter

      myFilter

      目標(biāo)資源一

      myFilter

      目標(biāo)資源二

      也就是說(shuō)此過(guò)濾器對(duì)目標(biāo)資源一和目標(biāo)資源二都進(jìn)行過(guò)濾,然后當(dāng)目標(biāo)資源一被訪問(wèn)的時(shí)候我們將請(qǐng)求轉(zhuǎn)發(fā)給目標(biāo)資源二,那么這個(gè)時(shí)候過(guò)濾器是怎么工作的呢?如下圖所示:我們可以看到,當(dāng)我們?cè)L問(wèn)目標(biāo)資源一時(shí)過(guò)濾器截取了請(qǐng)求,然后再轉(zhuǎn)發(fā)給目標(biāo)資源一,然后再轉(zhuǎn)發(fā)給目標(biāo)資源二,從圖中我們可以看到過(guò)濾器沒(méi)有截取轉(zhuǎn)發(fā)到目標(biāo)資源二的請(qǐng)求,但是我們已經(jīng)在web.xml文件中配置了該過(guò)濾器對(duì)目標(biāo)資源二的過(guò)濾,為什么又沒(méi)有起到過(guò)濾作用呢?

      答案就在于,目標(biāo)資源一是客戶端直接訪問(wèn),而目標(biāo)資源二是被轉(zhuǎn)發(fā)過(guò)來(lái)的,這時(shí)過(guò)濾器就不能過(guò)濾目標(biāo)資源二。如果你直接訪問(wèn)目標(biāo)資源二,你會(huì)發(fā)現(xiàn)該過(guò)濾器起到了作用?

      我們上面的web.xml文件配置與以下方式等價(jià):

      myFilter

      myFilter

      xx.MyFilter

      myFilter

      目標(biāo)資源一

      REQUEST

      myFilter

      目標(biāo)資源二

      REQUEST

      這種方式的配置,說(shuō)明只有直接訪問(wèn)該目標(biāo)資源時(shí)該過(guò)濾器才會(huì)起作用,對(duì)轉(zhuǎn)發(fā)到該目標(biāo)資源的請(qǐng)求將忽略不處理。

      那如果我想對(duì)轉(zhuǎn)發(fā)到目標(biāo)資源二的請(qǐng)求進(jìn)行過(guò)濾,那怎么辦呢?答案見(jiàn),下一種過(guò)濾器,forward過(guò)濾器。

      2、forward過(guò)濾器

      我們將web.xml文件的配置修改如下:

      myFilter

      myFilter

      xx.MyFilter

      myFilter

      目標(biāo)資源一

      REQUEST

      myFilter

      目標(biāo)資源二

      FORWARD

      工作方式如下圖所示:

      我們看對(duì)目標(biāo)資源二過(guò)濾的配置方式,這時(shí)過(guò)濾方式為forward,也就是說(shuō)對(duì)轉(zhuǎn)發(fā)到目標(biāo)資源二的請(qǐng)求過(guò)濾,如果直接訪問(wèn)目標(biāo)資源二,過(guò)濾器將不起作用。

      3、include過(guò)濾器

      理解了forward過(guò)濾器之后,include過(guò)濾器就不難理解了。以下方式:

      myFilter

      目標(biāo)資源二

      INCLUDE

      此表示對(duì)包含了目標(biāo)資源二的請(qǐng)求過(guò)濾,如果直接訪問(wèn)目標(biāo)資源二,則此過(guò)濾器將不起作用。

      include包含以下語(yǔ)句:

      在JSP頁(yè)面中的動(dòng)作:指令包含,這時(shí)此過(guò)濾器不工作。

      4、error過(guò)濾器

      當(dāng)我們?cè)L問(wèn)一個(gè)web目標(biāo)資源時(shí),如果服務(wù)器沒(méi)有找到該目標(biāo)資源,那么服務(wù)器就會(huì)給出一個(gè)404錯(cuò)誤代碼。如果我們給404錯(cuò)誤代碼定義一個(gè)頁(yè)面,那么當(dāng)404錯(cuò)誤發(fā)生時(shí)就會(huì)調(diào)用該頁(yè)面,請(qǐng)看以下web.xml文件的配置:

      myFilter

      /error.jsp

      ERROR

      404

      /error.jsp

      當(dāng)我們?cè)L問(wèn)一個(gè)不存在的文件時(shí),就會(huì)訪問(wèn)error.jsp,但是配置了過(guò)濾器對(duì)錯(cuò)誤頁(yè)面進(jìn)行過(guò)濾,所以過(guò)濾器先接受到請(qǐng)求,然后再轉(zhuǎn)發(fā)給error.jsp.

      如果我們?cè)L問(wèn)一個(gè)已經(jīng)存在的頁(yè)面,會(huì)不會(huì)調(diào)用error.jsp呢?如果這個(gè)頁(yè)面中有response.sendError(404,“出錯(cuò)了!”);那么該錯(cuò)誤頁(yè)面仍然會(huì)被調(diào)用,過(guò)濾器也會(huì)工作。

    【Servlet四種過(guò)濾器工作方式】相關(guān)文章:

    未來(lái)工作方式的趨勢(shì)10-24

    OA系統(tǒng)改變工作方式01-23

    SUN認(rèn)證考試知識(shí)點(diǎn):java servlet生命周期09-25

    CAD點(diǎn)過(guò)濾器的使用方法10-18

    中老年養(yǎng)老機(jī)構(gòu)社會(huì)工作方式策略分析10-25

    項(xiàng)目監(jiān)理部資料管理工作方式技巧07-01

    專升本的四種途徑07-27

    中餐的四種禮儀08-25

    動(dòng)詞的四種時(shí)態(tài)06-22

    音的四種性質(zhì)10-13

    主站蜘蛛池模板: 无码国内精品久久人妻蜜桃| 日韩精品在线视频| 中文精品久久久久人妻不卡| 久久国产成人精品麻豆| 色偷偷88欧美精品久久久| 久久96国产精品久久久| 中文字幕亚洲精品无码| 9999国产精品欧美久久久久久| 久久精品国产亚洲AV无码偷窥 | 精品久久人人爽天天玩人人妻 | 精品性影院一区二区三区内射| 国产精品区AV一区二区 | 日韩欧美亚洲国产精品字幕久久久 | 国产精品人成在线播放新网站| 日本精品久久久久影院日本| 99热这里只有精品6国产免费| 99国产精品无码| 一本一本久久aa综合精品| 国自产精品手机在线观看视频| 国产韩国精品一区二区三区久久| 熟妇人妻VA精品中文字幕| 欧美日韩精品系列一区二区三区 | 欧美精品第一页| 国产欧美亚洲精品A| 亚洲精品国产精品乱码不99| 久久久久久亚洲精品不卡| 国产高清国内精品福利99久久| 国产精品国产精品国产专区不卡| 蜜国产精品jk白丝AV网站| 最新国产精品拍自在线观看| 少妇亚洲免费精品| 无码国产亚洲日韩国精品视频一区二区三区 | 中文字幕精品亚洲无线码一区| 精品国产一区二区三区AV性色| 中文字幕成人精品久久不卡| 国产精品怡红院永久免费| A级精品国产片在线观看| 国产欧美日韩精品a在线观看| 久久精品夜夜夜夜夜久久| 久久久久99精品成人片直播| 久久国产精品一国产精品金尊|