linux访问不了静态资源JAVA_SpringMVC访问静态资源

开门见山:

具体问题:SpringMVC中访问不到静态资源,如.js文件?

解决办法:在SpringMVC的配置文件(如*-servlet.xml)配置,同时加入

然后就可以访问到.js文件了,但此方法会导致其他所有.jsp文件都出现

问题及原因详解:

出现情况如下:

.js文件的目录:

c1d098ab31ef8d1ce92c6d17a22520c1.png

.js文件的目录

启动项目后,.jsp中.js文件不起作用,所以直接访问.js文件–>根目录/scripts/jquery-1.9.1.min.js

但是出现404,后台报错信息:

WARNING: No mapping found for HTTP request with URI [/_springmvc-2/scripts/jquery-1.9.1.min.js] in DispatcherServlet with name 'dispatcherServlet'

此URI没有被叫dispatcherServlet(这是我web.xml中配置的 DispatcherServlet 起的名字!)的映射

可以看出此问题出现原因:

配置SpringMVC的web.xml时,DispatcherServlet的``/``是“/”

所以将所有的URL都被拦截,但此处是不需要处理的URL(毕竟人家是静态的!)。

处理办法:加入

办法原理:

default-servlet-handler 将在 SpringMVC 上下文中定义一个DefaultServletHttpRequestHandler

它会对进入 DispatcherServlet 的请求进行筛查, 如果发现是没有经过映射的请求

就将该请求交由 WEB 应用服务器默认的Servlet 处理(我的就是Tomcat)

如果不是静态资源的请求,才由 DispatcherServlet 继续处理

一般 WEB 应用服务器默认的 Servlet 的名称都是 default

若所使用的 WEB 服务器的默认 Servlet 名称不是 default

则需要通过 default-servlet-name 属性显式指定

注意:

引出第二个问题:.js文件按上述方法可以访问到

如下图:

c86054d65f40b107b8774e95d0f5a123.png

.js文件访问成功

但是项目其他,如.jsp文件可能会出现404,即使你访问一个不存在的.jsp文件也只会提示404

解决办法 :

加入 其作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值