<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 問題01:Filter的概念及體系結構。 * [ ] Tomcat8.0 ![](https://img.kancloud.cn/9e/80/9e80f80eef2b41ad753f635bf452c4dd_863x409.png) * [ ] Tomcat9.0 ![](https://img.kancloud.cn/77/ba/77bacf5230c7b03d01bf8a4abc6ca018_1133x720.png) ## 問題02:Filter的作用。 ![](https://img.kancloud.cn/90/05/90057927a7b29e95fbde13af1a92c650_802x250.png) * [ ] 對request進行處理(如統一全站編碼) * [ ] 對response進行處理(如禁止緩存等) * [ ] 決定目標資源是否被訪問(如權限控制等) ## 問題03:Filter的創建與配置。 ### Filter的創建 ![](https://img.kancloud.cn/32/cd/32cd6fee74be4c57e187f71ee1ab7c3c_617x368.png) ![](https://img.kancloud.cn/1f/f4/1ff4510f1f3bdae8cfa32553c6f7b219_1248x519.png) ### Filter的注解配置 ``` @WebFilter( urlPatterns = { "/edit.jsp", "/index.jsp", "/download.jsp" }, servletNames = { "DeleteFileServlet", "EditFileServlet", "UploadServlet", }) ``` ### Filter的XML配置 ``` <filter> <filter-name>FilterDemo1</filter-name> <filter-class>包名.類名</filter-class> </filter> <filter-mapping> <filter-name>FilterDemo1</filter-name> <url-pattern>過濾路徑</url-pattern> <dispatcher></dispatcher> </filter-mapping> ``` ## 問題04:多個Filter的裝配問題(Filter Chain的組裝順序和規則)。 多個過濾器的執行順序: 1. 配置文件從配置順序執行; 2. 之后再執行注解的過濾器; 3. 注解過濾器按照類名首字母執行。 **配置文件(從上到下)→配置文件(類名ASCII碼從小到大)** ## 問題05:Fliter處理request(設置所有資源編碼) ``` @WebFilter("/*") ``` ![](https://img.kancloud.cn/32/cd/32cde6664721117a94d180209e6c9198_650x152.png) ## 問題06:Fliter處理response(指定文件獲取信息) ## 問題07:Fliter處理response(允許靜態資源跨域訪問) ``` @WebFilter("/static/*") ``` ![](https://img.kancloud.cn/e5/5c/e55cec083c56b538fa608e4f1eca8e1a_855x199.png) ## 問題08:Fliter處理response(禁止jsp文件緩存) ![](https://img.kancloud.cn/dc/cb/dccb86b87bec1eece5546f0e6e56cd8e_589x248.png) ## 問題09:Fliter決定是否允許被訪問(訪問攔截) ``` 需要利用到session來進行通信 ``` ![](https://img.kancloud.cn/1b/fb/1bfb6144a9c745dba6084417ca19188d_1079x350.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看