Upload de arquivo JSP

olá pessoal, tenho uma tela em HTML onde o usuario clicka em “procurar arquivo” e então ele seleciona o arquivo e envia para o servlet.
Até ai tudo bem, mas preciso saber como que eu recebo esse arquivo no meu servlet e salvo este arquivo em um banco de dados MySql …
Alguém tem algum material que eu possa dar uma estudada ?
Obrigado pela atenção. :lol:

http://www.guj.com.br/posts/list/0/114496.java

Estou com uma duvida … no exemplo passado pelo rof20004 o dono do tuto coloca o form como sendo do tipo “multipart/form-data”.
No exemplo dele, ele queria fazer um upload de uma imagem para o servidor, mas no meu caso eu quero fazer upload de uma tabela de excel, neste caso, meu form tb tem que ser do tipo “multipart/form-data” ?

hamister… eu faço assim, para excel:

[code]<%@ page import =“br.com.simcard.Upload” %>
<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1” pageEncoding=“ISO-8859-1”%>

SIM Cards .canto { top: 15px; }
Arquivo para Upload :

Upload


Aguarde, carregando...
Isso pode levar alguns minutos.


Voltar

[/code]

servlet:

package servlet.br.com.simcard;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;

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 javax.servlet.http.HttpSession;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import br.com.simcard.Upload;


@WebServlet("/ServletUpload")
public class ServletUpload extends HttpServlet{
	private static final long serialVersionUID = 1L;
	
	public ServletUpload() {
		super();
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws IOException {
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();

		boolean isMultipartContent = ServletFileUpload
				.isMultipartContent(request);
		if (!isMultipartContent) {
			out.println("<html>");
			out.println("<head>");
			out.println("</head>");
			out.println("<body>");
			out.println("<center>");
			out.println("<br>");
			out.println("Erro no Nome do Arquivo<br/>");
			out.println("</center>");
			out.println("</body>");
			out.println("</html>");
			
			return;
		}

		FileItemFactory factory = new DiskFileItemFactory();
		ServletFileUpload upload = new ServletFileUpload(factory);
		try {
			List<FileItem> fields = upload.parseRequest(request);
			Iterator<FileItem> it = fields.iterator();
			
			while (it.hasNext()) {
				out.println("<tr>");

				FileItem fileItem = it.next();
				//boolean isFormField = fileItem.isFormField();
				if (fileItem.getName() != null) {
					
					try {
										
						HttpSession session = request.getSession();
						String login = (String) session.getAttribute("loginUsuario");
					
						if (new Upload().anexos(login, fileItem.getName(), response)) {
			
							out.println("<html>");
							out.println("<head>");
							out.println("</head>");
							out.println("<body>");
							out.println("<center>");
							out.println("<br>");
							out.println("Arquivo gravado com Sucesso!");
							out.println("</center>");
							out.println("</body>");
							out.println("</html>");

						} else {
							out.println("<html>");
							out.println("<head>");
							out.println("</head>");
							out.println("<body>");
							out.println("<center>");
							out.println("<br>");
							out.println("Erro ao enviar arquivo!<br><br> Nome e/ou Tipo Inválido(s)");
							out.println("</center>");
							out.println("</body>");
							out.println("</html>");
							
						}

						out.println("<html>");
						out.println("<head>");
						out.println("</head>");
						out.println("<body>");
						out.println("<center>");
						out.println("<br/>" + "<br/>" + "<br/>"
								+ "<a href='uploadArquivo.jsp'>Voltar</a>");
						out.println("</center>");
						out.println("</body>");
						out.println("</html>");

						out.close();
						
					} catch (Exception e) {
						e.printStackTrace();
						
					}

				}

			}
			out.println("</table>");
		} catch (FileUploadException e) {
			e.printStackTrace();
			out.println("<html>");
			out.println("<head>");
			out.println("</head>");
			out.println("<body>");
			out.println("<center>");
			out.println("<br>");
			out.println("Erro Interno");
			out.println("</center>");
			out.println("</body>");
			out.println("</html>");

		}
		out.println("<html>");
		out.println("<head>");
		out.println("</head>");
		out.println("<body>");
		out.println("<center>");
		out.println("<br>");
		out.println("Erro Interno");
		out.println("</center>");
		out.println("</body>");
		out.println("</html>");
		
		out.println("<html>");
		out.println("<head>");
		out.println("</head>");
		out.println("<body>");
		out.println("<center>");
		out.println("<br/>" + "<br/>" + "<br/>"
				+ "<a href='uploadArquivo.jsp'>Voltar</a>");
		out.println("</center>");
		out.println("</body>");
		out.println("</html>");

		out.close();
	}
	
}

Classe que o Servlet manda:

package br.com.simcard;

import java.io.File;
import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.http.HttpServletResponse;

import jxl.read.biff.BiffException;

public class Upload {

public boolean anexos(String login, String caminho, HttpServletResponse response)
		throws Exception, IOException, BiffException,
		ClassNotFoundException, SQLException {

	if ((caminho != null)) {

		File file = new File(caminho);
		System.out.println(file);
		if (file.toString().contains("TELECOM")) {
			  
			//LeituraArquivoPOI vr = new LeituraArquivoPOI(file, login);
			VerificarRegistroTelecom vr = new VerificarRegistroTelecom(file, login);
			  
		} else if (file.toString().contains("CTR")
				|| file.toString().contains("NANOCOMM")
				|| file.toString().contains("TMPORTO")) {

			VerificarRegistroCtr vr = new VerificarRegistroCtr(file, login);
	
		} else if (file.toString().contains("GATEWAY")) {
				
			VerificarRegistroGate vr = new VerificarRegistroGate(file, login);

	} else {
			System.out.println("Nome do arquivo inválido");
			return false;
		}
	}
	return true;
}

}[code]

abs