方法 | 描述 |
---|---|
setStatus(int sc) | |
setHeader(String name, String value) | |
PrintWriter getWriter() | 设置字符输出流 |
ServletOutputStream getOutputStream() | 设置字节输出流 |
重定向
1.通过设置状态码和头来实现
1)设置状态码为302:response.setStatus(302);
2)设置响应头location:response.setHeader(“location”,"/project/Demo2");
2.通过重定向方法
response.sendRedirect("/project/Demo2");
重定向特点
注意区分转发
- url发生变化
- 可以访问服务器之外的资源,不能使用request对象来共享数据
- 重定向是两次请求
路径
客户端:需要加虚拟目录(项目的访问路径),包含重定向
服务器:不需要加虚拟目录,包含转发
绝对路径需要使用:
虚拟目录动态获取:request.getContextPath()
输出字节
response.setCharacterEncoding(“utf-8”);//设置输出的编码方式
response.setHeader(“content-type”,“text/html;charset=utf-8”);//设置头,告诉浏览器用什么编码解析。“text/html”是文件本类型下的html格式
response.setContentType(“text/html;charset=utf-8”);//更简单的方式
1)获取字符输出流
PrintWriter pw = response.getWriter();
2)输出数据
pw.write(“