zoukankan      html  css  js  c++  java
  • HttpServletResponse

    什么是HttpSevletResponse

    web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,代表响应的一个HttpServletResponse

    案例:下载文件

    下载文件思路:

    • 下载文件路径
    • 下载文件名称
    • 浏览器支持下载格式
    • 获取下载文件的输入流
    • 创建缓冲区
    • 获取OutputStream对象
    • 将FileOutStream流写入到buffer缓冲区
    • OutputStream将缓冲区数据输出到客户端
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 1. 下载文件路径
        String realPath = "xxxx";
        System.out.println("下载文件的路径:"+realPath);
        // 2. 下载文件名称
        String fileName = realPath.substring(realPath.lastIndexOf("\") + 1);
        // 3. 浏览器支持下载格式
        resp.setHeader("Content-Disposition","attachment;filename="+URLEncoder.encode(fileName,"UTF-8"));
        // 4. 获取下载文件的输入流
        FileInputStream in = new FileInputStream(realPath);
        // 5. 创建缓冲区
        int len = 0;
        byte[] buffer = new byte[1024];
        // 6. 获取OutputStream对象
        ServletOutputStream out = resp.getOutputStream();
        // 7. 将FileOutputStream流写入到buffer缓冲区,使用OutputStream将缓冲区中的数据输出到客户端!
        while ((len=in.read(buffer))>0){
            out.write(buffer,0,len);
        }
    
        in.close();
        out.close();
    }
    
  • 相关阅读:
    两线段是否相交模板
    树的距离
    Codeforces Round #369 (Div. 2)-D Directed Roads
    Codeforces Round #369 (Div. 2)-C Coloring Trees
    Codeforces Round #374 (Div. 2)-D Maxim and Array
    zstu-4243 牛吃草
    Codeforces Round #447 (Div. 2)
    zstu 4247-萌新的旅行
    CDQ分治求前缀和
    self.faceshowing = !self.facshowing无效,了,原来set
  • 原文地址:https://www.cnblogs.com/0x10-lexsblog/p/14220021.html
Copyright © 2011-2022 走看看