springmvc引入资源路径血案

最近读了下《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访问、域名访问,均可以正常显示了。

附上nginx配置

通过如下配置,就可以通过直接访问:www.eastlegend.cn来自动跳转首页,而不用加上端口号及项目路径等。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值