看一个实例:

运行结果:

出现了一个很奇怪的现象,这个outer对象输出的字符串,跑到顶部去了。这个呢也就说明了response对象获得的writer对象的输出总是前于我们的内置对象。(response的writer对象在打印的时候呢,它是提前于我们的内置的out对象)。所以解决这个问题呢,刚好要利用out内置对象的flush()方法,也就是强制把缓冲区的内容写到浏览器上。代码如下:

运行结果:

还有一个常用的方法,叫做sendRedirect(String location)方法,重定向客户端的请求。也就相当于给客户端发了一个新的请求。让它重定向到一个新的集。比方说,我让当前界面执行的时候,跳转到登录界面去。代码如下:

这样写,当加载response.jsp的时候,会立刻跳转到reg.jsp界面。这个就说明,这句话起作用,response的sendRedirect()方法就说明是在让客户端在请求重定向,相当于让客户端发了一个新的请求,定位到我们的reg.jsp界面。

OK,那这些就是我们response内置对象常用的一些方法。

说到请求重定向,这里再描述下“请求重定向和请求转发的区别”:

举个例子:

修改reg.jsp页面的action。让数据参数提交到“response.jsp”。

然后再response.jsp中,做一个请求重定向。跳转到“request.jsp”:

然后我们根据运行结果,来观察“request.jsp”页面当中是否能接收到这个用户名、和爱好数据,如果能被接收,说明它前置请求的对象数据参数被保存了,如果不能够正常接收,说明这是一次新的请求。运行结果如下:

这个地方用户名为null,爱好也没有数据,而且它的地址栏,本来应该是从reg.jsp提交给“response.jsp”去处理的,但现在因为“response.jsp”做了请求重定向,定向到了“request.jsp”。相当于让客户端发了一个新的请求,请求到了“request.jsp”。又因为是一次新的请求,所以它上一次请求提交的用户名、爱好信息不会被保存。(也就是前面说的,“请求重定向就相当于做了两次请求,前一次的请求对象不会保存,而且地址栏上的地址会发生改变”)。

接着,现在再测试一下“请求转发”。请求转发属于我们的“request”对象。如下:

ok,测试一下:

这次呢,参数就能正常取出来,而且最终的这个界面实际上是“request.jsp”上的界面信息,但是地址栏上还是“response.jsp”。说明呢,这个地址栏并没有发生变化。

所以呢,“请求转发”呢,这是一个服务器行为,它相当于一次请求,那么转发之后的请求呢,它会保存前面这个请求的对象,Url地址呢还是上一个请求的地址。这个就是就是“请求重定向”和}“请求转发”的一个区别。————(“请求重定向”是客户端行为,“请求转发”是服务端行为。)

JSP内置对象——response对象的更多相关文章

  1. JSP内置九个对象Request请求对象

    jsp内置对象是什么呢? 例如Java语言使用一个对象之前需要实例化(也就是所说的new一个对象),创建对象这个过程有点麻烦,所以在jsp中提供了一些内置对象,用来实现很多jsp应用.在使用内置对象时 ...

  2. JSP内置对象——response

    response对象response对象包含了响应客户端的有关信息,但在JSP中很少使用它.它是HttpServletResponse类的实例.response对象具有页面作用域,即访问一个页面时,该 ...

  3. jsp内置对象之response、out、config、exception、pageContext。

    本文是对Jsp内置对象的response.out.config.exception.pageContext知识点的详细总结. response对象 Response内置对象和request内置对象是相 ...

  4. JavaWeb——JSP内置对象request,response,重定向与转发 学习总结

    什么是JSP内置对象 九大内置对象 requestJSP内置对象 request对象常用方法 request练习 responseJSP内置对象 response练习 response与request ...

  5. jsp内置对象(三)-----response对象

    response对象  response对象包含了响应客户端请求的有关信息,但在JSP中很少直接用到它.他是HttpServletResponse类的实例,response对象具有页面作用域,即访问一 ...

  6. JSP内置对象1(request,response,session)

    request对象 response对象:请求重定向与请求转发的区别. session对象:表示客户端与服务器的一次会话,也就是用户浏览网站所花费的时间.在服务器的内存中保存着不同用户的session ...

  7. jsp内置对象浅谈

    jsp内置对象浅谈 | 浏览:1184 | 更新:2013-12-11 16:01 JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对 ...

  8. JSP内置对象有哪些呢?

    内置对象 request request 对象是 javax.servlet.httpServletRequest类型的对象. 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的 ...

  9. JSP内置对象-request

    JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...

随机推荐

  1. POJ 2606

    #include<iostream> #include<set> #include<stdio.h> #include<math.h> #include ...

  2. xamarin 遇到的奇葩问题

    未能找到路径“E:\platforms”的一部分. xamarin 安卓存档出现这样的错误 建议检查下ndk是否配置完整

  3. mac下安装rzsz

    1.先安装item2,item2 市类似mac风格的终端 item2 下载地址,http://iterm2.com/downloads.html,下载后解压缩就能运行 2.Install Homebr ...

  4. (转)Python3入门之线程threading常用方法

    原文:https://www.cnblogs.com/chengd/articles/7770898.html https://blog.csdn.net/sunhuaqiang1/article/d ...

  5. c++如何解决大数组栈内存不够的问题

    在c++中,我们可以直接通过下面的方式创建一个数组: ; ; ; double phi[N][Nx][Ny]; double phi_b[N][Nx][Ny]; 但是,如果上述的Nx和Ny比较小还好说 ...

  6. Java 内存分配及垃圾回收机制初探

    一.运行时内存分配 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域. 这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则 ...

  7. python获取动态网站上面的动态加载的数据(初级)

    我们在处理一些网站数据的时候,有时候我们需要的数据很多都是动态加载的,而不都是静态的,以下以一个实例来介绍简单的获取动态数据,首先申明本人小白,还在学习python中,这个方法还是比较笨拙的,但是对于 ...

  8. 常见数据结构的Java实现

    单链表的Java实现 首先参考wiki上的单链表说明,单链表每个节点包含数据和指向链表中下一个节点的指针或引用.然后看代码 import java.lang.*; public class Singl ...

  9. 【原创】用JQury来制作星星打分特效功能

    前言 常常我们看到一些评论,星星打分,今天我们就用Jq代码来实现,看看究竟是如何实现的 其中有两个重要的事件mouseenter和mouseleave效果如下图 代码 <!DOCTYPE htm ...

  10. node爬虫gbk中文乱码问题

    刚入坑node 写第二个node爬虫时,遇到了这个坑,记录一下. 主要步骤: 1.安装iconv-lite 输入npm install iconv-lite 2.将接收到的网页源码以二进制的方式存储下 ...