jsp文件下载工具类(一)
该下载功能同样采用jspUpload组件来完成。其实实现起来很简单,如下:jsp下载页面源代码:
<%@ page contentType="text/html;charset=GBK"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body><div align="center" style="font-size:25">下载列表:<a href="DownServlet?filename=file1">文件一</a> |<a href="DownServlet?filename=file2">文件二</a></div></body></html>
Servlet源代码:
package com.sun.demo;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.jspsmart.upload.SmartUpload;import com.jspsmart.upload.SmartUploadException;public class DownServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=GBK");//只是为了得到一个要下载的文件的名称String filename = request.getParameter("filename");if (filename != null && filename.equals("file1")) {filename = "file1.jsp";}if (filename != null && filename.equals("file2")) {filename = "file2.jsp";}SmartUpload su = new SmartUpload();su.initialize(this.getServletConfig(), request, response);//这里只是为了得到一个服务器上的文件路径String path = this.getServletContext().getRealPath("resource");String strfile = path + "/" + filename;try {/** * 下载文件 *///取消文件头设置,使用文件本身的扩展名su.setContentDisposition(null);//下载文件su.downloadFile(strfile);} catch (SmartUploadException e) {e.printStackTrace();}}}
我们只需在web.xml中配置一下该servlet即可
<servlet><servlet-name>DownServlet</servlet-name><servlet-class>com.sun.demo.DownServlet</servlet-class></servlet><servlet-mapping><servlet-name>DownServlet</servlet-name><url-pattern>/DownServlet</url-pattern></servlet-mapping>
ok,下载功能实现,注意一点,你要下载的文件是存放在我的项目的webRoot目录下的resource文件夹下面的文件,只要注意这一点,这个程序就可以跑起来了。
页:
[1]