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