要从服务器下载文件, 请参见以下简单示例。我假设你要下载的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开发)
评论前必须登录!
注册