• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. Servlet四種過濾器工作方式

        時間:2024-09-04 16:56:05 JAVA認證 我要投稿
        • 相關推薦

        Servlet四種過濾器工作方式

          Servlet四種過濾器工作方式,從J2EE1.3開始,Servlet2.3規范中加入了對過濾器的支持。過濾器能夠對目標資源的請求和響應進行截取。過濾器的工作方式分為四種,下面讓我們分別來看看這四種過濾器的工作方式:

          1、request過濾器

          這種過濾器的工作方式比較簡單,大家也經常遇到,如下圖所示:以下是web.xml文件配置方式:

          myFilter

          xx.MyFilter

          myFilter

          目標資源一

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

          myFilter

          xx.MyFilter

          myFilter

          目標資源一

          myFilter

          目標資源二

          也就是說此過濾器對目標資源一和目標資源二都進行過濾,然后當目標資源一被訪問的時候我們將請求轉發給目標資源二,那么這個時候過濾器是怎么工作的呢?如下圖所示:我們可以看到,當我們訪問目標資源一時過濾器截取了請求,然后再轉發給目標資源一,然后再轉發給目標資源二,從圖中我們可以看到過濾器沒有截取轉發到目標資源二的請求,但是我們已經在web.xml文件中配置了該過濾器對目標資源二的過濾,為什么又沒有起到過濾作用呢?

          答案就在于,目標資源一是客戶端直接訪問,而目標資源二是被轉發過來的,這時過濾器就不能過濾目標資源二。如果你直接訪問目標資源二,你會發現該過濾器起到了作用?

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

          myFilter

          myFilter

          xx.MyFilter

          myFilter

          目標資源一

          REQUEST

          myFilter

          目標資源二

          REQUEST

          這種方式的配置,說明只有直接訪問該目標資源時該過濾器才會起作用,對轉發到該目標資源的請求將忽略不處理。

          那如果我想對轉發到目標資源二的請求進行過濾,那怎么辦呢?答案見,下一種過濾器,forward過濾器。

          2、forward過濾器

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

          myFilter

          myFilter

          xx.MyFilter

          myFilter

          目標資源一

          REQUEST

          myFilter

          目標資源二

          FORWARD

          工作方式如下圖所示:

          我們看對目標資源二過濾的配置方式,這時過濾方式為forward,也就是說對轉發到目標資源二的請求過濾,如果直接訪問目標資源二,過濾器將不起作用。

          3、include過濾器

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

          myFilter

          目標資源二

          INCLUDE

          此表示對包含了目標資源二的請求過濾,如果直接訪問目標資源二,則此過濾器將不起作用。

          include包含以下語句:

          在JSP頁面中的動作:指令包含,這時此過濾器不工作。

          4、error過濾器

          當我們訪問一個web目標資源時,如果服務器沒有找到該目標資源,那么服務器就會給出一個404錯誤代碼。如果我們給404錯誤代碼定義一個頁面,那么當404錯誤發生時就會調用該頁面,請看以下web.xml文件的配置:

          myFilter

          /error.jsp

          ERROR

          404

          /error.jsp

          當我們訪問一個不存在的文件時,就會訪問error.jsp,但是配置了過濾器對錯誤頁面進行過濾,所以過濾器先接受到請求,然后再轉發給error.jsp.

          如果我們訪問一個已經存在的頁面,會不會調用error.jsp呢?如果這個頁面中有response.sendError(404,“出錯了!”);那么該錯誤頁面仍然會被調用,過濾器也會工作。

        【Servlet四種過濾器工作方式】相關文章:

        未來工作方式的趨勢10-24

        OA系統改變工作方式01-23

        SUN認證考試知識點:java servlet生命周期09-25

        CAD點過濾器的使用方法10-18

        中老年養老機構社會工作方式策略分析10-25

        項目監理部資料管理工作方式技巧07-01

        專升本的四種途徑07-27

        中餐的四種禮儀08-25

        動詞的四種時態06-22

        音的四種性質10-13

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 亚洲中文另类婷婷久久 | 日本韩国床震无遮挡高潮hd | 亚洲每日更新在线国产精品原创巨作AV | 亚洲女同一区二区无线码 | 午夜女人天堂在线观看 | 亚洲综合一区自偷自拍 |