Olá pessoal.
Sou novo em java, e não sei como pegar o arquivo do JSP (fazendo o UPLOAD) e passando pelo servlet, enviar para a classe que recebe e le o arquivo, fazendo insert na base. para vocês testarem, em casa, só tirar os inserts, e tirar o comentário do TESTE do System.out.println.
o insert ta funcionando, só que não sei como pegar o arquivo e jogar no FILE para ser lido no workbook.
jsp:
[code]<%@ page language=“java” contentType=“text/html; charset=utf-8”
pageEncoding=“utf-8”%>
[/code]
classe java:
import java.io.File;   
import java.sql.Connection;   
import java.sql.PreparedStatement;   
  
import javax.servlet.http.HttpServletRequest;   
import javax.servlet.http.HttpServletResponse;   
  
import jxl.Cell;   
import jxl.Sheet;   
import jxl.Workbook;   
  
import org.apache.catalina.util.RequestUtil;   
import org.apache.commons.fileupload.disk.DiskFileItemFactory;   
import org.apache.commons.fileupload.servlet.ServletFileUpload;   
import org.apache.poi.hssf.record.RecordFactoryInputStream;   
  
public class Upload {   
  
   private static Connection conn;   
   private static int i = 0;   
   private static String colunaA;   
   private static String colunaB;   
   private static String colunaC;   
   private static String colunaD;   
   private static String colunaE;   
   private static String colunaF;   
   private static String colunaG;   
   private static String colunaH;   
   private static String colunaI;   
   private static String colunaJ;   
   private static String colunaK;   
  
   public boolean anexos(HttpServletRequest request,   
         HttpServletResponse response) throws Exception {   
  
      // DÚVIDA AQUI... NÃO SEI FAZER PARA RECEBER O ARQUIVO DO UPLOAD, E CONVERTER PARA "FILE" DA API JEXCEL ABAIXO   
      if (ServletFileUpload.isMultipartContent(request)) {   
  
         ServletFileUpload servletFileUpload = new ServletFileUpload(   
               new DiskFileItemFactory());   
  
         /* AQUI NÃO CONSIGO RECEBER O ARQUIVO E CONVERTER PARA "FILE" PARA PODER FAZER OS INSERTS RECEBENDO NO WORKBOOK*/  
         File file = new File("Lista_TELECOM.xls");      
               
  
         if (AQUI VOU VALIDAR O NOME DO ARQUIVO) {   
  
            Workbook workbook = Workbook.getWorkbook(NÃO SEI COMO LER O ARQUIVO AQUI);   
  
            /* pega a primeira planilha dentro do arquivo XLS */  
            Sheet sheet = workbook.getSheet(0);   
  
            // Pega a quantidade de linhas da planilha   
            int linhas = sheet.getRows();   
  
            /* pega os valores das células como se numa matriz */  
            for (i = 1; i < linhas; i++) {   
               Cell celA = sheet.getCell(0, i);   
               Cell celB = sheet.getCell(1, i);   
               Cell celC = sheet.getCell(2, i);   
               Cell celD = sheet.getCell(3, i);   
               Cell celE = sheet.getCell(4, i);   
               Cell celF = sheet.getCell(5, i);   
               Cell celG = sheet.getCell(6, i);   
               Cell celH = sheet.getCell(7, i);   
               Cell celI = sheet.getCell(8, i);   
               Cell celJ = sheet.getCell(9, i);   
               Cell celK = sheet.getCell(10, i);   
  
               /* pega os conteúdos das células */  
               colunaA = celA.getContents();   
               colunaB = celB.getContents();   
               colunaC = celC.getContents();   
               colunaD = celD.getContents();   
               colunaE = celE.getContents();   
               colunaF = celF.getContents();   
               colunaG = celG.getContents();   
               colunaH = celH.getContents();   
               colunaI = celI.getContents();   
               colunaJ = celJ.getContents();   
               colunaK = celK.getContents();   
  
               /*  
                * // TESTE para Imprimir Valores  
                * System.out.println(colunaA); System.out.println(colunaB);  
                * System.out.println(colunaC); System.out.println(colunaD);  
                * System.out.println(colunaE); System.out.println(colunaF);  
                * System.out.println(colunaG); System.out.println(colunaH);  
                * System.out.println(colunaI); System.out.println(colunaJ);  
                * System.out.println(colunaK);  
                */  
  
               /*  
                * Executa o insert para inserir os dados no banco de testes  
                * Postgres  
                */  
               PreparedStatement ps = conn   
                     .prepareStatement("INSERT INTO Cad_Cards(car,linha,apn_utz,conta,operadora,plano,sts_simcard,data_atv,id,sts_linha,imsi)"  
                           + "VALUES(?,?,?,?,?,?,?,?,?,?,?)");   
               ps.setString(1, colunaA);   
               ps.setString(2, colunaB);   
               ps.setString(3, colunaC);   
               ps.setString(4, colunaD);   
               ps.setString(5, colunaE);   
               ps.setString(6, colunaF);   
               ps.setString(7, colunaG);   
               ps.setString(8, colunaH);   
               ps.setString(9, colunaI);   
               ps.setString(10, colunaJ);   
               ps.setString(11, colunaK);   
  
               ps.executeUpdate();   
               ps.close();   
  
            }   
            workbook.close();   
            conn.close();   
               
  
         } else {   
            System.out.println("Nome de arquivo inválido");   
            return false;   
         }   
      }   
      return true;   
   }   
}  
eu não sei fazer com que o arquivo enviado pelo jsp