1. 程式人生 > >ServletContext文件下載配置學習筆記

ServletContext文件下載配置學習筆記

ServletContext文件下載配置

配置web.xml

  <servlet>
    <servlet-name>DownServlet01</servlet-name>
    <servlet-class>cn.downservlet.DownServlet01</servlet-class>
    <init-param>
      <param-name>filePath</param-name>
       <param-value>d:\簡歷.pdf</param-value>
    </init-param>
  </servlet>

java:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DownServlet01 extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        // NO1
        ServletConfig config = this.getServletConfig();
        String filePath = config.getInitParameter("filePath");

        // NO2 頭信息
        File file = new File(filePath);
        response.setHeader("content-disposition",
                "attachment;filename=" + file.getName());

        // NO3
        InputStream is = new FileInputStream(file);
        OutputStream os = response.getOutputStream();
        byte[] buf = new byte[1024];
        int len = 0;
        while ((len = is.read(buf)) > 0) {
            os.write(buf, 0, len);
        }
        is.close();
        os.close();

    }

}

http://localhost:8080/day04/DownServlet01

技術分享圖片

ServletContext文件下載配置學習筆記