整合前端页面到SSM框架之二号坑将静态页面作为欢迎页面

讲道理这样就差不多了,不过我比较折腾想将欢迎页面设成前端的静态页面,据说可以通过欢迎页直接跳转到前端页面来解决,(这个自己搜下,我没用)

web.xml 文件下

<welcome-file-list>
        <welcome-file>/statics/index.html</welcome-file>
    </welcome-file-list>

我硬生生的直接将欢迎页设成前端页面,然后坑就来了

发现这样改后,静态资源竟然又加载不了了,只有光秃秃的html,我就奇怪了,直接访问 /statics/index.html 倒是没问题,F12  Network 查看后发现静态资源全都404了,看下访问静态资源发现,本来应该访问 localhost/statics/js/...的却直接访问了 localhost/js/.... 的路径。

当然我可以直接复制一份js放在web下,我还真就这么干了,但发现并没什么用。。不知道为啥 JRebel 热部署在这里出了点问题,重启下就好了。

当然我又试了别的办法,听说在springMVC加这两行就好了

<mvc:resources mapping="/js/**" location="/statics/js/"/>
<mvc:resources mapping="/css/**" location="/statics/css/"/>

我加了但没用。  后来发现是JRebel的原因,重启即可,上述方法还是有用的。

注意:以下情况mvc:resources还是会出错

<mvc:resources mapping="/**" location="/statics/"/>

因为欢迎页面的空路径也被改变,结果会是访问localhost/statics 自然会是404

最后解决办法是把资源访问路径改成了和上文提到的jsp里一样的相对路径就好了。大概是因为路径中的两点..表示web的根目录吧。

 <script src="../statics/js/jquery-1.2.6.min.js" type="text/javascript"></script>
    <script src="../statics/js/formValidator_min.js" type="text/javascript" charset="UTF-8"></script>
    <script src="../statics/js/formValidatorRegex.js" type="text/javascript" charset="UTF-8"></script>
    <script src="../statics/js/test.js" type="text/javascript" charset="UTF-8"></script>
    <link rel="stylesheet" type="text/css" href="../statics/css/test.css" />

猜你喜欢

转载自blog.csdn.net/SeptDays/article/details/86629661