内置对象-Response对象

Posted youwuyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内置对象-Response对象相关的知识,希望对你有一定的参考价值。

技术分享图片

 

MIME

是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开,比如是mp4,就会用什么软件播放。

https://www.cnblogs.com/tjudzj/p/6528008.html

技术分享图片

技术分享图片

一直是这个错误,最后才发现,

request.getRequestDispatcher("request.jsp").forward(request, response);

代码里有这一行,而我又把request.jsp删除了。

输出的顺序和代码里的不一样:

 技术分享图片

Printerwriter的输出总是在内置的out对象之前

技术分享图片

使用out.flush();清空缓冲区,可以在清空的时候,强制把缓冲区的内容打印,这样顺序就对了。

技术分享图片

请求重定向:

技术分享图片

此时前面的flush需要注释,不然会抛出异常。

out.flush()是强制刷新,不管response缓存是否满,都必须向客户端发出,本来请求重定向信息也是要保存在response里发送给客户端的,结果重定向信息还没有写进去你就把缓存发出去了,客户端就无法接收到重定向的信息,会造成信息丢失,所以编译器不允许你将out.flush()写在重定向前面

response页面一旦调用一个flush()方法后,代表该response已经提交, 执行完毕,不能再使用

response是服务端对客户端请求的一个响应,其中封装了响应头、状态码、内容等,服务端在把response提交到客户端之前,会向缓冲区内写入响应头和状态码,然后将所有内容flush。

这就标志着该次响应已committed(提交)。对于当前页面中已经committed(提交)的response,就不能再使用这个response向缓冲区写任何东西

(注:同一个页面中的response.XXX()是同一个response的不同方法,只要其中一个已经导致了committed,那么其它类似方式的调用都会导致 IllegalStateException异常)

 

刷新页面,页面会跳转:

技术分享图片

此时地址也变了。

 

以上是关于内置对象-Response对象的主要内容,如果未能解决你的问题,请参考以下文章

jsp内置对象-response对象

jsp常用内置对象---response

JSP内置对象request对象的转发与response对象的重定向

Webform(内置对象-Response与RedirectQueryString传值Repeater删改)

JAVA-JSP内置对象之response对象

response内置对象