看一个实例:

运行结果:

出现了一个很奇怪的现象,这个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. HuLu机器学习问题与解答系列(1-8)

    声明:本系列文章转载自微信公众号HULU,本人只是搬运工,仅供学习,如有不妥,后续告知删除. 嗨,欢迎回来,希望你能保持定期回顾的好习惯噢!下面是Hulu机器学习问题与解答系列的前8篇内容,点击主题名 ...

  2. (转)MVC 与三层架构

    原文:https://juejin.im/post/5929259b44d90400642194f3 MVC 与三层架构 一.简述 在软件开发中,MVC与三层架构这两个专业词汇经常耳闻,同时总有很多人 ...

  3. (转)IBM AppScan 安全漏洞问题修复(.net)

    原文:https://www.cnblogs.com/anngeiBKY/p/4952269.html 按问题类型分类的问题 使用 SQL 注入的认证旁路2 已解密的登录请求3 登录错误消息凭证枚举1 ...

  4. Google Chrome Native Messaging开发实录(一)背景介绍

    最近接手了一个针对Google Chrome的需求,最终是使用Native Messaging来实现的.通过这个连载,将把本次开发从方案选定到编码的全部过程进行完整的回顾,并记录开发过程中踩过的各种坑 ...

  5. Android_触摸事件传递机制

    Android中dispatchTouchEvent,onInterceptTouchEvent, onTouchEvent的理解ecandroid中的事件类型分为按键事件和屏幕触摸事件,Touch事 ...

  6. 一道JS面试题引发的血案

    刚入职新公司,属于公司萌新一枚,一天下午对着屏幕看代码架构时. BI项目组长给我看了一道面试别人的JS面试题. 虽然答对了,但把理由说错了,照样不及格. 话不多说,直接上题: var a = 1; s ...

  7. org.jeecgframework.core.common.exception.MyExceptionHandler]java.lang.NullPointerException

    问题原因:

  8. java工具类-日期工具类

    1.获得时间戳 为了统一其他语言的如php和unix系统获取的时间戳是10位长度的,精确到秒. java时间戳长度是13位,精确到毫秒 我们获取时间戳需要相应处理. //获取当前时间戳,除以1000, ...

  9. HYPER-V的安装和双机调试的配置(一)

    在上一篇文章中,我们已经安装好了VS2017以及WDK,现在我们就需要创建双机调试的环境, 因为本人的工作环境问题,不能使用WMWARE进行虚拟机的安装,因此就针对HYPER-V这个的虚拟机来进行双机 ...

  10. 最常用的两种C++序列化方案的使用心得(protobuf和boost serialization)

    导读 1. 什么是序列化? 2. 为什么要序列化?好处在哪里? 3. C++对象序列化的四种方法 4. 最常用的两种序列化方案使用心得 正文 1. 什么是序列化? 程序员在编写应用程序的时候往往需要将 ...