使用JSP大约有下列三种跳转方式:

1. response.sendRedirect();

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

3.

经过试验得到下面的一些规则:

一. 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的操作已经无意义了;

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

二. response.setHeader("Location","")

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

跳转后浏览器地址栏变化

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

三.

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

java.lang.IllegalStateException: forward() not allowed after buffer has committed.

at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:134)

at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:101)

at com.caucho.jsp.PageContextImpl.forward(PageContextImpl.java:836)

...

跳转后浏览器地址栏不变,但是只能跳到当前主机下

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

跳转后得路径变为当前路径,图片不是绝对路径将无法显示

JSP跳转页面详解

在JSP中使用jsp forward Action来实现页面的跳转功能。

语法:

forward test

!supportEmptyParas]>

!supportEmptyParas]>

java 转jsp_【转】JSP三种页面跳转方式相关推荐

  1. mui几种页面跳转方式对比

    mui几种页面跳转方式对比 http://blog.csdn.net/uikoo9/article/details/44676963 [几种打开页面的方式] 1.初始化时创建子页面 2.直接打开新页面 ...

  2. Java笔记:Java的三种页面跳转方法(setHeader,SendRedirect,forward)

    重定向 / 转发 在JAVA中进行资源跳转,或者是页面跳转,从本质上来讲,有两种方式:重定向 , 转发 这两者都可以使页面进行跳转,但是两者之间有不同的区别 其中 SendRedirect,setHe ...

  3. java go md5_Go语言中三种不同md5计算方式的性能比较

    前言 本文主要介绍的是三种不同的 md5 计算方式,其实区别是读文件的不同,也就是磁盘 I/O, 所以也可以举一反三用在网络 I/O 上.下面来一起看看吧. ReadFile 先看第一种, 简单粗暴: ...

  4. springMVC 几种页面跳转方式

    今天主要写一下响应界面跳转的几种方式 1.在注解的方式中 1.1通过HttpServletResponse的API直接输出(不需要配置渲染器) controller类的主要代码 @Controller ...

  5. 搞定iOS的几种页面跳转方式

    前言 对于新手来说,iOS的几种跳转方式还挺繁琐的,下面就来一一介绍 1.不带任何布局文件的viewController之间的跳转 MyViewController *vc = [[MyViewCon ...

  6. java servlet接口开发_servlet三种实现方式之一实现servlet接口

    servlet有三种实现方式: 1.实现servlet接口 2.继承GenericServlet 3.通过继承HttpServlet开发servlet 第一种示例代码如下(已去掉包名): import ...

  7. java循环控制语句,简述Java流程控制语句中的三种循环控制语句,并描述下它们的区别。...

    简述Java流程控制语句中的三种循环控制语句,并描述下它们的区别. 答:for语句,构建确定循环次数的循环结构 while语句,通常构建不确定循环次数的循环结构 do-while语句,通常构建不确定循 ...

  8. JAVA 三种线程实现创建方式

    JAVA 三种线程实现/创建方式 方式一:继承Thread类 通过继承Thread类来创建一个自定义线程类.Thread类本质上就继承了Runable接口,代表一个线程类.启动线程的唯一办法就是通过T ...

  9. 转list_你知道Java数组转List的三种方式及对比吗?

    前言: 本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析. 一.最常见方式(未必最佳) 通过 Arrays.asList(strArray ...

最新文章

  1. 去水印--《On the Effectiveness of Visible Watermarks》
  2. android通知栏半透明,Android开发实现透明通知栏
  3. 图的顺序存储结构及C语言实现
  4. import和require的区别
  5. Java毕设动物管理系统_java毕业设计_springboot框架的现代化动物园管理系统EB
  6. 腾讯IVWEB前端工程化工具feflow思考与实践
  7. libuv 原理_Nodejs的运行原理-libuv篇
  8. mongodb 备份压缩_MongoDB-备份和恢复
  9. php 修改 wordpress,wordpress如何修改php.ini
  10. 【知识图谱系列】基于2D卷积的知识图谱嵌入
  11. python制作一个简易计算器_最简易的python计算器实现源代码
  12. 【CSS 基础教程】
  13. 基于pytorch-openpose框架的的人体姿态检测
  14. uniapp,vue学习笔记
  15. java倒序输出英文句子_英文句子反转 -- 面试题(Java)
  16. 蚁群优化算法(ACO)
  17. 小红书怎么点击查看大图_小红书图片如何调整呢?
  18. 最新系统漏洞--Siemens Jt2go和Teamcenter Visualization越界写入漏洞
  19. 第48章 MDK的编译过程及文件类型全解
  20. python爬虫chinaplay网页的前十个游戏 游戏名字、原价、现价、折扣、爬下来输出到excel文件

热门文章

  1. 微软:明明修复了Bug,你们还把我骂上热搜?
  2. 源服务器信息,软件源搭建
  3. python基础之---03基本语法
  4. JS面向对象--你真的理解闭包了吗?
  5. Oracle提高SQL查询效率where语句条件的先后次序
  6. js/jquery遇到的坑总结
  7. linux 服务 启动 关闭 列表
  8. HDU 1010 Tempter of the Bone DFS(奇偶剪枝优化)
  9. JavaScript深入【表达式和运算符(上集)】你能过我8关js运算符的题目吗?
  10. 转载--让搜索引擎优化(SEO)更有效 CSS+DIV标签命名规范