看一个实例:

运行结果:

出现了一个很奇怪的现象,这个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. 安装SVN并进行汉化的详细步骤

    安装SVN并进行汉化的详细步骤 SAE提供了不同的代码部署方式,可以分为两类:一是通过SVN客户端部署,这是SAE推荐的代码部署方法.另一个是通过非SVN客户端部署,即在线代码在线编辑器和推荐应用安装 ...

  2. javascript数据结构与算法---检索算法(顺序查找、最大最小值、自组织查询)

    javascript数据结构与算法---检索算法(顺序查找.最大最小值.自组织查询) 一.顺序查找法 /* * 顺序查找法 * * 顺序查找法只要从列表的第一个元素开始循环,然后逐个与要查找的数据进行 ...

  3. Linux机器之间复制文件和目录方式&Linux的scp命令详解

    本文转载于:http://www.cnblogs.com/hitwtx/archive/2011/11/16/2251254.html 整理总结如下: 不同的Linux之间copy文件常用有3种方法: ...

  4. javascript保留字趣史

    转载自[https://mathiasbynens.be/notes/reserved-keywords](https://mathiasbynens.be/notes/reserved-keywor ...

  5. 全网最详细的Hadoop HA集群启动后,两个namenode都是standby的解决办法(图文详解)

    不多说,直接上干货! 解决办法 因为,如下,我的Hadoop HA集群. 1.首先在hdfs-site.xml中添加下面的参数,该参数的值默认为false: <property> < ...

  6. springboot-30-security(三)使用注解实现权限控制

    上个博客: http://www.cnblogs.com/wenbronk/p/7381252.html中, 实现了经典5表对用户进行权限的控制, 但太过于繁琐了, 官方推荐的方式是将用户和角色存储数 ...

  7. slf4j 作用及logback概述

    为什么要使用slf4j 现实场景: 我们自己的系统中使用了logback这个日志系统 我们的系统使用了A.jar,A.jar中使用的日志系统为log4j 我们的系统又使用了B.jar,B.jar中使用 ...

  8. Java NIO系列教程(十) Java NIO DatagramChannel

    Java NIO中的DatagramChannel是一个能收发UDP包的通道.因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入.它发送和接收的是数据包. 打开 DatagramChann ...

  9. 深入出不来nodejs源码-timer模块(C++篇)

    终于可以填上坑了. 简单回顾一下之前JS篇内容,每一次setTimeout的调用,会在一个对象中添加一个键值对,键为延迟时间,值为一个链表,将所有该时间对应的事件串起来,图如下: 而每一个延迟键值对的 ...

  10. SQL Server 数据库的鼠标操作

    在数据库中一些操作用鼠标进行可视化操作更方便快捷 一 SQL Server 开启 任务栏——任务管理器——服务——MSSQLSERVER 开启 我的电脑——控制面板——管理工具——服务——MSSQLS ...