JavaWeb-Response对象

JavaWeb-Response对象

一、Response

1.Resonse的继承结构:

ServletResponse–HttpServletResponse

2.Response代表响应

于是响应消息中的 状态码、响应头、实体内容都可以由它进行操作

3.利用Response输出数据到客户端

response.getOutputStream().write("中文".getBytes())

输出数据,这是一个字节流,是什么字节输出什么字节,

而浏览器默认用平台字节码打开服务器发送的数据,

如果服务器端使用了非平台码去输出字符的字节数据就需要明确的指定浏览器编码时所用的码表,以防止乱码问题。

response.addHeader("Content-type","text/html;charset=gb2312")
response.getWriter().write(“中文”);

输出数据,这是一个字符流,response会将此字符进行转码操作后输出到浏览器,

这个过程默认使用ISO8859-1码表,而ISO8859-1中没有中文,

于是转码过程中用?代替了中文,导致乱码问题。可以指定response在转码过程中使用的目标码表,防止乱码。

response.setCharcterEncoding("gb2312");

其实response还提供了

setContentType("text/html;charset=gb2312")

此方法会设置content-type响应头,通知浏览器打开的码表,同时设置response的转码用码表,从而一行代码解决乱码。

4.利用Response 设置 content-disposition头实现文件下载

设置响应头content-disposition为“attachment;filename=xxx.xxx”

利用流将文件读取进来,再利用Response获取响应流输出

如果文件名为中,一定要进行URL编码,编码所用的码表一定要是utf-8

5.refresh头控制定时刷新

设置响应头Refresh为一个数值,指定多少秒后刷新当前页面

设置响应头Refresh为 3;url=/Day05/index.jsp,指定多少秒后刷新到哪个页面

可以用来实现注册后“注册成功,3秒后跳转到主页”的功能

在HTML可以利用标签模拟响应头的功能。

6.利用response设置expires、Cache-Control、Pragma实现浏览器是否缓存资源,这三个头都可以实现,但是由于历史原因,不同浏览器实现不同,所以一般配合这三个头使用

6.1控制浏览器不要缓存(验证码图片不缓存)设置expires为0或-1设置Cache-Control为no-cache、Pragma为no-cache

6.2控制浏览器缓存资源。即使不明确指定浏览器也会缓存资源,这种缓存没有截至日期。当在地址栏重新输入地址时会用缓存,但是当刷新或重新开浏览器访问时会重新获得资源。

如果明确指定缓存时间,浏览器缓存是,会有一个截至日期,在截至日期到期之前,当在地址栏重新输入地址或重新开浏览器访问时都会用缓存,而当刷新时会重新获得资源。

7.Response实现请求重定向

7.1古老方法:

response.setStatus(302);response.addHeader("Location","URL");

7.2快捷方式:

response.sendRedirect("URL");

9.Response注意的内容:

9.1对于一次请求,Response的getOutputStream方法和getWriter方法是互斥,只能调用其一,特别注意forward后也不要违反这一规则。

9.2利用Response输出数据的时候,并不是直接将数据写给浏览器,而是写到了Response的缓冲区中,等到整个service方法返回后,由服务器拿出response中的信息组成HTTP响应消息返回给浏览器。

9.3service方法返回后,服务器会自己检查Response获取的OutputStream或者Writer是否关闭,如果没有关闭,服务器自动帮你关闭,一般情况下不要自己关闭这两个流。

版权声明:欢迎交流,QQ872785786

时间: 2024-10-12 21:58:49

JavaWeb-Response对象的相关文章

javaweb学习总结二十六(response对象的用法二 下载文件)

一:浏览器打开服务器上的文件 1:读取服务器上面的资源,如果在web层,可以直接使用servletContext,如果在非web层 可以使用类加载器读取文件 2:向浏览器写数据,实际上是把数据封装到response对象上,然后服务器发现response中响应 体中有数据绑定,然后写给浏览器 3:设置响应头,控制浏览器的读取或者解析方式 如下:打开服务器上的图片 1 /**在页面上查看图片*/ 2 private void viewImage(HttpServletResponse respons

javaweb学习总结二十五(response对象的用法一)

一:Reponse对象的概念 当客户端发送http请求时,服务器端会对每一次请求,创建request对象和response对象. response对象包括三个部分:响应头.响应状态码以及响应体 二:response对象案例分析 1:向客户端输出中文数据 1 package com.hlcui.servlet; 2 3 import java.io.IOException; 4 import java.io.OutputStream; 5 import java.io.PrintWriter; 6

Webform 内置对象 Response对象、Request对象,QueryString

Request对象:获取请求Request["key"]来获取传递过来的值 QueryString:地址栏数据传递 ?key=value&key=value注意事项:不需要保密的东西可以传不要传过长东西,因为长度有限,过长会造成数据丢失 Response对象:响应请求Response.Write("<script>alert('添加成功!')</script>");Response.Redirect("Default.asp

Request和Response对象

最早接触Request和Response对象的时候是听王勇老师将Servlet的时候,我们编写一个Servlet类.我们在浏览器端发送一个url请求之后,会调用Servlet类对这个请求做相应的处理,Servlet类就是通过重写的service()方法来实现的,而我们知道的Request和Response对象就是作为service()方法的参数传入的.   1.整体印象 2.Request对象 Request对象的主要职责是获得HTTP请求中封装的信息,获得url和表单参数:还有一个功能就是对页

ASP.NET Response 对象的部分方法和属性

Response 对象: 返回到客户端的输出 (1).方法: Response.Write() : 输出信息到客户端 Response. Redirect() : 重定向 Response .Clear() : 清除在缓冲区的所有HTML页面 Response .End() :终止处理ASP.NET程序,并返回当时的状况 Response.Flush() : 立刻送出缓冲区的HTML数据 Response. WriteFile() 读取一个文件,并且写入客户端输出流(实质:打开文件,并且输出到客

Response对象

Response对象来自HttpResponse类,它用于向客户端输出信息或设置客户端输出状态,使用Response对象可以直接发送信息给浏览器.重定向浏览器到另一个URL或设置cookie的值等. 数据输出: Response对象使用Write方法.WriteFile方法对数据进行输出,输出的数据包括字符.字符串.文件等. 网页重定向与参数传递: 利用Response对象的Redirect方法实现网页重定向功能.在重定向时,进行参数的传递,重定向的地址与参数之间使用“?”分割,参数与参数之间使

ASP.NET之Request和Response对象

经过了牛腩新闻公布系统和html的学习对B/S开发的流程有了些理解.前面尽管用到了非常多知识.但对制作网页仅仅能说知其然.当学到asp.net视频中的解说才干够说開始知其所以然了. 今天来说说client与server之间进行交流用到的Request和Response对象. Request:用户在client使用Web浏览器向Web应用程序发出请求时,会将client信息发给server.server收到一个HTTP请求,包括了全部查询字符串參数或表单參数.Cookie数据以及浏览器信息. 在a

Response 对象

Response 对象用于将数据从服务器发送回浏览器. 页面跳转并传递参数 Response.Redirect("~/welcome.aspx?parameter1=one&parameter2=two"); Response.Write("<script>alert('提示内容');location.href='Url';</script>");

request对象和response对象

Request 和 Response 对象起到了服务器与客户机之间的信息传递作用.Request 对象用于接收客户端浏览器提交的数据,而 Response 对象的功能则是将服务器端的数据发送到客户端浏览器. web服务器收到客户端的HTTP请求,会针对每一次请求分别创建一个用于代表请求的request对象和代表响应的response对象. 1.要得到客户机提交过来的数据,只需要找request对象就行. 2.要向客户机输出数据,只需要找response对象就行. response.setChar

request和response对象的具体介绍

Request 对象 - request 对象表示 HTTP 请求,包含了请求查询字符串,参数,内容,HTTP 头部等属性.常见属性有: req.app:当callback为外部文件时,用req.app访问express的实例 req.baseUrl:获取路由当前安装的URL路径 req.body / req.cookies:获得「请求主体」/ Cookies req.fresh / req.stale:判断请求是否还「新鲜」 req.hostname / req.ip:获取主机名和IP地址 r