jsp 上传文件夹,jsp多文件上传

jsp 上传文件夹,jsp多文件上传,JSP组件commons-fileupload实现文件上传

这篇文章主要为大家详细介绍了JSP组件公共-文件上传实现文件上传,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了JSP使用公共-文件上传实现文件上传代码,供大家参考,具体内容如下

1、准备:

将commons-fileupload-1.1.zip和commons-io-1.1.zip复制到WEB-INFlib 目录下

2、首先是Servlet

:FileUpload.java

打包小型应用程序

导入Java。io。文件;

导入Java。io。io异常;

导入Java。io。版画家;

导入Java。util。*;

导入Java。util。正则表达式。图案;

导入Java。util。正则表达式。matcher

导入javax。servlet。servlet异常;

导入javax。servlet。http。http servlet

导入javax。servlet。http。http servlet请求;

导入javax。servlet。http。http servlet响应;

导入org。阿帕奇。公地。文件上传。文件项目;

导入组织。阿帕奇。公地。文件上传。文件上传异常;

导入组织。阿帕奇。公地。文件上传。磁盘。磁盘fileitemfactory

导入org。阿帕奇。公地。文件上传。servlet。servlet文件上传;

公共类文件上传扩展HttpServlet {

私有字符串upload path= E: add net file ;//要上传文件的目录

私有文件tempPath=新文件( E: tempFile );//存放上传的文件的目录

公共void doGet(HttpServletRequest请求,HttpServletResponse响应)

引发ServletException,IOException {

}

公共void doPost(http servlet请求请求,HttpServletResponse响应)

引发ServletException,IOException {

回应。设置内容类型( text/html;charset=GB 2312’);

回应。setcharacterencoding( GB 2312 );

PrintWriter out=响应。getwriter();

out.println(请求内容的长度为:请求。get contentlength());

out.println(请求内容的类型为:请求。获取内容类型());

DiskFileItemFactory factory=new DiskFileItemFactory();

工厂。设置存储库(tempPath);

工厂。setsize阈值(4096);

servlet文件上传上传=新servlet文件上传(工厂);

上传。setsizemax(1000000);

列表?fileitems=null

尝试{

fileitems=upload.parseRequest(请求);

迭代器?迭代器=文件项。迭代器();

字符串正则表达式=。\(.)$;

String[] errortype={ .请执行","。 com , .cgi , .ASP };

模式p=模式。编译(regex);

while(iterator.hasNext()){

FileItem item=(FileItem)迭代器。next();

如果(!item.isFormField()){

字符串名称=项目。getname();

长尺寸=项目。getsize();

if(name==null | | name。等于(“”)size==0)

继续;

匹配器m=p.matcher(名称);

if(m.find()){

for(int temp=0;temperrortype.length温度){

if(m.group(1)).endsWith(errortype[temp])

抛出新的IOException(名称):错误的类型);

}

尝试{

项目.写入(新文件(tempPath,m . group(1)));

出去。println(name size br/);

out.println(上传成功);

}catch(异常e){

出去。println( 333 e);

}

}

否则{

抛出新的IOException("上传失败");

}

}

}

}catch(IOException e){

出去。println( 222 e);

}

catch(FileUploadException e1){

E1。printstacktrace();

出去。println( 111 E1);

}

}

公共void init()引发ServletException {

如果(!新文件(上传路径)。isDirectory())

新文件(上传路径)。mkdir();

如果(!tempPath.isDirectory())

临时路径。mkdir();

}

public void destroy(){

超级棒。destroy();

}

}

3、其次是html:Uploadfile.html

!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN

超文本标记语言

titleUploadfilel.html/title

meta http-equiv= keywords content= keyword 1,keyword2,keyword3

meta http-equiv= description content=这是我的页面

meta http-equiv= content-type content= text/html;charset=UTF-8

!-link rel=样式表 type= text/CSS href= ./styles.css -

/头

身体

form action=/first JSP/servlet/file upload method= post enctype= multipart/form-data name= form 1

输入类型=文件名称=文件/

输入类型=提交名称=提交值=上传/

/表单

表单action=/first JSP/servlet/file upload method= post enctype= multipart/form-data name= upload form

桌子

tr

(美)财政部(财政部)

文件1:输入类型=file name=X size=40/

/td

/tr

tr

(美)财政部(财政部)

文件2:输入类型=file name=Y size=40/

/td

/tr

tr

(美)财政部(财政部)

文件3:输入类型=file name=Z size=40/

/td

/tr

/表格

输入类型=提交名称=上传值=开始上传/

/表单

/body

/html

4、最后是配置web.xml

小型应用程序

描述这是我的J2EE组件的描述/描述

显示名称这是我的J2EE组件的显示名称/显示名称

servlet名称文件上传/servlet-name

类servlet .文件上传/servlet-class

/servlet

小型应用程序映射

servlet名称文件上传/servlet-name

全球资源定位器(Uniform Resource Locator)模式/servlet/文件上传/url模式

首先运行html,servlet处理上传请求

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

jsp 上传文件夹,jsp多文件上传