Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [J2EE] Mappare un file JSP in WEB.xml???

    Ciao,
    ho un problema, ora vi posto i files e poi ve lo spiego:

    1) index.JSP
    codice:
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Esempio JSP JDBC</title>
        </head>
        <body>
            
            
            <%@ page language="java" import="java.sql.*" %>
            
            <%
                Connection con = null;
                try {
                    // Carica il file di class del driver
                    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                    
                    // Crea una connessione all'origine dati ODBC Catalogo Film
                    con = DriverManager.getConnection("jdbc:odbc:Catalogo Film", "", "");
                    
                    // Crea lo statement
                    Statement statement = con.createStatement();
                    
                    // Utilizza lo statement creato per selezionare i dati dalla
                    // tabella Titoli.
                    ResultSet rs = statement.executeQuery("SELECT * FROM Titoli");
                    
                    // Itera sul ResultSet
                    %>
                    
                    <table border="1">
                    <tr>
                    <th>Titolo</th><th>Valutazione</th><th>Prezzo</th><th>Quantità</th>
                    <%
                    
                    while(rs.next()) {
                        // Ottiene Nome_titolo, una stringa
                        out.println("<tr>\n<td>" + rs.getString("Nome_titolo") + "</td>");
                        
                        // Ottiene la valutazione
                        out.println("<td>" + rs.getString("rating") + "</td>");
                        
                        // Ottiene il prezzo
                        out.println("<td>" + rs.getString("prezzo") + "</td>");
                        
                        // Ottiene la quantità
                        out.println("<td>" + rs.getString("quantità") + "</td>\n</tr>");
                    }
                    // Chiude il ResultSet
                    rs.close();
                }
                catch(SQLException sqle) {
                    System.err.println(sqle.getMessage());
                }
                catch(ClassNotFoundException cnfe) {
                    System.err.println(cnfe.getMessage());
                }
                catch(Exception e) {
                    System.err.println(e.getMessage());
                }
                finally {
                    try {
                        if(con!=null) {
                            // Chiude la sessione n ogni caso
                            con.close();
                        }
                    }
                    catch(SQLException sqle) {
                        System.err.println(sqle.getMessage());
                    }
                }
            %>
        </body>
    </html>
    2) WEB.xml
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
            </welcome-file-list>
        </web-app>
    Il file WEB.xml lo ha fatto NetBeans in automatico... ed utilizzo Tomcat come server.

    Problema:
    Quando mando in esecuzione il tutto (RUN), mi apre la pagina di Internet Explorer, ma è totalmente bianca, senza niente.
    Io mi aspettavo una tabella...

    Forse devo mappare il file index.jsp in WEB.xml??? Oppure l'errore sta altrove???

    Le tabelle le ho fatte con Microsoft Access, e le ho popolate con delle applicazioni java molto semplici.

    Ho imparato come mappare una servlet nel file WEB.xml, e non credo che vadano mappati anche i file JSP. Spero qualcuno possa aiutarmi.
    GRAZIE!

  2. #2
    Probabilmente viene lanciata qualche eccezione. Guarda nella finestra di log di Tomcat in NetBeans
    Al mio segnale... scatenate l'inferno!

  3. #3
    Non so cosa sia questa finestra di log di Tomcat in NetBeans. Che devo fare???

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Stai utilizzando il Server Bundled di Tomcat o un server Tomcat a se stante?
    Ovvero: l'applicazione la provi cliccando sul pulsante "Run" di NetBeans oppure facendone il deploy a mano su un server Tomcat installato anch'esso manualmente?

    Se stai utilizzando il Tomcat integrato di NetBeans dovresti avere una finestra di debug nell'interfaccia di NetBeans, altrimenti vai nella directory dove hai installato Tomcat, dentro c'è una sottodirectory chiamata "logs" e lì dentro ci sono tanti file di log: quelli che interessano a te sono "stderr_<data>.log" e "stdout_<data>.log" (eventualmente anche "localhost.<data>.log").

    Il primo è il file di log dello Standard ERR (lo stream di output standard per gli errori)
    Il secondo è il file di log dello Standard OUTPUT (lo stream di output della console standard)
    Il terzo è il log degli errori di host (a volte c'è qualcosa pure lì).


    PS: <data> è la data del log di Tomcat nel formato yyyy-mm-dd (ad esempio il log di oggi dello standard err si chiamerà "stderr_2008-07-07.log")


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Allora, nel file "stderr_20080807" non c'è scritto niente, mentre nel file "stdout_20080807" viene ripetuta sei o sette volte la seguente riga:
    [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.
    Probabilmente perchè ho provato riretutamente a far partire l'applicazione.

    Il contenuto del file "localhost.2008-08-07" è il seguente:
    codice:
    7-ago-2008 14.30.08 org.apache.catalina.core.ApplicationContext log
    INFO: ContextListener: contextInitialized()
    7-ago-2008 14.30.08 org.apache.catalina.core.ApplicationContext log
    INFO: SessionListener: contextInitialized()
    7-ago-2008 14.31.16 org.apache.catalina.core.ApplicationContext log
    INFO: SessionListener: contextDestroyed()
    7-ago-2008 14.31.16 org.apache.catalina.core.ApplicationContext log
    INFO: ContextListener: contextDestroyed()
    7-ago-2008 14.31.37 org.apache.catalina.core.ApplicationContext log
    INFO: ContextListener: contextInitialized()
    7-ago-2008 14.31.37 org.apache.catalina.core.ApplicationContext log
    INFO: SessionListener: contextInitialized()
    7-ago-2008 14.34.26 org.apache.catalina.core.ApplicationContext log
    INFO: SessionListener: contextDestroyed()
    7-ago-2008 14.34.26 org.apache.catalina.core.ApplicationContext log
    INFO: ContextListener: contextDestroyed()
    7-ago-2008 14.35.44 org.apache.catalina.core.ApplicationContext log
    INFO: ContextListener: contextInitialized()
    7-ago-2008 14.35.44 org.apache.catalina.core.ApplicationContext log
    INFO: SessionListener: contextInitialized()
    7-ago-2008 14.36.35 org.apache.catalina.core.ApplicationContext log
    INFO: ContextListener: attributeAdded('org.apache.jasper.runtime.JspApplicationContextImpl', 'org.apache.jasper.runtime.JspApplicationContextImpl@15dd910')
    7-ago-2008 14.36.35 org.apache.catalina.core.ApplicationContext log
    INFO: SessionListener: sessionCreated('D71BAB8290BC90C082F4CD21FCE26920')
    7-ago-2008 15.12.46 org.apache.catalina.core.ApplicationContext log
    INFO: SessionListener: sessionDestroyed('D71BAB8290BC90C082F4CD21FCE26920')
    Che vuol dire la riga del file "stdout_20080807"? E' forse quello l'errore?
    GRAZIE DELL'AIUTO!

  6. #6
    Ah, per far partire l'applicazione premo semplicemente il RUN di NetBeans.
    Ciao!

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Sì, l'errore è dovuto al fatto che non riesce a trovare una origine dati ODBC sul sistema che si chiami "Catalogo Film".
    Da notare che i nomi delle origini dati ODBC dovrebbero essere rigorosamente senza spazi per evitare problemi di compatibilità.

    Se, come credo, tu intendi agganciare un file MDB che si chiama "Catalogo Film.MDB", allora dovresti seguire le indicazioni che ho dato in questa pillola e recentemente in questa discussione.


    Una "Origine dati ODBC" è un nome di sistema che fa riferimento ad un driver ODBC e che aggancia automaticamente un DB (un file Access, in questo caso).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Ho dato un'occhiata alla pillola ed alla discussione che mi hai linkato, ma io credo di aver configurato una Origine dati ODBC di sistema.
    Ecco quello che ho fatto:
    Sono andato in "Pannello di Controllo>Strumenti di amministrazione>Origine dati (ODBC)".
    Qui ho aggiunto una "Origine dati utente", con nome "Catalogo Film" e che punta al file:
    C:\CatalogoFilm.mdb
    Il driver è "Microsoft Access Driver (*.mdb)"

    Da come ho letto sulla discussione l'URL presente nella riga:
    codice:
    con = DriverManager.getConnection("jdbc:odbc:Catalogo Film", "", "");
    dovrebbe essere corretto.

    Ho provato anche a modificare il nome dell'origine dati ODBC eliminando lo spazio, ma il problema persiste. La pagina che mi apre è sempre completamente vuota.

  9. #9
    Ho riscritto l'URL in questo modo:
    codice:
    con = DriverManager.getConnection("jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=C:\\CatalogoFilm.MDB;", "", "");
    ed ora mi visualizza la tabella.
    Però non capisco il motivo per cui prima non andava bene, nonostante avessi creato una Origine dati ODBC
    Grazie comunque!
    Ciao!

  10. #10
    Probabilmente non digeriva lo spazio che hai inserito nel nome dell'origine dati
    Al mio segnale... scatenate l'inferno!

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.