问答详情
源自:3-1 使用SmartUpload实现文件批量上传

源码和异常信息已贴出,求解决

package com.imooc.servlet;


import java.io.File;

import java.io.IOException;

import java.sql.SQLException;


import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


import com.jspsmart.upload.SmartUpload;


public class SmartUploadServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

doPost(req, resp);

}

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

//首先设置一下上传文件保存的路径

String filePath = getServletContext().getRealPath("/")+"images";

File file = new File(filePath);

if(!file.exists()){

file.mkdir();

}

SmartUpload su = new SmartUpload();

//初始化smartUpload对象

su.initialize(getServletConfig(), req, resp);

//上传文件大小

su.setMaxFileSize(1024*1024*10);

//上传所有文件大小

su.setTotalMaxFileSize(1024*1024*100);

//允许上传的文件类型

su.setAllowedFilesList("xls,txt,doc,pdf.gif,jpg");

String result = "上传成功!";

//设置不允许上传的文件类型

try {

su.setDeniedFilesList("rar,jsp,js");

//上传文件

su.upload();

int count = su.save(filePath);

System.out.println("上传成立了"+count+"个文件。");

} catch (Exception e) {

result = "上传失败!";

e.printStackTrace();

}

req.setAttribute("result", result);

req.getRequestDispatcher("jsp/02.jsp").forward(req, resp);

}


}

控制台:

五月 15, 2017 3:10:13 下午 org.apache.catalina.core.StandardWrapperValve invoke

严重: Servlet.service() for servlet [SmartUploadServlet] in context with path [/scxz] threw exception [Servlet execution threw an exception] with root cause

java.lang.ClassNotFoundException: com.jspsmart.upload.SmartUpload

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)

at com.imooc.servlet.SmartUploadServlet.doPost(SmartUploadServlet.java:27)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)


提问者:qq_柒分醉_03927370 2017-05-15 15:13

个回答

  • qq_柒分醉_03927370
    2017-05-15 15:27:41

    已解决