目录
响应数据
1.响应行: HTTP/1.1 200 OK
void setStatus(int sc);设置响应状态码
2.响应头:Content-Type:text/html
void setHeader(String name,String value);设置响应头键值对
vod setContentType("相应格式;字符编码集");例:setContentType("test/html;charset=utf-8");
3.响应体:<html><head></head><body></body></html>
PrintWriter getWriter();获取字符输出流
ServletOutputStream getOutputStream();获取字节输出流
重定向(Redirect):一种资源跳转方式
资源a想要状态码302,并给出资源b的地址
实现方式:
response.setStatus(302);
response.setHeader("location","/虚拟目录/资源B的路径");
简化方式:
response.sendRedirect("/虚拟目录/资源B的路径");
特点:
浏览器地址栏路径发生变化
可以重定向到任意位置的资源
两次请求,不能在多个资源使用request共享数据
路径问题:
明确路径谁使用
浏览器使用:需要加虚拟路径(项目访问路径)
服务端使用:不需要加虚拟目录
练习
<a href='路径'> 加
<form action='路径'> 加
req.getRequestDispatcher("路径") 不加
res.sendRedirect("路径") 加
修改虚拟目录:
在pom.xml的Tomcat插件下输入
<configuration>
<path>/路径</path>
</configuration>
动态获取虚拟目录:
String path=request.getContextPath();
Response响应字符数据:
通过Response对象获取字符输出流: 流不需要关闭
PrintWriter pw=response.getWriter();
pw.write(字符数据);
Response响应字节数据
ServletOutputStream os=response.getOutputStream();
os.write(字节数据);
可通过commons-io工具类,提高效率:IOUtils
1.导入坐标:commons-io