<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

        servlet與filter的url-pattern設(shè)置方式及映射規(guī)則

        來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 20:13:01
        文檔

        servlet與filter的url-pattern設(shè)置方式及映射規(guī)則

        servlet與filter的url-pattern設(shè)置方式及映射規(guī)則:Servlet和filter是J2EE開發(fā)中常用的技術(shù),使用方便,配置簡單。servlet和filter中的url-pattern有一些文章在里面的,總結(jié)了一些東西,以免遇到問題又要浪費(fèi)時(shí)間。 一,servlet容器對url的匹配過程: 當(dāng) 一個(gè)請求發(fā)送到servlet容器的時(shí)候,容器先會(huì)將
        推薦度:
        導(dǎo)讀servlet與filter的url-pattern設(shè)置方式及映射規(guī)則:Servlet和filter是J2EE開發(fā)中常用的技術(shù),使用方便,配置簡單。servlet和filter中的url-pattern有一些文章在里面的,總結(jié)了一些東西,以免遇到問題又要浪費(fèi)時(shí)間。 一,servlet容器對url的匹配過程: 當(dāng) 一個(gè)請求發(fā)送到servlet容器的時(shí)候,容器先會(huì)將

        Servlet和filter是J2EE開發(fā)中常用的技術(shù),使用方便,配置簡單。servlet和filter中的url-pattern有一些文章在里面的,總結(jié)了一些東西,以免遇到問題又要浪費(fèi)時(shí)間。

        一,servlet容器對url的匹配過程:

        當(dāng) 一個(gè)請求發(fā)送到servlet容器的時(shí)候,容器先會(huì)將請求的url減去當(dāng)前應(yīng)用上下文的路徑作為servlet的映射url,比如我訪問的是 http://localhost/test/aaa.html,我的應(yīng)用上下文是test,容器會(huì)將http://localhost/test去掉, 剩下的/aaa.html部分拿來做servlet的映射匹配。這個(gè)映射匹配過程是有順序的,而且當(dāng)有一個(gè)servlet匹配成功以后,就不會(huì)去理會(huì)剩下 的servlet了(filter不同,后文會(huì)提到)。其匹配規(guī)則和順序如下:

        1. 精確路徑匹配。例子:比如servletA 的url-pattern為 /test,servletB的url-pattern為 /* ,這個(gè)時(shí)候,如果我訪問的url為http://localhost/test ,這個(gè)時(shí)候容器就會(huì)先進(jìn)行精確路徑匹配,發(fā)現(xiàn)/test正好被servletA精確匹配,那么就去調(diào)用servletA,也不會(huì)去理會(huì)其他的 servlet了。

        2. 最長路徑匹配。例子:servletA的url-pattern為/test/*,而servletB的url-pattern為/test/a/*,此 時(shí)訪問http://localhost/test/a時(shí),容器會(huì)選擇路徑最長的servlet來匹配,也就是這里的servletB。

        3. 擴(kuò)展匹配,如果url最后一段包含擴(kuò)展,容器將會(huì)根據(jù)擴(kuò)展選擇合適的servlet。例子:servletA的url-pattern:*.action

        4. 如果前面三條規(guī)則都沒有找到一個(gè)servlet,容器會(huì)根據(jù)url選擇對應(yīng)的請求資源。如果應(yīng)用定義了一個(gè)default servlet,則容器會(huì)將請求丟給default servlet(什么是default servlet?后面會(huì)講)。

        根據(jù)這個(gè)規(guī)則表,就能很清楚的知道servlet的匹配過程,所以定義servlet的時(shí)候也要考慮url-pattern的寫法,以免出錯(cuò)。

        對于filter,不會(huì)像servlet那樣只匹配一個(gè)servlet,因?yàn)閒ilter的集合是一個(gè)鏈,所以只會(huì)有處理的順序不同,而不會(huì)出現(xiàn)只選擇一 個(gè)filter。Filter的處理順序和filter-mapping在web.xml中定義的順序相同。

        二,url-pattern詳解

        在web.xml文件中,以下語法用于定義映射:

        l. 以”/’開頭和以”/*”結(jié)尾的是用來做路徑映射的。

        2. 以前綴”*.”開頭的是用來做擴(kuò)展映射的。

        3. “/” 是用來定義default servlet映射的。

        4. 剩下的都是用來定義詳細(xì)映射的。比如: /aa/bb/cc.action

        所以,為什么定義”/*.action”這樣一個(gè)看起來很正常的匹配會(huì)錯(cuò)?因?yàn)檫@個(gè)匹配即屬于路徑映射,也屬于擴(kuò)展映射,導(dǎo)致容器無法判斷。

        另外,關(guān)于url-pattern映射之后, request的servletContextPath , ServletPath , PathInfo 情況,可參照下面鏈接的文章

         1 servlet與filter的url-pattern設(shè)置方式: 
         2 
         3 1、精確匹配: 
         4 /directory/file1.jsp 
         5 /directory/file2.jsp 
         6 /directory/file3.jsp 
         7 
         8 2、目錄匹配: 
         9 /directory/*
         10 
         11 3、擴(kuò)展匹配:
         12 *.jsp
         13 
         14 注意:下面的不支持:
         15 /direcotry/*.jsp
         16 
         17 /和/*之間的區(qū)別:
         18 <url-pattern>/</url-pattern>: 會(huì)匹配到/login這樣的路徑型url,不會(huì)匹配到模式為*.jsp這樣的后綴型url
         19 <url-pattern>/*</url-pattern>:會(huì)匹配所有url:路徑型的和后綴型的url(包括/login , *.jsp , *.js 和 *.html 等)
         20 <url-pattern>/</url-pattern>: 甚至?xí)斐蒚he requested resource () is not available.

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        servlet與filter的url-pattern設(shè)置方式及映射規(guī)則

        servlet與filter的url-pattern設(shè)置方式及映射規(guī)則:Servlet和filter是J2EE開發(fā)中常用的技術(shù),使用方便,配置簡單。servlet和filter中的url-pattern有一些文章在里面的,總結(jié)了一些東西,以免遇到問題又要浪費(fèi)時(shí)間。 一,servlet容器對url的匹配過程: 當(dāng) 一個(gè)請求發(fā)送到servlet容器的時(shí)候,容器先會(huì)將
        推薦度:
        標(biāo)簽: se 規(guī)則 映射
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 永久中文字幕免费视频网站| 亚洲免费网站观看视频| 亚洲综合激情五月丁香六月| 在线看片免费人成视频久网下载 | 永久免费不卡在线观看黄网站| 一级成人a毛片免费播放| av无码久久久久不卡免费网站| 国产一区二区三区免费在线观看| 亚洲精品无码精品mV在线观看| 亚洲精品无码久久久久久久 | 99久久免费国产精品特黄| 国产亚洲精品影视在线| 成人性做爰aaa片免费看| 亚洲AV中文无码字幕色三| 在线观看亚洲视频| 国产精品免费福利久久| 亚洲AV无码一区二区三区国产| 美女又黄又免费的视频| 成年女人看片免费视频播放器| 亚洲精品人成网线在线播放va| 免费99热在线观看| 国内精品免费在线观看| 亚洲白嫩在线观看| 午夜毛片不卡高清免费| 无遮挡国产高潮视频免费观看 | 久久不见久久见免费影院| WWW国产亚洲精品久久麻豆| 国产片AV片永久免费观看| 亚洲AⅤ男人的天堂在线观看| 91成人在线免费观看| 国产成人精品日本亚洲专区| 国产精品99久久免费观看| 一本色道久久88—综合亚洲精品| 亚洲国产精品狼友中文久久久 | 亚洲成人免费在线| 在线视频观看免费视频18| 人碰人碰人成人免费视频| 亚洲最大在线视频| 亚洲精品视频免费看| 久久精品亚洲精品国产色婷| 免费特级黄毛片在线成人观看|