近日突然发现struts1 的redirect有很大的限制,它只能redirect到APP domain下的某个URL,超出了domain的resource是无法访问的(如web server上的html)!
例如:
可以redirect 到以下URL:
http://cuishen.iteye.com/APP/test.jsp
但是无法redirect 到超出APP的URL:
http://cuishen.iteye.com/test.html
具体见下面代码:
@see org.apache.struts.action.RequestProcessor
/* 447*/ if(forward.getRedirect())
{
//斜杠开头的URL会自动加上APP名的
/* 449*/ if(uri.startsWith("/"))
/* 450*/ uri = request.getContextPath() + uri;
/* 452*/ response.sendRedirect(response.encodeRedirectURL(uri));
} else
{
/* 455*/ doForward(uri, request, response);
}
而且注意,如果不指定具体的action type,redirect是不起作用的!
例如下面的action例子,redirect不工作,因为没有指定具体的type:
<action path="/user/ErrorPage" forward="/WEB-INF/jsp/ServerError.jsp" redirect="true"/>
要让redirect工作,应该像下面这样配置:
<action path="/user/ErrorPage" type="xxx.xxx.XxxAction">
<forward name="success" path="/ServerError.jsp" redirect="true"/>
</action>
具体参见RequestProcessor的代码。
分享到:
相关推荐
struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别...
struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签
struts1教程 struts1入门 struts1学习 struts1知识
struts1struts1struts1struts1struts1struts1struts1struts1struts1struts1struts1struts1struts1struts1struts1struts1struts1struts1struts1
struts1 struts2 Struts1和Struts2区别
1 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为...
struts1核心包,整个框架所需要的jar包都有
struts1 和 struts2所需jar包。主要包含以下内容: struts-1.3.10-all.zip struts-1.3.10-apps.zip struts-1.3.10-lib.zip struts-1.3.10-src.zip struts-2.3.4.1-all.zip struts.rar
struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库
因为最近攻防演练,对公司的资产进行梳理,发现部分应用还使用的struts1框架,所以赶快收集整理了相关的漏洞以及相关的整改方案。提供给大家。
struts1_详解 struts1框架实例详解
Struts1的fileupload的文件上传
struts2 与 struts1的区别
struts1 struts1 struts1
Struts In Action 电子书 Struts1电子书
struts1示例代码,实现简单的登陆,详尽struts1的配置过程
Struts1.x常用的开发包,需要学习struts1.x朋友可以下载
struts1的API文档首页struts1的API文档首页struts1的API文档首页struts1的API文档首页struts1的API文档首页struts1的API文档首页
Struts1和Struts2的区别和对比 Struts1和Struts2的区别和对比
struts1jar包,struts1核心包,struts1jar,struts1jar包