十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1.最直接最简单的JSP文件下载,方式是把文件地址直接放到html页面的一个链接中。这样做的缺点是把文件在服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限)。这个就不写示例了。

创新互联公司专业为企业提供蜀山网站建设、蜀山做网站、蜀山网站设计、蜀山网站制作等企业网站建设、网页设计与制作、蜀山企业网站模板建站服务,十多年蜀山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
2.在服务器端把文件转换成输出流,写入到response,以response把文件带到浏览器,由浏览器来提示用户是否愿意保存文件到本地。(JSP文件下载示例如下)
- <%
 - response.setContentType(fileminitype);
 - response.setHeader("Location",filename);
 - response.setHeader("Cache-Control", "max-age=" + cacheTime);
 - response.setHeader("Content-Disposition", "attachment; filename=" + filename); //filename应该是编码后的(utf-8)
 - response.setContentLength(filelength);
 - OutputStream outputStream = response.getOutputStream();
 - InputStream inputStream = new FileInputStream(filepath);
 - byte[] buffer = new byte[1024];
 - int i = -1;
 - while ((i = inputStream.read(buffer)) != -1) {
 - outputStream.write(buffer, 0, i);
 - }
 - outputStream.flush();
 - outputStream.close();
 - inputStream.close();
 - outputStream = null;
 - %>
 
3.既然是JSP文件下载的话,还有一种JSP文件下载方式就是用Applet来实现文件的下载。不过客户首先得信任你的这个Applet小程序,由这个程序来接受由servlet发送来的数据流,并写入到本地。
servlet端示例
- public void service(HttpServletRequest req, HttpServletResponse res)
 - throws ServletException, IOException {
 - res.setContentType(" text/plain ");
 - OutputStream outputStream = null;
 - try {
 - outputStream = res.getOutputStream();
 - popFile(srcFile, outputStream)) ;//把文件路径为srcFile的文件写入到outputStream中。
 - } catch (IOException e) {
 - e.printStackTrace();
 - }
 - }
 
JApplet端示例
URLConnection con;