每一個Maven工程的目錄結構大都相同,這種目錄結構稱做Maven的標準目錄結構。由於Maven是約定優於配置,根據模板直接生成webapp目錄,故其默認的Webapp就是其發佈目錄。我們不需要再copy一份webcontent目錄,如果再複製一份webcontent目錄,需要在pom.xml裏面配置,告訴Maven。
基於Maven約定優於配置,我們用其默認的文件夾目錄,所有的jsp都放在了WEB-INF目錄下,通過後臺SpringMVC返回的界面,找不到返回的界面。這是爲什麼呢?
WEB-INF目錄是受保護的目錄,我們把後臺的jsp頁面放在其目錄下加強了安全性以及保護源代碼。這個目錄是有訪問控制權限的,直接在地址欄中輸入頁面的url地址是不能訪問的,提示404錯誤。需要配置才能訪問的到。
配置如下:
上面的配置是配置SpringMVC的視圖解析器。springMVC使用ViewResolver根據controller中返回的view名關聯到具體的view對象,使用view對象來渲染返回值以生成最終的視圖。
總結:
JSP頁面放在WEB-INF和Webapp下有什麼優缺點呢?
放在WEB-INF目錄下優點是更安全,其下的資源不是爲客戶直接服務的,不能直接訪問JSP,保護源碼。缺點是開發過程中從裏面找文件很不方便。
放在Webapp下優點是結構清晰,可以直接訪問Jsp頁。也可以通過加過濾器的方式達到JSP不能直接訪問的效果。