这里有新鲜出炉的 JSP 教程,程序狗速度看过来!
JSP 全名为 Java Server Pages - java 服务器页面是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页 html(标准通用标记语言的子集)文件 (*.htm,*.html) 中插入 Java 程序段 (Scriptlet) 和 JSP 标记(tag),从而形成 JSP 文件,后缀名为(*.jsp)。
本文给大家分享实现 jsp 页面跳转的几种方式,非常不错,具有参考借鉴价值,需要的朋友参考下
实现 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 页面跳转方法小结,希望对大家有所帮助,如果大家有疑问欢迎给我留言,小编会及时回复大家的!
来源: http://www.phperz.com/article/17/0812/339023.html