你的位置:首页 > 软件开发 > Java > servlet下载文件(五)

servlet下载文件(五)

发布时间:2017-09-24 22:00:20
1.servlet下载文件  servlet下载文件就是将服务器端的文件传输到客户端。2案例下载文件servlet类package com.learn;import javax.servlet.ServletConfig;import javax.servlet.ServletE ...

1.servlet下载文件

  servlet下载文件就是将服务器端的文件传输到客户端。

2案例

下载文件servlet类

package com.learn;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;/** * Created by Administrator on 2017/09/24. */public class DownLoadServlet extends HttpServlet { private String filePath; @Override public void init(ServletConfig config) throws ServletException {  super.init(config);  filePath = config.getInitParameter("filePath");  //初始化路径  //filePath = config.getServletContext().getRealPath(filePath);  System.out.println("初始化文件路径:"+filePath); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {  doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {  OutputStream out; //输出流  InputStream in; //输入流  String fileName = req.getParameter("fileName");  System.out.println("文件名称:"+fileName);  //如果把文件名为null则提示用户  if(fileName == null){   out = resp.getOutputStream();   out.write("please input fileName".getBytes());   out.close();  }  //获取文件流  in = getServletContext().getResourceAsStream(filePath+ File.separator+fileName);  System.out.println(in==null?true:false);  int length = in.available();    //设置返回消息头部信息  resp.setContentType("application/force-download");  resp.setHeader("Content-Length",String.valueOf(length));  resp.setHeader("content-disposition","attachment;filename=\""+fileName+"\"");  //输出文件到客户端  out = resp.getOutputStream();  int bytesend = 0 ;  byte[] buff = new byte[512];  while ((bytesend = in.read(buff))!= -1){   out.write(buff,0,bytesend);  }  in.close();  out.close(); }}

web.

 <servlet> <servlet-name>download</servlet-name> <servlet-class>com.learn.DownLoadServlet</servlet-class> <init-param>  <param-name>filePath</param-name>  <param-value>file</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>download</servlet-name> <url-pattern>/download</url-pattern> </servlet-mapping>

 

原标题:servlet下载文件(五)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录