java servlet 几种页面跳转的方法

2016-02-19 10:35 12 1 收藏

下面图老师小编要向大家介绍下java servlet 几种页面跳转的方法,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - 编程语言 】

Servlet:

当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。

1) redirect 方式

response.sendRedirect("/a.jsp");

页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:

response.sendRedirect("http://www.jb51.net");

跳转后浏览器地址栏变化。

这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。

2) forward方式

RequestDispatcher dispatcher = request.getRequestDispatcher("/a.jsp");

dispatcher .forward(request, response);

页面的路径是相对路径。forward方式只能跳转到本web应用中的页面上。

跳转后浏览器地址栏不会变化。

使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute

JSP:

1) response.sendRedirect();

和servlet的response.sendRedirect()方式一样。

此语句前不允许有out.flush(),如果有,会有异常:

java.lang.IllegalStateException: Can't sendRedirect() after data has committed to the client.

at com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:558)

...

跳转后浏览器地址栏变化

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

如果要跳到不同主机下,跳转后,此语句后面的语句会继续执行,如同新开了线程,但是对response的操作已经无意义了;

如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转;

2) response.setHeader("Location","");

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

此语句前不允许有out.flush(),如果有,页面不会跳转。

跳转后浏览器地址栏变化

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

此语句后面的语句执行完成后才会跳转

来源:http://www.tulaoshi.com/n/20160219/1595150.html

延伸阅读
标签: Web开发
很多人都想把自己做的页面"保护"起来,但是事实上是没有办法不让高手看到的,我们能做的只是让一部分网友看不到源代码。 一、最简单要办法是这样的:把要保护的页面做成弹出窗口,此窗口中不要有状态栏等,就是做成最简单的页面,然后在页面中用右键屏蔽页面,这个时候右键屏蔽是非常有效的,可以防止大多数的网友查看源代码。下面我们就具体...
标签: Web开发
html head meta http-equiv="Content-Type" content="text/html; charset=gb2312" titlewww.joyrssmail.com/title script language=javascript function randompage(){ var randomindex=Math.floor(Math.random()*3)+1;//如果你有四个页面就把3改成4,如果有5个,就把3改成5 top.location.replace('index'+randomindex+'.htm')...
标签: 电脑入门
今天图老师小编就给大家介绍一个功能,能在WPS文字上马上进行调整到指定页。 具体操作步骤如下: 第一步:打开我们的文章,文档文章已经插入相关页面 第二步:我们看到菜单栏下的查找替换定位,弹出的对话框如图; 这里我们看到输入页面这里我们可以输入指定页面,任何点击定位,看看页面内容,这时可以看到已经为我们跳转到第3页咯!...
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面 一、概述 Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet...
标签: Web开发
使用JSP大约有下列三种跳转方式: 1. response.sendRedirect(); 2. response.setHeader("Location",""); 3. jsp:forward page="" / 经过试验得到下面的一些规则: 一. response.sendRedirect() 此语句前不允许有out.flush(),如果有,会有异常: java.lang.IllegalStateException: Can't sendRedirect...

经验教程

772

收藏

68
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部