第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

servlet映射url模式中/和/*的差異

servlet映射url模式中/和/*的差異

海綿寶寶撒 2019-06-04 17:27:10
servlet映射url模式中/和/*的差異熟悉的代碼:<servlet-mapping>     <servlet-name>main</servlet-name>     <url-pattern>/*</url-pattern></servlet-mapping><servlet-mapping>     <servlet-name>main</servlet-name>     <url-pattern>/</url-pattern></servlet-mapping>我的理解是/*映射到http://host:port/context/*.怎么樣/?它肯定不會映射到http://host:port/context只有根。事實上,它會接受http://host:port/context/hello,但拒絕http://host:port/context/hello.jsp.有人能解釋一下http://host:port/context/hello地圖?
查看完整描述

3 回答

?
MM們

TA貢獻1886條經(jīng)驗 獲得超2個贊

我想用映射規(guī)則和一個例子來補充BalusC的答案。

Servlet 2.5規(guī)范中的映射規(guī)則:

  1. 映射精確URL
  2. 映射通配符路徑
  3. 地圖擴展
  4. 映射到默認servlet

在我們的示例中,有三個servlet。/是我們安裝的默認servlet。Tomcat安裝兩個servlet來服務jsp和jspx。所以要繪制地圖http://host:port/context/hello

  1. 沒有安裝確切的URL servlet,下一步。
  2. 沒有安裝通配符路徑servlet,下一步。
  3. 不匹配任何擴展,下一步。
  4. 映射到默認servlet,返回。

地圖http://host:port/context/hello.jsp

  1. 沒有安裝確切的URL servlet,下一步。
  2. 沒有安裝通配符路徑servlet,下一步。
  3. 找到擴展servlet,返回。


查看完整回答
反對 回復 2019-06-04
?
飲歌長嘯

TA貢獻1951條經(jīng)驗 獲得超3個贊

也許您也需要知道URL是如何映射的,因為我遭受了404好幾個小時。有兩種處理程序處理請求。BeanNameUrlHandlerMappingSimpleUrlHandlerMapping..當我們定義servlet-mapping,我們正在使用SimpleUrlHandlerMapping..我們需要知道的一件事是,這兩個處理程序共享一個稱為alwaysUseFullPath默認為false.

false這里意味著Spring將不使用Mapp的完整路徑,也就是控制器的url。什么意思?這意味著當您定義servlet-mapping:

<servlet-mapping>
    <servlet-name>viewServlet</servlet-name>
    <url-pattern>/perfix/*</url-pattern></servlet-mapping>

處理程序?qū)嶋H使用*找到控制器的一部分。例如,下面的控制器將面臨一個404使用/perfix/api/feature/doSomething

@Controller()@RequestMapping("/perfix/api/feature")public class MyController {
    @RequestMapping(value = "/doSomething", method = RequestMethod.GET) 
    @ResponseBody
    public String doSomething(HttpServletRequest request) {
        ....
    }}

這是一個完美的匹配,對嗎?但為什么404..如前所述,默認值為alwaysUseFullPath是假的,這意味著在您的請求中,只有/api/feature/doSomething用于查找相應的控制器,但沒有任何Controller關心該路徑。您需要將url更改為/perfix/perfix/api/feature/doSomething或移除perfix來自MyController基地@RequestingMapping.


查看完整回答
反對 回復 2019-06-04
  • 3 回答
  • 1 關注
  • 1275 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號