一. Servlet請(qǐng)求路徑的定義方式
我們很多同學(xué)在學(xué)習(xí)Servlet匹配請(qǐng)求路徑時(shí),都知道匹配請(qǐng)求路徑的方式有三種,分別是精確匹配、通配符匹配和后綴匹配,具體如下:
上面這樣定義的Servlet,就能接收精確匹配、通配符匹配、后綴匹配相應(yīng)的請(qǐng)求路徑。我們?cè)跒g覽器中,可以按照如下格式進(jìn)行訪問:
二. JSP中靜態(tài)資源請(qǐng)求路徑的定義方式
后來在學(xué)習(xí)jsp時(shí),發(fā)現(xiàn)有時(shí)需要引入靜態(tài)資源,如jsp頁(yè)面中帶有靜態(tài)資源:
靜態(tài)資源的請(qǐng)求路徑,可以分為絕對(duì)路徑和相對(duì)路徑。絕對(duì)路徑以斜杠(/)開頭,這就很容易和Servlet的匹配路徑混淆,讓我們以為精確匹配前面的斜杠是絕對(duì)路徑,在使用時(shí)有些人就把斜杠給省略掉了,變成相對(duì)路徑的定義格式,定義成下面這樣的格式:
但在啟動(dòng)項(xiàng)目時(shí),就出現(xiàn)了下面這樣的錯(cuò)誤:
請(qǐng)大家記住這個(gè)錯(cuò)誤,如果出現(xiàn)上圖中的這種錯(cuò)誤,十有八九就是因?yàn)槎x的請(qǐng)求路徑有問題。因?yàn)?addUser",既非精確匹配也不是通配符匹配,更不是后綴匹配,所有的這種定義方式都是錯(cuò)誤的,正確的方式是應(yīng)該定義成"/addUser",如下面的代碼:
所以初學(xué)者在定義路徑時(shí),應(yīng)該多加注意,Servlet匹配路徑?jīng)]有絕對(duì)路徑和相對(duì)路徑之說,而靜態(tài)資源的請(qǐng)求路徑會(huì)有。現(xiàn)在你知道該怎么定義接口及資源的請(qǐng)求路徑了嗎?