直接上圖(項目目錄結構):css
咱們主要關注webapp。html
如上圖,建議把js,css,layui,首頁等文件放在WEB-INF外部,WEB-INF放程序的主要網頁,index頁面,welcome,各類管理頁面等(以下圖)web
如今咱們進入了重頭戲了:路徑設置。ajax
1、上圖發現,咱們的login頁面在webapp下,就是項目啓動的一級目錄下spring
一、此時找到登錄頁面有兩種方法:在web.xml配置爲歡迎界面,項目啓動就直接跳轉此頁面。瀏覽器
頁面地址mvc
二、輸入一級目錄下的systemLogion.htmlapp
咱們推斷出此訪問路徑按照webapp爲根路徑,即http://localhost:8080/empmanage 這一坨表明webapp,其實從target文件也能夠映照這個結論webapp
2、上面找到了根路徑,咱們開始設置springMVC-web.xml文件(主要是釋放靜態資源的路徑----若不釋放,系統運行後會把這些資源進行攔截)異步
<!--釋放靜態資源-->
<mvc:default-servlet-handler></mvc:default-servlet-handler>
<mvc:resources mapping="/images/**" location="/images/"></mvc:resources>
<mvc:resources mapping="/css/**" location="/css/"></mvc:resources>
<mvc:resources mapping="/js/**" location="/js/"></mvc:resources>
<mvc:resources mapping="/layui/**" location="/layui/"></mvc:resources>
<mvc:resources mapping="/pages/**" location="/pages/"></mvc:resources>
一、釋放了靜態資源文件以後,在系統運行後,咱們能夠從http://localhost:8080/empmanage/js/cloud.js 這個路徑直接訪問js等文件(除了WEB-INF內的其餘任何文件)
二、可是要注意一點:系統執行到不一樣的頁面,是根據當前頁面請求的地址,去找相應的js等文件。
好比咱們的systemlogin.html頁面的js,css路徑設置以下圖:
可是WEB-INF裏面的操做頁面的css,js路徑以下:
經過對比咱們發現,WEB-INF頁面的路徑多了一個----- 「 ../ 」 ------
3、這是由於:當咱們在登錄頁面和WEB-INF下的index頁面時,請求地址(瀏覽器地址)分別爲
這時登錄頁面加入js/cloud.js咱們能夠訪問到相應的js頁面,因此登錄頁面的js路徑:js/**
可是index頁面是通過一次controller進行跳轉以後的路徑(user/index.do ---這是在一個controller裏的),因此index頁面的css,js路徑: ../js/**
4、當咱們在WEB-INF的index頁面中須要執行ajax無頁面刷新異步請求的時候,如:
此時請求controller的地址和js的地址相似,當前瀏覽器的地址不變,咱們須要 ../ 回到根路徑,而後去找controller(如上圖)。
編寫不易,求個當心心吧。。。。
本人如有敘述不當之處,請各位看官不吝賜教!