直接上图(项目目录结构):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(如上图)。
编写不易,求个当心心吧。。。。
本人如有叙述不当之处,请各位看官不吝赐教!