【ZT】Jsp/Servlet:实现文件上传与下载【三】

12 篇文章 0 订阅
6.测试
    download.jsp显示下载选项,LoadFile.javaServlet)负责下载文件。
download.jsp
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
    <title>download page</title>
</head>
<body>
    <href=loadFile>Download:test.zip</a>
</body>
</html>
 
LoadFile.java
package com.zj.sample;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class LoadFile extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
           throws IOException, ServletException {
       OutputStream o = response.getOutputStream();
       byte b[] = new byte[1024];
       // the file to download.
       File fileLoad = new File("d:/temp""test.rar");
       // the dialogbox of download file.
       response.setHeader("Content-disposition""attachment;filename="
              "test.rar");
       // set the MIME type.
       response.setContentType("application/x-tar");
       // get the file length.
       long fileLength = fileLoad.length();
       String length = String.valueOf(fileLength);
       response.setHeader("Content_Length", length);
       // download the file.
       FileInputStream in = new FileInputStream(fileLoad);
       int n = 0;
       while ((n = in.read(b)) != -1) {
           o.write(b, 0, n);
       }
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)  throws IOException, ServletException {
       doGet(request, response);
    }
}
 
web.xml(注册servlet
<servlet>
    <servlet-name>LoadFileServlet</servlet-name>
    <servlet-class>com.zj.sample.LoadFile</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>LoadFileServlet</servlet-name>
    <url-pattern>/loadFile</url-pattern>
</servlet-mapping>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值