JSP转发和重定向

本文详细介绍了HTTP中的重定向和转发的概念及其工作原理。重定向是浏览器和服务器之间交互的两次请求,地址栏会变化,常用于登录验证后的页面跳转。而转发则在服务器内部完成,只请求响应一次,URL保持不变,适合于数据共享和内部页面跳转。两者的主要区别在于请求次数、地址栏变化以及参数传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.什么是重定向?

2.重定向工作原理

3.什么是转发?

4.转发工作原理

5.转发和重定向的区别

1.什么是重定向?

  •  浏览器和服务器之间交互请求响应两次,称为重定向。
  • 作用 : 使用response跳转(响应)页面。

语法格式:

response.sendRedirect("地址")   //重定向路径为绝对路径

2.重定向工作原理

      以登录为例: login 登录  do_login 验证登录 index 首页

   当要显示login.jsp(登录)页面,浏览器向服务器发送请求,服务器接收后找到相应的页面,并发出响应(成功状态:200),显示login页面,当login点击登录时,浏览器再次发送一次请求,带着登录的参数去do_login.jsp页面验证登录是否正确,如果正确,就重定向到首页(index.jsp),服务器带着302状态码(表示重定向)去响应到浏览器,浏览器接收到重定向的状态后,发出index.jsp页面请求,服务器拿到请求,然后响应,显示页面。

 注意

  当do_Login页面执行到重定向的方法时,那么它响应的时候会带一个302状态码,通知浏览器这是一个重定向,浏览器再一次发送请求。

3.什么是转发?

  • 在服务器内部实现地址跳转,只请求一次。
  • 作用: 使用request跳转页面

语法格式:

request.getRequestDisPatcher("转发路径").forward(request,response);   //转发一般为相对路径

4.转发工作原理

     以登录为例: login 登录  do_login 验证登录 index 首页

       当do_login拿到参数去请求时,在服务器中使用request进行转发(index.jsp),那么do_login.jsp的控制权和数据一并交到了index.jsp的手上,最终响应index.jsp,并显示页面,仔细看,转发只请求响应了一次,由于这个原因,所以url地址栏还是do_login.jsp,实际上响应的是index.jsp。

5.转发和重定向的区别

  1. 重定向是两次请求,转发是一次请求。
  2. 重定向地址栏会变,转发不会。
  3. 转发是request,重定向是response。
  4. 重定向不会携带第一次请求时的参数。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值