6.JavaWeb基础 客户端跳转和服务器端跳转











区别一:


<jsp:forward>属于服务器端跳转,跳转之后地址栏的信息不会有任何的改变。


response.sendRedirect()属于客户端跳转,跳转之后地址栏是会改变的,变为跳转之

后的页面地址。







区别二:


在使用request属性的时候,只有服务器端跳转才能将request范围的属性保存到跳转页面,

如果是客户端跳转则无法进行request属性的传递。





区别三:


如果使用的是服务器端跳转,则执行到跳转语句时就会立刻跳转;如果使用客户端跳转,则是在

整个页面执行完之后才执行跳转。


服务器端跳转:


<%  out.println("**************** jsp:forward 之前 ****************") ; %>
<jsp:forward page="xxx.html">
<%  out.println("**************** jsp:forward 之后 ****************") ; %>


后台Tomcat 信息 为 : **************** jsp:forward 之前 ****************





客户端跳转:



<% out.println("**************** sendRedirect()之前 ****************") ;  %>
<% response.sendRedirect("xxx.html") ; %>
<% out.println("**************** sendRedirect()之后 ****************") ;  %>


后台Tomcat 信息 为 : 

**************** sendRedirect() 之前 ****************

**************** sendRedirect() 之后 ****************








总结:


如果在使用了JDBC的操作中,一定要在<jsp:forward>标签之前关闭数据库的连接,否则数据

库连接将再也无法关闭了。如果数据库连接始终没有关闭,当达到一定程度的时候将出现“数据库

已经达到最大的异常”,此时只能重新启动服务器了。


传参方面 。<jsp:forward>能通过<jsp:param>标签传递参数,而response.sendRedirect()

只能通过地址重写的方式传递参数。

















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值