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

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



