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";
}
本文探讨了HTML中相对路径与绝对路径的区别,并详细解释了MVC框架中视图转发与重定向的工作原理及对页面路径的影响。作者建议使用重定向来避免静态资源加载错误。

被折叠的 条评论
为什么被折叠?



