常见的几种jsp和struts中文件上传方法总结
使用FileUpload组件上传文件
文件上传在web应用中非常普遍,要在jsp环境中实现文件上传功能是非常容易的,因为网上有许多用java开发的文件上传组件,本文以commons-fileupload组件为例,为jsp应用添加文件上传功能。
common-fileupload组件是apache的一个开源项目之一,可以从http://jakarta.apache.org/commons/fileupload/下载。用该组件可实现一次上传一个或多个文件,并可限制文件大小。
下载后解压zip包,将commons-fileupload-1.0.jar复制到tomcat的webapps\你的webapp\WEB-INF\lib\下,目录不存在请自建目录。
新建一个servlet: Upload.java用于文件上传:
- public?class?Upload?extends?HttpServlet?{ ??
- ??
-
????private?String?uploadPath?=?"C:\\upload\\";???
-
????private?String?tempPath?=?"C:\\upload\\tmp\\";???
- ??
-
????public?void?doPost(HttpServletRequest?request, ??
- ????HttpServletResponse?response) ??
-
????throws?IOException,?ServletException ??
- ????{ ??
- ????} ??
- } ??
- 在doPost()方法中,当servlet收到浏览器发出的Post请求后,实现文件上传。以下是示例代码: ??
-
public?void?doPost(HttpServletRequest?request, ??
- HttpServletResponse?response) ??
-
throws?IOException,?ServletException ??
- { ??
-
????try?{ ??
-
????????DiskFileUpload?fu?=?new?DiskFileUpload(); ??
-
??????????
-
????????fu.setSizeMax(4194304); ??
-
??????????
-
????????fu.setSizeThreshold(4096); ??
-
??????????
- ????????fu.setRepositoryPath(tempPath); ??
- ??
-
????????