javaweb笔记6多个响应头以及 HttpServletResponse对象

1 常见的响应头

  Location: http://www.it315.org/index.jsp     重定向的地址。配合302的状态码一起使用,实现重定向效果。

  Content-Type: text/html; charset=GB2312      服务器发送内容的数据类型及编码格式

  Refresh: 1;url=http://www.it315.org             n秒之后跳转到另一个页面 / 每隔n秒刷新当前页面

  Content-Disposition: attachment; filename=aaa.zip    告诉浏览器以下载的方式打开文件

2  HttpServletResponse对象

    通过HttpServletResponse对象方法设置响应信息

     响应头

    设置响应头:

    response.setHeader("响应头名称" ,"响应头的值");

    实体内容

    response.getWriter();     向浏览器输出字符数据

    response.getOutputStream();   向浏览器输出字节数据

4

 1 public class ResponseDemo extends HttpServlet {
 2 
 3     public void doGet(HttpServletRequest request, HttpServletResponse response)
 4             throws ServletException, IOException {
 5             //状态行
 6                 //状态码
 7             //response.setStatus(404); //发送404 状态码
 8         //response.sendError(404); //发送404 状态码 + 404 错误页面内容
 9         
10         //response.sendError(500);
11         
12         /**
13          * 302+location = 重定向(跳转到另一个资源)
14          */
15         /*
16         response.setStatus(302);//设置302的状态码
17         
18             //响应头
19         /************重定向***************/
20         //response.setHeader("location", "/day09/testParam.html"); //设置location响应头
21         
22         
23         /*重定向的简写方法*/
24         //response.sendRedirect("/day09/testParam.html");
25         
26         /*************定时刷新******************/
27         //response.setHeader("refresh","1"); //每隔1秒刷新请求
28         
29         //response.setHeader("refresh", "3;url=/day09/adv.html"); //3秒之后,跳转到 /day09/adv.html
30         
31         //response.setHeader("content-type", "image/jpg"); //设置服务器发送给浏览器的数据内容的格式
32         /*设置content-type的简写形式*/
33         /*设置浏览器打开数据的编码*/
34         response.setContentType("text/html;charset=utf-8");
35         
36         //设置数据内容输出的编码
37         response.setCharacterEncoding("utf-8");
38         
39         // 实体内容(服务器发送给浏览器的数据内容)
40         PrintWriter writer = response.getWriter(); // 用于向浏览器输出字符数据。 html / xml / text 
41         //OutputStream out = response.getOutputStream(); //用于向浏览器输出字节数据。 images / vedio / 文档文件(zip/rar)
42         
43         writer.write("<html><head><title>this is title</title></head><body>传智播客</body></html>");
44         //writer.write("<student><name>eric</name><age>18</age></student>");
45         
46         /*************以下载方式打开文件*****************/
47         /*
48         response.setHeader("Content-Disposition", "attachment; filename=aaa.jpg");
49         
50         /**************把字节文件(图片)发送到浏览器***************************/
51         //把图片内容发送给浏览器
52         //1.读取到图片内容
53         /*
54         InputStream in = new FileInputStream("e:/testImg.jpg");
55         
56         //2.把图片数据发送到浏览器
57         OutputStream out = response.getOutputStream();
58         byte[] buf = new byte[1024];
59         int len = 0;
60         while( (len=in.read(buf))!=-1 ){
61             out.write(buf,0,len);
62         } 
63         
64         //3.关闭资源
65         in.close();
66         */
67     }
68 
69 }
原文地址:https://www.cnblogs.com/lanjianhappy/p/6266594.html