📜  在Servlet中从服务器下载文件的示例

📅  最后修改于: 2021-01-09 13:00:48             🧑  作者: Mango

在Servlet中从服务器下载文件的示例

要从服务器下载文件,请参见以下简单示例。我假设您要下载的E驱动器中有home.jsp文件。如果有任何jar或zip文件,则可以直接提供指向该文件的链接。因此,无需编写要下载的程序。但是,如果有任何Java文件或JSP文件等,则需要创建一个程序来下载该文件。

在Servlet中从服务器下载文件的示例

在此示例中,我们将创建三个文件:

  • index.html
  • 下载Servlet.java
  • web.xml

该文件提供了下载文件的链接。

这是servlet文件,它读取文件的内容并将其写入流中以作为响应发送。为此,我们需要通知服务器,因此我们将内容类型设置为APPLICATION / OCTET-STREAM。


import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;

public class DownloadServlet extends HttpServlet {

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

response.setContentType("text/html");
PrintWriter out = response.getWriter();
String filename = "home.jsp"; 
String filepath = "e:\\"; 
response.setContentType("APPLICATION/OCTET-STREAM"); 
response.setHeader("Content-Disposition","attachment; filename=\"" + filename + "\""); 

FileInputStream fileInputStream = new FileInputStream(filepath + filename);
          
int i; 
while ((i=fileInputStream.read()) != -1) {
out.write(i); 
} 
fileInputStream.close(); 
out.close(); 
}

}


此配置文件向服务器提供有关Servlet的信息。





DownloadServlet
DownloadServlet



DownloadServlet
/servlet/DownloadServlet