小弟在用Smartupload上传图片时出现了这个问题,我的上传代码是在servlet层操作的,我的想法是想将图片上传到指定的文件夹,然后将路径存入数据库。希望各位大虾可以帮助小弟,小弟现在在做实训项目,所以很急,在此小弟拜求了
type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionjavax.servlet.ServletException: Error instantiating servlet class com.OlineBookStores.servlet.BookAction
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
java.lang.Thread.run(Unknown Source)root causejava.lang.NoClassDefFoundError: com/jspsmart/upload/SmartUploadException
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
java.lang.Thread.run(Unknown Source)note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.
我的上传代码是
//图书封面
SmartUpload su=new SmartUpload();
final int MAXFILESIZE=100000; //上传文件大小限制
String errMsg=null; //错误信息
boolean err=false; //错误标志
String fileName = "";
String fileType =""; String url="OlineBookStores/upload/"; //应保证在根目录中有此目录的存在
su.initialize(this.getServletConfig(),request,response);//初始化
try
{
final String upFileType="jpg|JPG|GIF|gif|bmp|BMP"; //上传文件类型
// String image=request.getParameter("bookImage");
su.upload();
int count = su.getSize();
if(count>MAXFILESIZE)
{
out.print ("<script>alert('上传失败!文件大小:"+count/1024+"K超出了限定的范围(最大"+ MAXFILESIZE/1024+"K)');this.history.go(-1);</script>");
}
else
{
com.jspsmart.upload.File myFile = su.getFiles().getFile(0);
if (!myFile.isMissing()) {
String myFileName=myFile.getFileName();//得到文件名
fileType=myFile.getFileExt();//得到文件扩展名
fileType=fileType.toLowerCase(); //将扩展名转换成小写
if (upFileType.indexOf(fileType)==-1){
err=true;
errMsg="文件"+myFileName+"上传失败!只允许上传以下格式的文件:"+upFileType;
}
}
if(err==false)
{
Calendar calendar = Calendar.getInstance();
String filename = String.valueOf(calendar.getTimeInMillis());
String saveurl=request.getRequestDispatcher("/")+url;
saveurl+=filename+"."+fileType; //保存路径
myFile.saveAs(saveurl,su.SAVE_PHYSICAL);
// getBookInfor.setBookImages(saveurl);
}
}
}
catch(SmartUploadException e)
{
System.out.println(e); }
type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionjavax.servlet.ServletException: Error instantiating servlet class com.OlineBookStores.servlet.BookAction
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
java.lang.Thread.run(Unknown Source)root causejava.lang.NoClassDefFoundError: com/jspsmart/upload/SmartUploadException
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
java.lang.Thread.run(Unknown Source)note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.
我的上传代码是
//图书封面
SmartUpload su=new SmartUpload();
final int MAXFILESIZE=100000; //上传文件大小限制
String errMsg=null; //错误信息
boolean err=false; //错误标志
String fileName = "";
String fileType =""; String url="OlineBookStores/upload/"; //应保证在根目录中有此目录的存在
su.initialize(this.getServletConfig(),request,response);//初始化
try
{
final String upFileType="jpg|JPG|GIF|gif|bmp|BMP"; //上传文件类型
// String image=request.getParameter("bookImage");
su.upload();
int count = su.getSize();
if(count>MAXFILESIZE)
{
out.print ("<script>alert('上传失败!文件大小:"+count/1024+"K超出了限定的范围(最大"+ MAXFILESIZE/1024+"K)');this.history.go(-1);</script>");
}
else
{
com.jspsmart.upload.File myFile = su.getFiles().getFile(0);
if (!myFile.isMissing()) {
String myFileName=myFile.getFileName();//得到文件名
fileType=myFile.getFileExt();//得到文件扩展名
fileType=fileType.toLowerCase(); //将扩展名转换成小写
if (upFileType.indexOf(fileType)==-1){
err=true;
errMsg="文件"+myFileName+"上传失败!只允许上传以下格式的文件:"+upFileType;
}
}
if(err==false)
{
Calendar calendar = Calendar.getInstance();
String filename = String.valueOf(calendar.getTimeInMillis());
String saveurl=request.getRequestDispatcher("/")+url;
saveurl+=filename+"."+fileType; //保存路径
myFile.saveAs(saveurl,su.SAVE_PHYSICAL);
// getBookInfor.setBookImages(saveurl);
}
}
}
catch(SmartUploadException e)
{
System.out.println(e); }
解决方案 »
- JavaEE项目想在网页播放视频
- 按照书上做了个简单的encodingFilter,但是只要把filter的信息一加入xml,就报错,为什么?
- JAVA自动发动邮件...
- Help! 读表问题 可以读出系统的Job表,自己建的表user怎么读不出来?
- hiernate 映射视图 里面都是Null 请高手帮忙
- 插记录到XML文件中问题
- JCS配置问题
- 请教各位关于JDOM的问题
- 本年度最超强疑问!!!请高人指点,新手关注!!!
- 帮我决定以下用那种方式建立这个软件工程!
- Java都能操作播放哪些声音文件?wav、midi、mp3。。。
- FreeMarker Template.process 不输出的做法
你有没有把jspsmartupload.jar包添加到工程里