我是靠谱客的博主 复杂板凳,最近开发中收集的这篇文章主要介绍response对象以及cookie,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、HttpServletResponse对象

当服务器收到请求的时候,会对每一次请求都创建两个对象
一个对象是request对象,代表请求 
另一个对象是response对象,代表响应
获取客户端的数据时通过request对象
而向客户端输出数据就是通过response对象
1.1 常用方法
方法 描述
addHeader(String name, String value) 添加指定的键值到响应头信息中
containsHeader(String name) 判断响应的头部是否被设置
encodeURL(String url) 编码指定的URL
sendError(int sc) 使用指定状态码发送一个错误到客户端
setHeader(String name, String value) 设置指定响应头的值
setStatus(int sc) 给当前响应设置状态
setContentType(String ContentType) 设置响应的MIME类型
getWriter() 获取输出字符流
getOutputStream() 获取输出的字节流
在响应中有一个常用的头信息就是刷新指令,可以完成定时刷新的功能
response.setHeader("refresh","2");	//每2秒刷新一次页面
除了可以定时刷新意外,还可以设置定时跳转功能
response.setHeader("refresh","3;URL=check.html");	//3秒后跳转至check.html
但是这种跳转不是万能的,有时候根本就无法进行跳转操作
返回后刷新不会跳转
定时跳转的头信息还可以在html代码中进行设置
<metahttp-equiv="refresh"content="3;http://www.baidu.com"/>

1.2 数据相应
接收到客户端的请求以后,可以直接通过HttpServletResponse对象进行响应
响应时需要获取输出流,获取输出流的方式有两种
一种是getWriter()获取字符流	该种方式只能响应回字符
还有一种是getOutputStream()获取字节流 可以响应所有类型的数据
PrintWriterout=resp.getWriter();
out.write("<h1>HelloWorld</h1>");
ServletOutputStreamout=resp.getOutputStream();
out.write("<h1>HelloWorld</h1>").getBytes());

1.3 乱码解决
响应中可能会出现乱码的问题
乱码的产生是因为客户端和服务端两者的字符编码不一致导致的
getWriter()方式响应时出现乱码的解决方法:
resp.setCharacterEncoding("UTF-8");
resp.setHeader("content-type","text/html;charset=UTF-8");
PrintWriterout=resp.getWriter();
out.write("<h1>Hello</h1>");
getOutputStream()方式响应时出现乱码的解决方法:
resp.setHeader("content-type","text/html;charset=UTF-8");
ServletOutputStreamout=resp.getOutputStream();
out.write("<h1>Hello</</h1>".getBytes("UTF-8"));
通用方式:
resp.setContentType("text/html;charset=utf-8");

需要解决乱码问题,需要两端的字符编码都支持中文
且两端的字符编码一致

1.4 响应图片
public class ImageServlet extends HttpServlet {
   
	pr

最后

以上就是复杂板凳为你收集整理的response对象以及cookie的全部内容,希望文章能够帮你解决response对象以及cookie所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部