JAVA Serverlet 请求头信息和响应头信息

时间:2023-03-09 03:51:34
JAVA Serverlet 请求头信息和响应头信息

<1>获取请求头信息

        //获取请求头信息的全部名称
         Enumeration<String> header = request.getHeaderNames();
         while(header.hasMoreElements()){
             String name = header.nextElement();
             //获取对应名称下的信息
             String value = request.getHeader(name);
             response.getWriter().write(name+ " " + value);
         }

<2>输出excel表格

        //解决汉字乱码,将 IO 环境设置为 UTF-8 编码
        response.setCharacterEncoding("UTF-8");     request.setCharacterEncoding("UTF-8");
        //设置响应头为 excel (注: \t 为Tab切换,指切换到下一个单元格 )
        response.setContentType("application/vnd.ms-excel");
        //输出标题行
        response.getWriter().println("\tA\tB\tC");
        //输出第一行
        response.getWriter().println("第一行\t1\t2\t3");
        //输出第二行
        response.getWriter().println("第二行\t4\t5\t6");
        //输出第三行
        response.getWriter().println("第三行\t7\t8\t9");

<3>输出图片

     //设置响应头为 图片 jpg格式的
        response.setContentType("image/jpeg");
        //获取图片输入流 ( 注:图片文件只能存放在 src 目录下或者 classes目录下, 其它目录下可能无效 )
        InputStream cin = this.getClass().getClassLoader().getResourceAsStream("img.jpg");
        //获取图片二进制代码长度
        int len = cin.available();
        byte[] buffer = new byte[len];
        //将文件流读取转换为 byte 格式的数据
        cin.read(buffer);
        //向浏览器输出文件
        response.getOutputStream().write(buffer);

<4>Session的设置用户获取

        //设置session
        HttpSession setSession = request.getSession();
        setSession.setAttribute("key", "value");

        //获取session
        HttpSession getSession = request.getSession();
        String value = (String) getSession.getAttribute("key");
        response.getWriter().write(value);