springmvc转到项目外的链接_SpringMVC访问静态资源

有些时候我们在使用SpringMVC的时候造成无法访问静态资源文件(如:html,js,css,image等等)。其主要的原因出在web.xml文件我们设置SpringMVC前端控制器的映射路径

spmvcorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:springmvc-web.xml1spmvc/

上面代码中的/相当于拦截项目中所有请求,这样就造成无法访问静态资源文件

解决方法一:在springmvc-web.xml中添加资源映射

  • mapping:映射,两个*,它表示映射resources/下所有的URL,包括子路径(即接多个/)
  • location:本地资源路径,注意必须是webapp根目录下的路径

这样我们就可以直接访问该文件夹下的静态内容了,如下路径:http://localhost:8090/firstapp/images/cookie.pnghttp://localhost:8090/firstapp/js/jquery-1.11.2.js

WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。

当然,你非要放在WEB-INF中,则必须修改resources映射,配置文件中代码如下

解决办法二:使用默认的静态资源处理Servlet处理静态资源(涉及spring-mvc.xml, web.xml)

  • 在spring-mvc.xml中启用默认Servlet
  • 修改web.xml文件,且下面的代码必须在DispatcherServlet的前面
default*.js*.css/assets/*"/images/*

解决办法三:将DispatcherServlet的URL映射改成*.do的形式,这样在访问静态资源文件就不会被拦截到

spmvcorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:springmvc-web.xml1spmvc*.do

原创:知了堂Java培训讲师-子墨
原文链接:SpringMVC访问静态资源

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值