forward 和 redirect 返回时基准路径是不一样的。
当调用一个url 时,如 http://webRoot/test/test/test.do返回一个页面test.jsp 假定该页面在webRoot目录的根目录下/webRoot/test.jsp
此时forward的基准路径为http://webRoot/test/test/
而redirect 基准路径为http://webRoot/
导致同一个页面会产生两个不同的基准路径,发生矛盾
解决方法有二
一、用contextPath的绝对路径
二 用html 的<base/>或者struts的<html:base/>
base的href值可以自己设置。本人习惯设置为页面根据webroot的相对路径。这样资源(如 js css 图片 文件)路径可以统一
当调用一个url 时,如 http://webRoot/test/test/test.do返回一个页面test.jsp 假定该页面在webRoot目录的根目录下/webRoot/test.jsp
此时forward的基准路径为http://webRoot/test/test/
而redirect 基准路径为http://webRoot/
导致同一个页面会产生两个不同的基准路径,发生矛盾
解决方法有二
一、用contextPath的绝对路径
二 用html 的<base/>或者struts的<html:base/>
base的href值可以自己设置。本人习惯设置为页面根据webroot的相对路径。这样资源(如 js css 图片 文件)路径可以统一