JSP页面跳转方法小结

所属分类: 网络编程 / JSP编程 阅读数: 1192
收藏 0 赞 0 分享

 实现JSP页面跳转,有如下几种方式:

n        使用href超链接标记              (客户端跳转)
n        使用JavaScript                             (客户端跳转)
n        提交表单                                      (客户端跳转)
n        使用response对象                            (客户端跳转)
n        使用forward动作标记                 (服务器端跳转)
n        使用RequestDispatcher类     (服务器端跳转)

1、使用response对象

       (1) 调用sendRedirect()方法,重定向。

注意以下两点:

Ø        sendRedirect()可以带参数传递

例如:

sendRedirect(“/main.jsp?userName=zhangsan”
 

Ø        sendRedirect()之后,应该紧跟一句return

sendRedirect()是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后面的输出还有什么意义呢?而且有可能会因为后面的输出导致转向失败。

       (2) 调用setHeader()方法,等待若干秒后,自动重定向到另一个页面。 

       可以通过response对象,调用setHeader(“Refresh”, “时间; 目标页面”)方法,实现等待若干秒后,自动重定向到另一个页面。

response.setHeader("Refresh", "10; url=login.jsp");  

 
上述代码表示等待10秒后,将自动重定向到login.jsp这个页面。

2、使用forward动作标记

response重定向和forward跳转的区别

(1) response重定向

n        执行完页面的所有代码,再跳转到目标页面。
n        跳转到目标页面后,浏览器地址栏中的URL会改变。
n        在浏览器端重定向。
n        可以跳转到其它服务器上的页面,

例如:response.sendRedirect(“http://www.baidu.com”)

(2) forward跳转

n        直接跳转到目标页面,其后的代码不再执行。
n        跳转到目标页面后,浏览器地址栏中的URL不会改变。
n        在服务器端重定向。
n        无法跳转到其它服务器上的页面。 

3、使用RequestDispatcher类

基本用法:

RequestDispatcher rd = request.getRequestDispatcher("目标页面");
rd.forward(request,response);

使用RequestDispatcher实现页面跳转,和使用forward动作标记实现页面跳转,其基本原理是一样的。

response重定向和RequestDispatcher跳转的区别

(1) response重定向

n        执行完页面的所有代码,再跳转到目标页面。
n        跳转到目标页面后,浏览器地址栏中的URL会改变。
n        在浏览器端重定向。
n        可以跳转到其它服务器上的页面,

例如:response.sendRedirect(“http://www.baidu.com”) 

(2) RequestDispatcher跳转

n        执行完所有代码,再跳转到目标页面。
n        跳转到目标页面后,浏览器地址栏中的URL不会改变。
n        在服务器端重定向。
n        无法跳转到其它服务器上的页面。 

forward跳转和RequestDispatcher跳转的区别

(1) forward跳转

n        forward动作标记之后的代码,不再执行,立即跳转到目标页面。
n        指定目标页面时,既可以使用绝对路径,也可以使用相对路径。 

(2) RequestDispatcher跳转

n        执行完所有代码,包括RequestDispatcher之后的所有代码,再跳转到目标页面。
n        指定目标页面时,只能使用绝对路径。

以上所述是小编给大家介绍的JSP页面跳转方法小结,希望对大家有所帮助,如果大家有疑问欢迎给我留言,小编会及时回复大家的!

更多精彩内容其他人还在看

jsp 使用jstl实现翻页实例代码

这篇文章主要介绍了jsp 使用jstl实现翻页实例代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Jsp中的table多表头导出excel文件具体实现

这篇文章主要介绍了Jsp中的table多表头导出excel文件具体实现,有需要的朋友可以参考一下
收藏 0 赞 0 分享

java(jsp)整合discuz同步登录功能详解

jsp整合discuz同步登录功能详解,Uenter是Comsenz旗下各个产品之间信息直接传递的一个桥梁,通过UCenter站长可以无缝整合Comsenz系列产品,Center拥有机制完善的接口,经过简单修改便可以挂接其它任何平台的第三方的网络应用程序
收藏 0 赞 0 分享

jsp页面传参乱码的解决方法

本篇文章主要是对jsp页面传参乱码的解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享

jsp分页显示的实现代码

这篇文章主要介绍了jsp分页显示的实现代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Linux和Windows中tomcat修改内存大小的方法

Linux和Windows中tomcat修改内存大小的方法,可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置,大家参考使用吧
收藏 0 赞 0 分享

使用maven+eclipse搭建struts2开发环境

Struts 2是Apache基金会的明星级产品,提供了对MVC的一个清晰的实现,下面就为大家介绍一下使用maven+eclipse搭建struts2开发环境的方法
收藏 0 赞 0 分享

jsp网页计数器实现示例

网页计数器想必大家都有见到过吧,记录每一个访问者,下面有个不错的示例,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

jsp页面间传中文参数示例(页面传参数编码)

在url地址栏使用中文传参数可能会是乱码了,下面我们来看看正确的jsp中页面间传中文参数转码的方法
收藏 0 赞 0 分享

servlet分页代码示例

本文介绍了servlet分页代码实现,采用Oracle数据库,获取SCOTT用户EMP表中的数据,分页实现步骤看下面代码
收藏 0 赞 0 分享
查看更多