您的位置:首页 > 编程语言 > Java开发

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

2014-08-12 13:59 155 查看
区别一:

<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()

只能通过地址重写的方式传递参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: