2012-02-29 35 views
0

如何使用位于另一个上下文中的getRequestDispatcher()重定向Request对象?或者我可以如何将存储在Request对象内的数据重定向到另一个JSP? HTTP协议的Mehod必须是相同的(即,如果初始方法 - POST,然后我必须用POST重定向所以sendRedirect()不适用。)getRequestDispatcher()到另一个上下文

+1

[如何将请求从web1/servlet转发到web2/servlet?](http://stackoverflow.com/questions/4889113/how-to-forward-request-from-web1-servlet-to- web2-servlet) – skaffman 2012-02-29 10:47:53

+0

好的,但如果我无法访问另一个servlet(获取他的上下文) – MyTitle 2012-02-29 10:49:31

回答

2

以下是在请求对象设置的数据。而得到的方式在另一页值通过使用 request.getAttribute() method.The示例代码是:

RequestDispatcher rd = request.getRequestDispatcher("newpage.jsp"); 
    request.setAttribute("msg","Welcome"); 
rd.forward(request, response); 

,它也可以与 ServletContext中使用

ServletContext context= getServletContext(); 
    RequestDispatcher rd= context.getRequestDispatcher("/LoggedIn"); 
    rd.forward(request, response); 

我不认为该方法类型必须same.Its类型请求的对象,并可以在Context.And内访问的sendRedirect之间的差转发

向前( )

  1. 我们传递请求和响应对象,以便我们的旧请求对象存在于正在处理我们请求的新资源上。

2.It是在同一服务器内访问,另一个资源可以是任何Servlet,JSP页面中的任何类型的文件。

的sendRedirect()

1.client请求到一些其他位置,新的位置可用不同的服务器或不同的上下文上。

2.在浏览器中可以看到作为新请求。它也可以称为客户端重定向。

+0

你是对的它必须是相同类型的方法。或者(GET,POST)那样 – Learner 2012-02-29 11:58:38

相关问题