java servlet 几种页面跳转的方法

峡谷中的稻草人

峡谷中的稻草人

2016-02-19 10:35

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

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

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

页面的路径是相对路径。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)

...

跳转后浏览器地址栏变化

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

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

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

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

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

跳转后浏览器地址栏变化

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

展开更多 50%)
分享

猜你喜欢

java servlet 几种页面跳转的方法

编程语言 网络编程
java servlet 几种页面跳转的方法

聊聊减少页面跳转的方法

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
聊聊减少页面跳转的方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

java中Servlet处理乱码的方法

编程语言 网络编程
java中Servlet处理乱码的方法

java中servlet实现登录验证的方法

编程语言 网络编程
java中servlet实现登录验证的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

五种 JSP页面跳转方法详解

Web开发
五种 JSP页面跳转方法详解

JSP中实现页面跳转

Java JAVA基础
JSP中实现页面跳转

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何设置QQ空间主页?

如何设置QQ空间主页?

java中通过网卡名称获取IP地址

java中通过网卡名称获取IP地址
下拉加载更多内容 ↓