如何使用位于其他上下文中的Request
重定向getRequestDispatcher()
对象?或者我如何将存储在Request
对象中的数据重定向到另一个JSP? HTTP协议的方法必须相同(即如果初始方法 - POST,那么我必须使用POST重定向。所以sendRedirect()
不适用)
答案 0 :(得分:2)
以下是在 Request 对象中设置数据的方法。使用 request.getAttribute()方法在另一页中获取值。示例代码是:
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.在浏览器中可以看作新请求。它也可以称为客户端重定向。