• 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 }
  • 相关阅读:
    深入理解java:2.3.1. 并发编程concurrent包 之Atomic原子操作(循环CAS)
    深入理解java:2.3. 并发编程 java.util.concurrent包
    深入理解java:2.2. 同步锁Synchronized及其实现原理
    深入理解java:2.1. volatile的使用及其原理
    深入理解java:2. 多线程机制
    深入理解java:1.3.2 JVM监控与调优
    深入理解java:1.3.1 JVM内存区域的划分(运行时数据区)
    深入理解java:1.3. 垃圾收集
    深入理解java:1.2. 字节码执行引擎
    线程的等待与唤醒,实现if...else里面的值交互依次输出
  • 原文地址:https://www.cnblogs.com/lanjianhappy/p/6266594.html
Copyright © 2020-2023  润新知