请求转发和请求重定向

本文详细介绍了Struts请求转发的概念及实现方式。通过Servlet检查HTTP请求数据并将请求转发到合适的组件进行处理。转发过程中,使用RequestDispatcher.forward()方法传递原始的ServletRequest和ServletResponse对象,确保目标组件能够访问完整的请求上下文。
来自孙卫琴老师的 精通Struts


请求转发
请求转发允许把请求转发给同一应用程序中的其他Web组件。这种技术通常用于Web应用控制层的Servlet的流程控制器,他检查Http请求数据,并将请求转发到合适的目标组件,目标组件执行具体的请求处理操作,并生成响应结果。
Servlet类使用javax.servlet.RequestDispatcher.forward()方法来转发他所收到的HTTP请求。转发目标组件将处理该请求并生成响应结果,或者将请求继续转发到另外一个组件。最初请求的ServletRequest和ServletResponse对象被传递给转发目标组件,这使得目标组件可以访问整个请求的上下文。

RequestDispatcher rd=request.getRequestDispatcher("hello.jsp");
rd.forward(request,response);

JSP页面中

<jsp:forward page="hello.jsp">


请求重定向
Web组件可以将请求重定向到任何一个URL,而不仅仅是在同一应用中的URL
重定向的源组件和目标组件之间不共用同一个HttpServletRequest对象,因此不能共享request
范围内的共享数据

Servlet中的处理
response.sendRedirect("http://www.sina.com.cn");

[url]http://blog.donews.com/joohnnie/archive/2006/04/12/824257.aspx[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值