• 第六天-request response4-response实现文件下载.avi--本人测试失败


    package cn.itcast.response;

    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.util.Date;

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    /**
    * Servlet implementation class ResponseDemo1
    */
    @WebServlet("/ResponseDemo1")
    public class ResponseDemo1 extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
    * @see HttpServlet#HttpServlet()
    */
    public ResponseDemo1() {
    super();
    // TODO Auto-generated constructor stub
    }

    /**
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    String path = this.getServletContext().getRealPath("/download/abc.jpg");
    String filename =path.substring(path.lastIndexOf("\"+1));
    //response.setHeader("content-type", "text/html;charset=UTF-8");
    response.setHeader("content-disposition", "attachment;filename="+filename);
    InputStream in =null;
    OutputStream out =null;
    try {
    in = new FileInputStream(path);
    int len =0;
    byte buffer[] =new byte[1024];
    out =response.getOutputStream();
    while ((len=in.read(buffer))>0){
    out.write(buffer,0,len);
    }
    } finally {
    // TODO: handle finally clause
    }


    //test1(request, response);
    }

    public void test1(HttpServletRequest request, HttpServletResponse response) throws IOException {
    response.setCharacterEncoding("UTF-8");
    response.setHeader("content-type", "text/html;charset=UTF-8");
    String data="中国";

    //response.setContentType("text/html;charset=UTF-8");
    PrintWriter out= response.getWriter();
    out.write(data);
    response.getWriter().append("Served at: ").append(request.getContextPath()+"fda "+new Date());
    }

    /**
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    doGet(request, response);
    }

    }

  • 相关阅读:
    扩展springMVC
    SpringBoot推荐的Thymeleaf
    springboot使用注解添加组件
    @PropertySource 加载指定的配置文件
    读取yml配置文件中的值
    媒体查询
    若是前台接收的数据为null的不进行传递
    DATA时间:若是数据库存储的为毫秒,而前台需要的是秒,下面介绍一个工具类:
    表单验证
    Redis集群总结
  • 原文地址:https://www.cnblogs.com/rogge7/p/6888784.html
Copyright © 2020-2023  润新知