HttpResonse类

HttpResonse类

常见应用

  • 向浏览器输出消息

  • 下载文件

    • 获取下载文件的路径(绝对路径)

    • 获取下载文件名

    • 设置浏览器支持下载

    • 获取下载文件的输入流,将所要下载文件读入到输入流中

    • 创建缓冲区

    • 获取outputstream对象

    • 将输入流中内容读到缓冲区中

    • 使用outputstream对象将缓冲区中内容输出到客户端!

代码展示:

public class FileServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String realPath = "D:\\javaweb-sevlet\\response\\src\\main\\resources\\m.png";
        System.out.println(realPath);
        String filename = realPath.substring(realPath.lastIndexOf("\\") + 1);
        resp.setHeader("Content-disposition","attachment;filename="+ URLEncoder.encode(filename,"UTF-8"));
        FileInputStream in = new FileInputStream(realPath);
        int len=0;
        byte[] buffer = new byte[1024];
        ServletOutputStream out = resp.getOutputStream();
        while ((len=in.read(buffer))>0){
            out.write(buffer,0,len);
        }
        in.close();
        out.close();
    }
<servlet>
  <servlet-name>down</servlet-name>
  <servlet-class>com.zhou.servlet.FileServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>down</servlet-name>
  <url-pattern>/down</url-pattern>
</servlet-mapping>
posted @ 2022-04-05 10:08  周志飞  阅读(107)  评论(0)    收藏  举报