赞
踩
最近读了下《Spring In Action》,根据上边配置了下简单的springmvc环境,不过是纯注解的,web.xml没有任何配置。只是打开页面时,发现页面显示总是有问题,一直以为是springmvc配置问题,网上找了几篇文章,自己来来回回改了几次代码都没有解决,最终发现罪魁祸首是html页面引入资源路径问题,之前对于路径这块总是模模糊糊的,经此血案,也不知道是清楚了一点,还是更晕了。
我的感觉就是:首页面路径要是webapp文件下的路径开头,如下图,以src或者favicon.ico开头,前边没有"/"。
加载过项目框架之后,下边应该就可以使用…/…/这种开头的相对路径了吧(这一句待随后验证)。
项目路径:
打包后路径:
如上图所示:main目录下的java、resources目录打包后都位于webapps–》WEB_INF–>classes目录下,而webapp下边的src存放的是项目相关的静态资源,如js、css、html等。
和本次分析相关的html、js等文件详细路径如下:
最初,直接使用… /这种相对路径来引入js文件
不启动项目,直接用浏览器打开html页面,显示正常;
打包后,localhost:8080/eastValley/访问,html页面可以打开,但是js、css访问的路径(以jquery为例)是:
http://www.localhost:8080/src/js/common/jquery-3.4.1.min.js,报404错误,导致页面样式错误。正确路径应为:http://www.localhost:8080/eastValley/src/js/common/jquery-3.4.1.min.js,路径少了项目名称。
报错见下图:
改成绝对路径:
本地启动项目,正常
发布的服务器后,通过ip:port访问,正常
通过域名:port访问,首页面可以打开,js、css访问的路径错误,但是这次是路径少了端口号,还是无法正确加载。
报错如下:
这样,浏览器直接打开html页面报错,但是ip访问、域名访问,均可以正常显示了。
通过如下配置,就可以通过直接访问:www.eastlegend.cn来自动跳转首页,而不用加上端口号及项目路径等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。