站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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下就可以了


↑返回目录
前一篇: 菜鸟100分跪求一JAVA批量更新问题,急~~~~~
后一篇: 新闻访问一次,阅读次数就加一