功能:设置响应消息
- 设置响应行
a. 格式:HTTP/1.1 200 ok
b. 设置状态码:setStatus(int sc)
- 设置响应头
setHeader(String name,String value) - 设置响应体
乱码问题
告诉浏览器响应体使用的编码
//简单的形式,设置编码,是在获取流之前设置
response.setContentType("text/html;charset=utf-8");
使用步骤
1. 获取输出流
字符输出流:PrintWriter getWriter()
字节输出流:ServletOutputStream getOutputStream()
2. 使用输出流,将数据输出到客户端浏览器
3. 重定向
- 重定向
重定向是一种资源跳转方式,必须加虚拟路径
第一种方法:
设置状态码为(302)
response.setStatus(302)
设置响应头
response.setHeader(“location”,”/虚拟路径/HelloServlet”)
第二种方法:
response.sendRedirect(“/虚拟路径/HelloServlet”)
- 重定向和转发的特点及区别
1. 地址栏发生变化
2. 重定向可以访问其他站点(服务器的资源)
3. 重定向是两次请求,不能使用request对象来共享数据
a. 转发地址栏路径不发生变化
b. 转发只能访问当前服务器下的资源
c. 转发是一次请求,可以使用request对象来共享资源
- 路径问题
规则:判断定义的路径是给谁用的?判断请求将来从哪儿发出
* 给客户端浏览器使用:需要加虚拟目录(项目的访问路径)
* 建议虚拟目录动态获取:request.getContextPath()
比如:重定向
* 给服务器使用:不需要加虚拟目录
比如:转发路径