美文网首页
SpringBoot项目访问静态资源时请求路径错误

SpringBoot项目访问静态资源时请求路径错误

作者: 喵喵不吃鱼哦 | 来源:发表于2020-04-29 16:01 被阅读0次

    本来想着自己写个博客,还在想着service怎么搞得时候.....结果开头就css,js,图片等静态资源的请求路径就出了问题,具体如下:

    image.png
    在@RequestMapping("/Blog")中设置了一个Blog
    结果在浏览器中就出现了↓ image.png
    你看这个Blog是又大又圆。。。想破了头没想出来啥情况,配置也没问题,终究是自己才疏学浅。(页面还没来得及改,自己实在看到前端页面布局脑壳疼,download了大佬的页面https://www.yangqq.com/

    本着面向搜索引擎编程的态度,搜索了半天终于看到了一个类似的→就是他https://my.oschina.net/u/2331292/blog/1809696
    然后就又抱着试试看的心理,加上了这个 image.png
    具体方法就是:
    原因:jsp页面中路径不以“/”开头,会当做相对路径处理。

    通过controller访问返回的jsp视图,是由你的服务器(tomcat)解析。

    所以其(jsp)相对路径就会是服务器的路径。而不是其所在静态资源位置的相对路径。

    解决办法:

        1:改为绝对路径。
    
    
    <script src="/js/jquery.min.js"></script>
    

    由于我不是jsp页面所以就采用了原文中的方法1

    方法2:
    2:页面顶部获取request.getContextPath() 获取站点根路径

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
            然后再引用静态资源前面加上<$=path %>如下
    
        <link rel="stylesheet" type="text/css" href="<%=path %>/css/magnific-popup.css">
    

    万事开头难,然后中间难,结尾更难,放弃容易~~~

    相关文章

      网友评论

          本文标题:SpringBoot项目访问静态资源时请求路径错误

          本文链接:https://www.haomeiwen.com/subject/heqnwhtx.html