什么是request和response
request对象是服务器对浏览器请求的封装,而response是服务器对服务器响应的封装。
request用来取出请求信息,而response则用来添加要返回给浏览器的信息。
使用response对象设置http响应协议中的信息
用来生成Http响应信息,发送给用户。
响应首行
HTTP/1.1 200 OK
setStatus(int sc)
:设置正常的响应状态码 status codesetStatus(int sc, String sm)
:设置正常的响应状态码,状态码描述 status
message,过时,因为正常状态下,状态码信息不会显示给用户,所以没有必要设置sendError(int sc)
:设置错误的状态码sendError(int sc, String sm)
:设置错误的状态码,包含错误信息
响应头
key:value
setHeader(String name, String value)
:设置一个键值对,值为stringsetDateHeader(String name, long date)
:设置一个键值对,值为long,long常用于毫秒的表示setIntHeader(String name, int value)
:设置一个键值对,值为int类型setHeader(String name, String value)
:添加一个键值对,值为stringsetDateHeader(String name, long date)
:添加一个键值对,值为long,long常用于毫秒的表示setIntHeader(String name, int value)
:添加一个键值对,值为int类型- add 和 set 区别在于,前置直接添加(key是可以重复的),后者会修改原来的,没有才会添加。
几个常见的响应头:
ContentType:text/html;charset=utf-8
Refresh:3;url=http://path
3秒后跳转网页
html中meta标签的作用就是用于向响应头中添加信息。
响应空行
一个分隔符
响应正文
需要发送的资源
response.getWriter()
:获取字符流- 父类方法
getOutputSteam()
:获取输出字节流
实现请求重定向
手动实现:
实现重定向很简单,只需要两个步骤:
在响应头中添加302状态码,告诉浏览器需要进行重定向
response.setStatus(302)
在响应头中添加Location,指定重定向的位置
response