Response对象
1.功能:设置响应消息
1.设置响应行
1. 格式:HTTP/1.1 200 OK
2.设置状态码: setStatus(int sc)
2.设置响应头
setHeader(String name, String value);
3.设置响应体:
*使用步骤:
1.获取输出流
1.字符输出流:PrintWriter getWriter()
2.字节输出流:ServletOutputStream getOutputStream();
2.使用输出流,将数据输出到客户端浏览器
2.案例:
1.完成重定向
*代码实现:
1.// 1.设置状态码为302
response.setStatus(302);
// 2.设置响应头location
2.// 简单重定向
response.sendRedirect("/responseDemo2");
*重定向的特点:
1.地址栏发生变化
2.重定向可以访问其他站点的资源
3.重定向是2次访问,不能使用request对象来共享数据
*转发的特点:
1.转发地址栏路径不变
2.转发只能访问当前服务器下的资源
3.转发是一次请求,可以使用request对象来共享数据
*forward和redirect的区别
*路径写法:
1.路径的分类:
1.相对路径:通过相对路径不可以确定唯一资源
*不以/开头,以.开头路径
*规则:找到当前资源和目标资源的相对关系
*./:当前目录
*../ :上一级目录
2.绝对路径:通过绝对路径可以确定唯一资源
*以/开头
*规则:判断定义的路径是给谁用的?
*判断客户端浏览器使用:需要加虚拟目录
*给服务器使用:不需要虚拟目录
2.服务器输出字符数据到浏览器
*步骤:
1.获取字符输出流
2.输出数据
*注意:
*乱码问题:
1.PrintWriter writer = resp.getWriter();获取的流的默认编码是ISO-8859-1
2.设置该流的默认编码
3.告诉浏览器响应体使用的编码
// 简单的形式,设置编码,是在获取流之前设置
resp.setContentType("text/html;charset=utf-8");
3.服务器输出字节流到浏览器
4.验证码
网友评论