【问题标题】:getRequestDispatcher() to another contextgetRequestDispatcher() 到另一个上下文
【发布时间】:2012-02-29 10:46:26
【问题描述】:

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

【问题讨论】:

标签: java servlets


【解决方案1】:

下面是在Request对象中设置数据的方法。在另一个页面中使用request.getAttribute()方法获取Value。示例代码是:

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);

我不认为方法类型必须相同。它是Request类型的对象,可以在Context中访问。SendRedirectForward之间的区别是那个

前进()

  1. 我们传递请求和响应对象,因此我们的旧请求对象出现在将处理我们的请求的新资源上。

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

sendRedirect() 中:

1.客户端请求到其他位置,新位置在不同的服务器或不同的上下文中可用。

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

【讨论】:

  • 你是对的它必须是相同类型的方法。要么(GET,POST)像那样
猜你喜欢
  • 2012-08-13
  • 1970-01-01
  • 2022-12-07
  • 2011-03-01
  • 2012-06-30
  • 2012-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多