如何使用位于另一个上下文中的 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中访问。SendRedirect和Forward之间的区别是那个
在前进()
- 我们传递请求和响应对象,以便旧的请求对象出现在将处理我们的请求的新资源上。
2.在同一服务器内访问,另一个资源可以是任何servlet、jsp页面任何类型的文件。
在sendRedirect()中:
1.客户端请求其他位置,新位置在不同服务器或不同上下文上可用。
2.在浏览器中作为新请求可见。也可以称为客户端重定向。
关于java - getRequestDispatcher() 到另一个上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9497642/