java - getRequestDispatcher() 到另一个上下文

标签 java servlets

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

最佳答案

以下是在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.在浏览器中作为新请求可见。也可以称为客户端重定向。

关于java - getRequestDispatcher() 到另一个上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9497642/

相关文章:

java - 我是否会通过具有相同的 @Field name 值来覆盖或添加到 Lucene 索引

java - 抽屉导航打开时变暗/变暗/模糊 Activity

java - itext pdf下载后无效

java - 在虚拟机环境(例如vbox、vpc、vmware等)中配置Java应用程序

java - 根据输入进行切换并返回动态值

java - 对数组使用泛型

jsp - Response already committed 错误发生

java - 使用 servlet 过滤器从发布的数据中删除表单参数

java - JAX-WS Servlet destroy()

java - 关于 JSP include 指令和 JSP include 标记的一些信息