Upload de imagem com jsp e servlet

boa tarde pessoal, estou a tentar fazer upload de imagens seguindo este tutorial http://www.blog.edersonlima.net/?p=115, o que acontece é que não obtenho nenhum erro mais também não faz o upload. Eis o código:

formulario

                    <form action ="../UploadController" name ="frmproduto" method="post" enctype="multipart/form-data">
                        <legend>Novo produto</legend>
                        <label for="pais" class="cor-label">Imagem</label>
                        <input type ="file" name ="arquivo"/>
                        <input type ="submit" class ="btn btn-primary" value="Registar"/>
                    </form>

classe upload

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package util;

import java.io.File;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.FilenameUtils;

/**
 *
 * @author vanilson
 */
public class Upload {

    public Upload() {
    }

    
    public boolean anexos(HttpServletRequest request, HttpServletResponse response) throws Exception {

        if (ServletFileUpload.isMultipartContent(request)) {

            int cont = 0;

            ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());

            List fileItemsList = null;

            try {
                fileItemsList = servletFileUpload.parseRequest(request);
            } catch (FileUploadException e) {
                e.printStackTrace();
            }

            String optionalFileName = "";
            FileItem fileItem = null;

            Iterator it = fileItemsList.iterator();

            do {

                cont++;

                FileItem fileItemTemp = (FileItem) it.next();

                if (fileItemTemp.isFormField()) {
                    if (fileItemTemp.getFieldName().equals("file")) {
                        optionalFileName = fileItemTemp.getString();
                    }
                } else {
                    fileItem = fileItemTemp;
                }

                if (cont != (fileItemsList.size())) {
                    if (fileItem != null) {

                        String fileName = fileItem.getName();
                        

                        if (fileItem.getSize() > 0) {

                            if (optionalFileName.trim().equals("")) {
                                fileName = FilenameUtils.getName(fileName);
                            } else {
                                fileName = optionalFileName;
                            }

                            String dirName = "/P2012-09/web/WEB-INF/imgupload/"; //caminho para o projeto

                            File saveTo = new File(dirName + fileName);
                            System.out.println("caminho: " + saveTo.toString() );
                            try {
                                fileItem.write(saveTo);
                            } catch (Exception e) {
                            }

                        }
                    }
                }
            } while (it.hasNext());
            return true;
        } else {
            return false;
        }
    }
}

servlet

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        processRequest(request, response);
        PrintWriter out = response.getWriter();
	try {
		if (new Upload().anexos(request, response)) {
			out.print("Ficheiro enviado!");
		} else {
			out.print("Ficheiro não enviado!");
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
    }

Bom, se vc seguiu corretamente o tutorial e não está dando nenhuma exception, tenta mudar o path:

String dirName = "/P2012-09/web/WEB-INF/imgupload/"; 

Coloca outro caminho, fora da aplicação pra ver se ele salva a imagem.

já tentei isso e nada…

já fiz desse jeito e nada, se alguem poder testar o codigo no netbeans agradeceria…

consegui salvar fazer o upload só que o caminho não está do jeito que eu desejo, uso o ubuntu e o caminho está do seguinte jeito:

String dirName = "/home/vanilson/NetBeansProjects/VanilsonLourenco6379/P2012-09/web/img/imgupload/"; 

como podem ver o caminho está um pouco longo não tem como salvar sem colocar esse caminho todo?

[quote=Vanilson]consegui salvar fazer o upload só que o caminho não está do jeito que eu desejo, uso o ubuntu e o caminho está do seguinte jeito:

String dirName = "/home/vanilson/NetBeansProjects/VanilsonLourenco6379/P2012-09/web/img/imgupload/"; 

como podem ver o caminho está um pouco longo não tem como salvar sem colocar esse caminho todo?[/quote]

Cara pega o caminho da sua aplicação através do ServletContext:

String dirName = request.getServletContext().getRealPath("/img/imgupload");

A sua imagem deve estar indo pra alguma pasta temporária por exemplo um projeto Java Web no Eclipse + Tomcat o projeto
e ‘deploiado’ em

.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\seu-projeto-aqui

Ah mais uma coisa se quiser utilizar a Servlet 3.0 ela já tem suporte a upload de forma nativa, assim não e mais preciso
utilizar cammons-io e cammons-fileupload.

http://java-x.blogspot.com.br/2010/08/file-upload-with-servlet-30.html