shopoperation.html的根目录
来源:4-10 店铺注册之js实现
ellydebug
2018-12-25
shopoperation.html的所在的目录是WEB-INF,而不是WEB-INF/html/shop/,这一点很不理解。
这和我之前接触的项目不同,请老师解答下。
4回答
-
咱们在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
└── shop
└── shopoperation.js
所以此时./resources/js/shop/shopoperation.js能访问到资源
而../../../resources/js/shop/shopoperation.js能访问到资源就比较神奇了,兴许是这样写就能绕开html静态资源处理,转而直接访问物理路径?这个估计得找到适合的时机去好好研究下才能明白了,同学可以先继续后续的章节的学习
122018-12-27 -
ellydebug
提问者
2018-12-26
经过调试发现使用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
└── resources
└── js
├── common
│ └── common.js
└── shop
└── shopoperation.js
所以,还是不理解为何 shopoperation.js 的上级目录是“WEB-INFO”,如何跳出WEB-INFO/resources/js/shop/ 这么多层级的呢?
212019-01-14 -
慕雪7046729
2019-05-25
可以用src='/o2o/resources/js/shop/shopoperation.js'绝对路径访问js,
但是../../../resources/js/shop/shopoperation.js没用
00 -
翔仔
2018-12-26
同学好,同学在点击Eclipse server启动项目的时候,会在console里面看到项目发布的路径,根据这个路径去到发布项目的实际目录里面看看项目的最终结构就会比较清楚了
012018-12-26
相似问题