1.手动设置http响应状态码
resp.setStatus(302);
2.设置响应头
分别有添加和设置 (添加是重复会逗号隔开) (设置 存在->覆盖 不存在->添加)
// 2.设置响应头
//添加 -> 重复了 就逗号隔开
//添加一些String Header
resp.setHeader("string_aaa","AAA");
resp.setHeader("string_aaa","BBB");//如果有重复了,会逗号隔开
//添加一些int Header
resp.setIntHeader("int_bbb",123);
//添加一些date Header
Date date=new Date();
resp.setDateHeader("date_ccc",date.getTime());
//设置 -> 区别就是 这个是直接覆盖
//设置一些 String Header
resp.setHeader("string_aaa","ABC");
resp.setIntHeader("int_ddd",321);
resp.setDateHeader("date_eee",date.getTime()+100);
3.重定向
//3.重定向
//访问服务器2次(一次访问的地址 一次跳转的地址) 地址栏发生变化 状态码302
//方法1
resp.setStatus(302);
resp.setHeader("Location","/demo2");
//方法2
//resp.sendRedirect("/demo2");
4.设置定时刷新头
resp.setHeader("refresh","5;url=http://www.baidu.com");
5秒后跳转百度
5.设置响应体文本
// 5.设置响应体文本 (中文乱码 因为默认使用了 iso-8859-1码表)
//resp.getWriter().write("abcddd");
//中文乱码解决方法
String name="粘锅的咸鱼";
//设置查询码表 (缺点客户端不知道到底用什么解码)
//resp.setCharacterEncoding("UTF-8");
//设置客户端解码码表 (必须要先设置 在写 否则还是默认是 iso-8859-1)
//方法一
//resp.setHeader("Content-Type","text/html;charset=UTF-8");
//方法二
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().write(name);
6.使用字节输出流显示一个图片或者文本信息
//6.使用response获取字节输出流 (显示一个图片)
ServletOutputStream servletOutputStream = resp.getOutputStream();
String gif = getServletContext().getRealPath("1.gif");
InputStream in=new FileInputStream(gif);
int len=0;
byte[] buf=new byte[1024];
while((len=in.read(buf))>0)
{
servletOutputStream.write(buf,0,len);
}
servletOutputStream.close();
in.close();
7.文件下载
//7.文件下载
String filenames=req.getParameter("filename");
//解决获取中文参数中文乱码
//filename1=new String(filename1.getBytes("ISO8859-1"),"UTF-8");
//告诉下载的类型
String type=this.getServletContext().getMimeType(filenames);
resp.setContentType(type);
//告诉客户端文件不进行解析 而是进行下载
resp.setHeader("Content-Disposition","attachment;filename="+filenames);
String path=getServletContext().getRealPath(filenames);
InputStream in=new FileInputStream(path);
ServletOutputStream out=resp.getOutputStream();
int len=0;
byte[] buf=new byte[1024];
while((len=in.read(buf))>0)
{
out.write(buf,0,len);
}
in.close();
out.close();