个性化阅读
专注于IT技术分析

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

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

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

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

  • index.html
  • DownloadServlet.java
  • web.xml

index.html

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

<a href="servlet/DownloadServlet">download the jsp file</a>

DownloadServlet.java

这是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(); 
}

}

web.xml文件

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

<web-app>

<servlet>
<servlet-name>DownloadServlet</servlet-name>
<servlet-class>DownloadServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>DownloadServlet</servlet-name>
<url-pattern>/servlet/DownloadServlet</url-pattern>
</servlet-mapping>

</web-app>

下载此示例(无IDE开发)

下载此示例(使用Myeclipse IDE开发)

下载此示例(使用Eclipse IDE开发)

下载此示例(使用Netbeans IDE开发)

赞(0) 打赏
未经允许不得转载:srcmini » Servlet从服务器下载文件的示例
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏