Tomcat静态资源访问404问题

Tomcat静态资源访问404问题

    前言

        该问题并不是eclipse或者是tomcat的问题,究其原因是自己资源路径写的有问题

    分析

        我的开发工具是eclipse,而不管是什么工具,项目都会有一个根路径

          如图(右击项目->Properties->Deployment assembly)

          

 

          注意source一栏就是根路径

          如下

          /src

          /target/m2e-wtp/web-resources

         /WebContent

         那么根路径有什么用呢

         例如,一般会把前端的资源放在项目中的WebContent文件夹下,比如你把index.html和index.js放在WebContent文件夹下,

          这时你在index.html中引入index.js的文件路径就因该是

          <script type="text/javascript" src="index.js">

          而不是

          <script type="text/javascript" src="./index.js">

          理解了项目根路径,如果把index.js放在项目中WebContent文件夹static文件夹下又该怎么写呢

          这时index.html文件中引入index.js就应该如下编写

          <script type="text/javascript" src="static/index.js">

          而不是

            <script type="text/javascript" src="./static/index.js">或 <script type="text/javascript" src="/static/index.js">

总结: 

       在项目中要遵循项目规范

       1. 理解我上面讲的根路径的问题

       2. 不要使用相对路径和以/开头的路径名

        例如:

        不要写成

        /static/index.js

        而是要写成

        static/index.js

最后:

    也许项目中避免不了相对路径,而把静态资源部署到Tomcat服务器又要改名字

     最好的解决办法就是学会使用资源打包工具,例如Webpack,其中的路径名交给Webpack中的路径处理插件来解决

 

posted @ 2020-04-05 14:21  haibiscuit  阅读(4812)  评论(0编辑  收藏  举报