Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    111

    Excel e POI - Servlet non risponde

    Questa è una servlet funzionante, un esempio tratto da onlava.com, non riesco a capire perché, dopo aver mappato la servlet su Tomcat, quando la richiamo da browser Firefox è in continuo "Trasferimento dati da xxx.it", potrebbe continuare all'infinito, senza nessun timeout del browser.
    Ho scaricato le 3 librerie POI, ultime release, copiate sotto la /lib della web application, non va.
    Se invece cancello tutto il codice e lascio solo l'impostazione del ContentType, ricompilo e richiamo la servlet da browser la servlet risponde immediatamente, anche se poi ovviamente l'output gestito da excel non è interpertato con successo, ma ci sta visto che non scrivo assolutamente niente.
    Bah... suggerimenti? sembra così banale per non funzionare.. inoltre è stranissimo che sia in continuo trasferimento, almeno ci fosse un errore, ma niente...


    codice:
    import java.io.*;
    import java.net.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.apache.poi.hssf.usermodel.*;
    
    public class HSSFCreate extends HttpServlet {
        public void init(ServletConfig config) throws ServletException {
            super.init(config);  
        }
    
        public void destroy() {
        }
    
        /** Processes requests for both HTTP GET and POST methods.
         * @param request servlet request
         * @param response servlet response
         */
    
        protected void processRequest(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
    
            response.setContentType("application/vnd.ms-excel");
            HSSFWorkbook wb = new HSSFWorkbook();
            HSSFSheet sheet = wb.createSheet("new sheet");
    
            // Create a row and put some cells in it. Rows are 0 based.
            HSSFRow row     = sheet.createRow((short)0);
    
            // Create a cell and put a value in it.
            HSSFCell cell   = row.createCell((short)0);
    
            cell.setCellValue(1);
    
            // Or do it on one line.
            row.createCell((short)1).setCellValue(1.2);
            row.createCell((short)2).setCellValue("This is a string");
            row.createCell((short)3).setCellValue(true);
            // Write the output 
            OutputStream out = response.getOutputStream();
            wb.write(out);
            out.close();
        }
    
        /** Handles the HTTP <code>GET</code> method.
         * @param request servlet request
         * @param response servlet response
         */
    
        protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
            processRequest(request, response);
        }
    
        /** Handles the HTTP POST method.
         * @param request servlet request
         * @param response servlet response
         */
    
        protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
            processRequest(request, response);
        }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    111
    A nessuno è mai capitato??!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    111
    Ho delle informazioni in più.
    Ho provato a mettere un file .xls ed una .jpg in una cartella della mia applicazione raggiungibile dall'esterno.
    Se digito l'inidirizzo assoluto delle due risorse, la jpg viene visualizzata sul browser, mentre col file excel il borwser è in continua attesa, stallo totale.
    Non è un problema delle librerie, ma di Apache? Tomcat?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.