<jsp:forward>与response.sendRedirect()的区别
2012-10-01 22:50
387 查看
1.<jsp:forward>属于服务器端跳转,response.sendRedirect()属于客户端跳转。
【服务器端跳转:当客户端发送请求至服务器端时,服务器根据客户端发送的url地址,在服务器内部转发到另一个服务器资源,找到相应的资源返回给客户端。(一次request一次响应)】
【客户端跳转:当客户端发送请求至服务器端时,服务器根据客户端发送的url地址,给客户端一个响应,客户端根据这个响应在到服务器端找资源,在返回给客户端显示。(两次request两次响应)】
2.request的请求次数不同:
服务器端跳转:当客户端向服务器发送请求时,只有一次的request
客户端跳转:当客户端向服务器发送请求时,有两次的request
注意: 当使用客户端跳转时,无法直接读取客户端传递的信息。
3.地址栏的变化:
服务器端跳转:因为是在服务器内部自行跳转,所以跳转后url地址并不会发生变化
客户端跳转: 地址栏为目标资源的url地址
4.服务器端跳转:执行到跳转语句时立刻进行跳转,并不会执行跳转语句后面的代码;
客户端跳转:整个页面执行完后才执行跳转;
注意:在使用JDBC操作时,一定要在执行<jsp:forward>前关闭数据库连接,否则数据库连接无法关闭。
【服务器端跳转:当客户端发送请求至服务器端时,服务器根据客户端发送的url地址,在服务器内部转发到另一个服务器资源,找到相应的资源返回给客户端。(一次request一次响应)】
【客户端跳转:当客户端发送请求至服务器端时,服务器根据客户端发送的url地址,给客户端一个响应,客户端根据这个响应在到服务器端找资源,在返回给客户端显示。(两次request两次响应)】
2.request的请求次数不同:
服务器端跳转:当客户端向服务器发送请求时,只有一次的request
客户端跳转:当客户端向服务器发送请求时,有两次的request
注意: 当使用客户端跳转时,无法直接读取客户端传递的信息。
3.地址栏的变化:
服务器端跳转:因为是在服务器内部自行跳转,所以跳转后url地址并不会发生变化
客户端跳转: 地址栏为目标资源的url地址
4.服务器端跳转:执行到跳转语句时立刻进行跳转,并不会执行跳转语句后面的代码;
客户端跳转:整个页面执行完后才执行跳转;
<%System.out.println("-----foward跳转之前-------");%> <jsp:foward page="hello.jsp"/> <% System.out.println("-----foward跳转之后-------");%> //打印:-----foward跳转之前------- <%System.out.println("-----response跳转之前-------");%> <% response.sendRedirect("hello.jsp");%> <% System.out.println("-----response跳转之后-------");%> //打印:-----response跳转之前------- //-----response跳转之后-------
注意:在使用JDBC操作时,一定要在执行<jsp:forward>前关闭数据库连接,否则数据库连接无法关闭。
相关文章推荐
- <jsp:forward>与response.sendRedirect的区别
- jsp中<jsp:forward page=""/>和response.sendRedirect("")两种跳转的区别
- <jsp:forward>标签跳转指令和response.sendRedirect()跳转指令的区别
- response.sendRedirect()与request.getRequestDispatcher().forward()、<jsp:forward> 区别
- <jsp:forward>、requestDispatcher和sendRedirect()的区别
- Cookie 和session的区别,<%@include和jsp:include的区别,forward和sendredirect的区别
- <%@include%>、<jsp:include>、<jsp:forward>、sendredirect 的区别
- <jsp:forward>和response.sendRedirect()两种跳转的区别
- jsp中<jsp:forward page=""/>和response.sendRedirect("")两种跳转的区别
- <%include file="a.jsp"%>与<jsp:include file="a.jsp"/>有什么区别?
- jsp:forward标签与response.sendRedirect()的区别
- Jsp:forward与response.sendRedirect()两种跳转的区别
- <%@ include file=”relativeURI”%>与<jsp:include page=””>的区别
- <%@ include file=""%>与<jsp:include page=""/>区别
- <%@ include file=""%>与<jsp:include page=""/>区别
- 弱问JSP中的<%= %>和${ }到底有什么区别?
- <jsp:include page="xxx"> 和<%@include file="xxx">区别
- <%@ include file=""%> 和<jsp:include page=""/>两者的区别
- jsp中的<%=表达式%>和<%表达式%>有什么区别?
- <%@ include > 和 <jsp:include>的区别