forward和sendRedirect区别

本文详细阐述了HTTP请求中forward和sendRedirect的主要区别,包括它们的工作原理、对URL的影响及参数传递方式。forward只能在同一应用内使用且能传递request属性,而sendRedirect则可以跳转到任意URL但无法直接传递request属性。

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

forward和sendRedirect区别

1. sendRedirect可以访问同一服务器下的其它工程文件forward只可以重定向到本项目其它的页面。

2. sendRedirect向服务器先发起一次请求告知服务器重定向的url,服务器调到新的url,新的url再向服务器请求数据等服务。总共发起两次请求。在第一次请求后页面的网址会变成新的url的网址。而forword只会在原网址的基础上发起一次请求。

3. 即sendRedirect会改变网址,forword不会。

4. 即forword可以通过request传参数,sendRedirct不能


 <%request.setAttribute("river","redwater");   
 request.setAttribute("country","daguaiwan");%> 
    <jsp:forward page="fengshan.jsp" />   

<%request.setAttribute("river","redwater"); 
 request.setAttribute("country","daguaiwan"); 
  response.sendRedirect("fengshan.jsp"); %> 

**fengshan.jsp**  
<%=request.getAttribute("river")%><br/> 
<%=request.getAttribute("country")%>   

http://localhost:8080/ForwardRedirect/tiane.jsp 跳转后结果为:
redwater
daguaiwan

http://localhost:8080/ForwardRedirect/bama.jsp 跳转后结果为:
null
null

5. sendRediect可以访问绝对网址,forward只能访问该项目下的url

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值