SpringMCV转发和重定向的坑

html里面的相对路径

举个例子:有个index.html的访问url为http://localhost:8081/WebUi_war_exploded/admin/login
那个这个页面内的相对路径是相对于http://localhost:8081/WebUi_war_exploded/admin这个位置,就是tomcat认为index.html就是admin下的login这个资源。

html里面的绝对路径

如果在页面中的路径前面加了“/”,也就是用了绝对路径,那个会变成host:port/项目/xxx,即tomcat配置的项目路径。根路径就是项目路径。

现在坑来了

首先明确,mvc中如果配置了视图解析器,转发会经过视图解析器,重定向不会。而转发后浏览器url不会变,而重定向会。
OK,现在有这个一个场景,很多同学应该都会这个处理,即通过Controller去处理一个请求,在转发到一个页面。那这个页面会经过视图解析器配置页面的正确路径,给你一个页面返回。这个页面你一定会访问到,但是页面内如果静态资源的引用路径是相对路径(转发url不会变成转发后的页面url,相对路径相对的是url),这是静态资源会请求不到。
所以最好就页面都用重定向。

@RequestMapping("test/controller")
public String acc(){
	return "redirect:/index.html";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值