采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
shopoperation.html的所在的目录是WEB-INF,而不是WEB-INF/html/shop/,这一点很不理解。 这和我之前接触的项目不同,请老师解答下。
咱们在spring-web.xml里面
<!-- 2.静态资源默认servlet配置 (1)加入对静态资源的处理:js,gif,png (2)允许使用"/"做整体映射 --> <mvc:resources mapping="/resources/**" location="/resources/" /> <mvc:default-servlet-handler /> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/html/"></property> <property name="suffix" value=".html"></property> </bean>
定义了相关的视图解析器,
注意这里的/WEB-INF/html/,相当可以理解为被缺省掉了,此时应该可以看成
└── shop
│ └── shopoperation.html
│
└── resources
└── js
├── common
│ └── common.js
└── shopoperation.js
所以此时./resources/js/shop/shopoperation.js能访问到资源
而../../../resources/js/shop/shopoperation.js能访问到资源就比较神奇了,兴许是这样写就能绕开html静态资源处理,转而直接访问物理路径?这个估计得找到适合的时机去好好研究下才能明白了,同学可以先继续后续的章节的学习
非常感谢!
感谢老师的细致解答~ 除此之外,自己查阅文档发现如下配置mvc:resources的location后,也可以直接按照/resources/js/shop/shopoperation.js进行访问。 ``` <mvc:resources mapping="/resources/**" location="/resources/" /> ```
经过调试发现使用src='../../../resources/js/shop/shopoperation.js' 和 src='../resources/js/shop/shopoperation.js' 这两种方式,都可以正常访问页面。
我使用的IntelliJ IDEA启动项目。
console中看到项目路径“CATALINA_HOME: /usr/local/apps/apache-tomcat-9.0.13”
在“/usr/local/apps/apache-tomcat-9.0.13/webapps/o2o”中打印结构如下:
├── WEB-INF
│ ├── classes
│ ├── html
│ │ └── shop
│ │ └── shopoperation.html
│ └── web.xml
├── index.jsp
所以,还是不理解为何 shopoperation.js 的上级目录是“WEB-INFO”,如何跳出WEB-INFO/resources/js/shop/ 这么多层级的呢?
同学你好,请问`为何 shopoperation.js 的上级目录是“WEB-INFO”,如何跳出WEB-INFO/resources/js/shop/ 这么多层级的呢?`,你弄清楚原理了吗?
可以用src='/o2o/resources/js/shop/shopoperation.js'绝对路径访问js,
但是../../../resources/js/shop/shopoperation.js没用
同学好,同学在点击Eclipse server启动项目的时候,会在console里面看到项目发布的路径,根据这个路径去到发布项目的实际目录里面看看项目的最终结构就会比较清楚了
直接回复内容,格式不方便阅读,已添加到回答里面,烦请老师细致解答~
登录后可查看更多问答,登录/注册
SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需
2.0k 47
1.9k 41
2.5k 40
1.8k 39
1.5k 37