springMVC中Failed to load resource: the server responded with a status of 404 (Not Found)

关于在当前引用路径下找不到js的问题

首先必须保证自己的引用路径的正确性

<script src="${pageContext.request.contextPath}/js/jquery-3.3.1.js"></script>

还有一个就是需要在web.xml中添加

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

以此来开放springMVC对静态资源的访问。

自己一定要用心,配置文件不要随便乱删,错了很容易摸不着头脑,本来一个很简单的配置问题,弄了这么久,以此告诫自己不要粗心大意

报404的原因

是因为配置了前端控制器。

<!--配置SpringMVC的前端控制器-->
    <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

它每一次资源访问都是找@Controller下的@requeMapping之中的路径,导致jsp中js路径也被默认为是requestMapping中的路径进行匹配,所以就匹配不上,导致404错误。
所以需要在web.xml中添加<mvc:resources mapping="/js/**" location="/js/"/>来对静态资源区别访问。
更方便的方法
依照上述情况,如果springmvc找不到静态资源,我们可以利用原始容器,也就是tomcat帮我们找到它并返回给我们。配置如下:
在web.xml中添加:

<mvc:default-servlet-handler/>

自己一定要用心,配置文件不要随便乱删,错了很容易摸不着头脑,本来一个很简单的配置问题,弄了这么久,切不可粗心大意了

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

折翼、csf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值