栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java-----Servlet中请求的转发与重定向(备忘录)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-----Servlet中请求的转发与重定向(备忘录)

    请求的转发与重定向是web应用页面跳转的主要手段,在Web应用中使用非常广泛
区别

举例:假设用户发送了一个请求给服务器中的地址A,但最终要进入的是地址B对应的网页。

转发
服务器内部解决,服务器将用户对A发的请求交给了地址B并让其给出响应,地址栏中的地址也并不会发生改变,所以用户并不知情,用户只发出了一次请求。如果两个网页分别对应两个servlet,那转发的方式两个servlet可以共享同一个请求域的数据。

重定向
地址A接收到了用户的请求,进行一定的处理,然后给用户一个特殊的响应,这个响应通知用户去访问另外一个资源也就是地址B,但系列动作是浏览器和服务器自动完成的,不需要用户再次手动访问,整个过程浏览器发出了两次请求,并且在地址栏可以看到地址的变化,变为下一个资源的地址(地址B)

使用方法

转发

protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
	//1.使用RequestDispatcher对象封装目标资源的虚拟路径
	RequestDispatcher dispatcher = request.getRequestDispatcher("/index.html");
	//2.调用RequestDispatcher对象的forward()方法“前往”目标资源
	//[注意:传入的参数必须是传递给当前Servlet的service方法的
	//那两个ServletRequest和ServletResponse对象]
	dispatcher.forward(request, response);
}

重定向

protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
	//1.调用HttpServletResponse对象的sendRedirect()方法
	//2.传入的参数是目标资源的虚拟路径
	response.sendRedirect("index.html");
}

TIP:
转发以“/”开始表示项目根路径, http://localhost:8080/项目名/
重定向以”/”开始表示主机地址。 http://localhost:8080/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/856824.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号