请求的转发和重定向

请求的转发和重定向:
请求转发的代码:
//请求的转发
		//1.调用HttpServletRequest 的getRequestDispatcher()方法获取RequestDispatcher对象。
		//调用getRequestDispatcher()需要传入要转发的地址。
		String path="testServlet";
		RequestDispatcher requestDispatcher=request.getRequestDispatcher("/"+ path);
		
		//2.调用HttpServletRequest 的forward(request,response)进行请求的转发
		requestDispatcher.forward(request, response);
请求的重定向的代码:
//执行请求的重定向,直接调用response.sendRedirect(path)方法,
		//path为要重定向的地址
		String path="testServlet";
		response.sendRedirect(path);	
本质区别:请求的转发只发出了一次请求,而重定向则发出了两次请求 。
具体:
①.请求的转发 :地址栏是初次发出请求的地址
请求的重定向:地址栏不再是 初次发出请求的地址。 地址栏为最后响应的那个地址。

②. 请求转发:在最终的Servlet中, request对象和中转的那个对象request是同一个对象。
请求对的重定向:  在最终的Servlet中, request对象和中转的那个对象不是同一个对象。

③.请求的转发:只能转发个当前WEB应用的资源
请求的重定向: 可以重定向到任意资源

④.请求的转发:/ 代表的是当前WEB应用的根目录http://localhost:8080/Servlet02
请求的重定向:/ 代表的是当前WEB 站点的根目录。http://localhost:8080



阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭