Upload

Eai pessoal…

To com varias duvidas, agradeceria se alguem pudesse me ajudar…

To tentando fazer um upload de imagem, porem quando vou fzr o upload me deparo com o seguinte erro :

[color=red]java.lang.LinkageError: loader constraint violation: when resolving method “org.apache.commons.fileupload.servlet.ServletFileUpload.(Lorg/apache/commons/fileupload/FileItemFactory;)V” the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, controller/inserir/ServletUpload, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, org/apache/commons/fileupload/servlet/ServletFileUpload, have different Class objects for the type org/apache/commons/fileupload/FileItemFactory used in the signature
controller.inserir.ServletUpload.doGet(ServletUpload.java:46)
controller.inserir.ServletUpload.doPost(ServletUpload.java:37)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)[/color]

minha servlet Upload ta assim:

[code]public class ServletUpload extends HttpServlet{

//Initialize global variables
public void init() throws ServletException {

}

//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) 
                   throws ServletException, IOException {
    doGet(request, response);
}


//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	boolean isMultiPart = FileUpload.isMultipartContent(request);
    if (isMultiPart) {
    	FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        String formulario = "";
        try {
        	List items = upload.parseRequest(request);
        	Iterator iter = items.iterator();
        	while (iter.hasNext()) {
        		FileItem item = (FileItem) iter.next();
                if (item.getFieldName().equals("tipoForm")) {
                	formulario = item.getString();
                }
                if (!item.isFormField()) {
                	if (item.getName().length() > 0) {
                		this.inserirImagemDiretorio(item);
                    }
                }
           }

        } 
        catch (FileUploadException ex) {
        	ex.printStackTrace();
        } 
        catch (Exception ex) {
        	ex.printStackTrace();
        }
    }
}

private void inserirImagemDiretorio(FileItem item) throws IOException {
	//Pega o diretório /logo dentro do diretório atual de onde a 
    //aplicação está rodando
    String caminho = getServletContext().getRealPath("/logo") + "/";
    
    // Cria o diretório caso ele não exista
    File diretorio = new File(caminho);
    if (!diretorio.exists()){
    	diretorio.mkdir();
    }

    // Mandar o arquivo para o diretório informado
    	String nome = item.getName();
        String arq[] = nome.split("\\\\");
        for (int i = 0; i < arq.length; i++) {
            nome = arq[i];
        }
        File file = new File(diretorio, nome);
        FileOutputStream output = new FileOutputStream(file);
        InputStream is = item.getInputStream();
        byte[] buffer = new byte[2048];
        int nLidos;
        while ((nLidos = is.read(buffer)) >= 0) {
        	output.write(buffer, 0, nLidos);
        }
        output.flush();
        output.close();
}

}[/code]

Alguém tem ideia do porque do erro?!

Outra duvida é, se eu quiser instancia um objeto com o caminho dessa imagem?! como eu faria? Qual seria o parametro pro objeto!?

Valeu!