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