100分求助,struts上传文件的NoSuchMethodError

ericsion 2005-07-06 11:04:49
我是一个有2,3年java底层经验的开发人员,近日由于小组变更不得不学习struts,我照做了一个struts上传文件的例子,但每每选择文件提交后总出现
Servlet.service() for servlet action threw exception
java.lang.NoSuchMethodError: org.apache.commons.fileupload.FileUpload.setSizeMax(I)V
at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:220)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:934)
......]

开发环境 eclipse 3.1 wtp 1.0
struts 1.2.7
tomcat 5.5
jkd 1.5.0_04

请各位WEB同僚们帮我解答一下,这个问题。谢谢。
我的原码如下:


-----------------upload.jsp-----------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<html:form action="/UploadsAction.do" enctype="multipart/form-data">
<html:file property="upFile"/>
<html:submit/>
</html:form>
</body>
</html>


-----------------UploadsFrom----------------
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.*;
import org.apache.struts.upload.*;

public class UploadsForm extends ActionForm{

public static final String ERROR_PROPERTY_MAX_LENGTH_EXCEEDED = "org.apache.struts.webapp.upload.MaxLengthExceeded";
protected FormFile upFile = null;
public void setUpFile(FormFile upFile){
this.upFile = upFile;
}

public FormFile getUpFile(){
return upFile;
}

public ActionErrors validate(ActionMapping mapping, HttpServletRequest request){
ActionErrors errors = null;
// has the maximum length been exceeded?
Boolean maxLengthExceeded = (Boolean)request.getAttribute(MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED);
if ((maxLengthExceeded != null) && (maxLengthExceeded.booleanValue())){
errors = new ActionErrors();
errors.add(ERROR_PROPERTY_MAX_LENGTH_EXCEEDED, new ActionError("maxLengthExceeded"));
}
return errors;
}
}


-----------------UploadsAction--------------
import java.io.*;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.upload.FormFile;

public class UploadsAction extends Action {

public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws Exception{
if(form instanceof UploadsForm){
String encoding = request.getCharacterEncoding();
if(encoding != null && encoding.equalsIgnoreCase("utf-8")){
response.setContentType("text/html;charset=gb2312");
}
UploadsForm upForm = (UploadsForm)form;
try{
FormFile upFile = upForm.getUpFile();
File path = new File("c:\\temp");
if(!path.exists()){
path.mkdirs();
}
InputStream fin = upFile.getInputStream();
OutputStream fout = new FileOutputStream("c:\\temp\\"+upFile.getFileName());
byte[] buffer = new byte[4096];
int readByte = 0;
while((readByte = fin.read(buffer,0,4096))>0){
fout.write(buffer,0,readByte);
}
fin.close();
fout.close();

}catch(Exception e){
e.printStackTrace();
}
return mapping.findForward("success");
}else{
return null;
}
}
}
-----------------UploadsFrom----------------
...全文
90 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
struts配置好了吗?
hm8328 2005-07-06
  • 打赏
  • 举报
回复
NoSuchMethodError
是没有找到相关的包引起的...看看你的jar包 服务器是否没有引用到

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧