IDEA解决SSM项目的静态资源路径问题:HTML,CSS,JS--详解

IDEA解决SSM项目的静态资源路径问题:HTML,CSS,JS

 

直接上图(项目目录结构):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(如上图)。

 

编写不易,求个当心心吧。。。。

本人如有叙述不当之处,请各位看官不吝赐教!

 

原文出处:https://www.cnblogs.com/-CX-/p/10647071.html

相关文章
相关标签/搜索