response内置对象

来源:互联网 发布:命令与征服 将军 知乎 编辑:程序博客网 时间:2024/06/06 07:25

response对象是服务器端向客户端返回的数据,从这 个对象中间可以取出一部分与服务器互动的数据和信息。包含了响应客户端请求的信息,在JSP中很少直接使用到它,它是HttpServletResponse类的实例。
response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对此次访问有效,其他页面的response对象对当前页面无效。


常用的方法及方法功能描述

方法 方法描述 addCookie(Cookie cookie) 添加一个Cookie对象 flushBuffer() 强制将当前缓冲区内容发送到客户端 getBufferSize() 返回缓冲区大小 setContentType() 设置响应的MIME类型 addHeader(String name,String value) 添加Http头文件信息,如果已有同名的header,则覆盖它 containHeader(String name) 判断http头文件是否存在

设置响应内容
使用response对象设置响应内容,通常通过response.getWriter(); 获取一个PrintWriter 对象。可以使用println(),append(),write(),format()等等方法设置返回给浏览器的html内容。

设置响应格式
response.setContentType(“text/html”);可以设置响应格式,在request获取头信息 中对应的request.getHeader(“accept”).“text/html”是存在的,表示浏览器可以识别这种格式。如果换一种格式 比如 “text/pptx” ,浏览器不能识别,那么打开此servlet就会弹出一个下载的对话框。这样的手段也常常用于实现下载功能。

设置响应编码
设置响应编码有两种方式:
①response.setContentType(“text/html; charset=UTF-8”);
不仅发送到浏览器的内容会使用UTF-8编码,而且还通知浏览器使用UTF-8编码方式进行显示。所以总能正常显示中文
②response.setCharacterEncoding(“UTF-8”);
仅仅是发送的浏览器的内容是UTF-8编码的,置于浏览器是用哪种编码方式显示不管。 所以当浏览器的显示编码方式不是UTF-8的时候,就会看到乱码,需要手动再进行一次设置。

设置不能使用缓存
使用缓存可以加快页面的加载,降低服务端的负担。但是也可能看到过时的信息,可以通过如下手段通知浏览器不要使用缓存
response.setDateHeader(“Expires”,0 );
response.setHeader(“Cache-Controll”,”no-cache”);
response.setHeader(“pragma”,”no-cache”);

原创粉丝点击