当前页面: 开发资料首页 → JSP 专题 → 关于commons-fileupload上传文件
关于commons-fileupload上传文件
摘要: 关于commons-fileupload上传文件
commons-fileupload-1.1.jar,commons-io-1.2.jar
放在WEB-INF/lib目录和TOMCAT_HOME/common/lib目录下
(Tomcat5.5)
test.jsp
<form action="save.jsp" enctype="multipart/form-data" method="POST">
enter your name: <input type="text" name="name">
select the file: <input type="file" name="file">
<input type="submit" value="submit">
</form>
save.jsp
<%@ page import="java.util.List"%>
<%@ page import="java.util.Iterator"%>
<%@ page import="java.io.File"%>
<%@ page import="org.apache.commons.fileupload.DiskFileUpload"%>
<%@ page import="org.apache.commons.fileupload.FileItem"%>
<%@page contentType="text/html;charset=GBK"%>
<%
DiskFileUpload fu = new DiskFileUpload();
fu.setSizeThreshold(4096);
fu.setSizeMax(1000000);
fu.setRepositoryPath("D://");
List fileItems = fu.parseRequest(request);
Iterator itr = fileItems.iterator();
while(itr.hasNext()) {
FileItem fi = (FileItem)itr.next();
File fNew= new File(application.getRealPath("/"), fi.getName());
fi.write(fNew);
}
%>
提示:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: javax/servlet/ServletInputStream
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.save_jsp._jspService(org.apache.jsp.save_jsp:81)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NoClassDefFoundError: javax/servlet/ServletInputStream
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:268)
org.apache.jsp.save_jsp._jspService(org.apache.jsp.save_jsp:62)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
--------------------------------------------------------------------------------
请各位帮忙,谢谢!
NoClassDefFoundError
找不到你的类
TOMCAT_HOME/common/lib目录下有servlet-api.jar包,不知道要怎么解决?
你把jar包都解压,然后话在你的目录的web-inf/classes下面
1.下载File upload的jar包commons-fileupload-1.1.jar,并将该文件拷贝到{$TOMCAT}/common/lib目录下(其中{$TOMCAT}为Tomcat的安装目录);
2.由于Fileupload子项目同时要用到另外一个项目commons-Beanutils,所以必须下载Beanutils,并将解压后的文件commons-beanutils.jar拷贝到{$TOMCAT}/common/lib目录下。
应该就可以了
楼主只要把你说的拿2个JAR文件放到你webapps/你的目录/web-inf/lib下就可以了
我的就是这样,OK的
<%@ page import="org.apache.commons.io.*"%>
直接把两个包放到WEB-INF/LIB,然后再IMPORT一下,就可以,我用FILEUPLOAD做的上传已经成功了!
是在工程里引入,不是在页面上IMPORT
JAR文件放到你webapps/你的目录/web-inf/lib下就可以了