Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [JSP] descrittore e database

    Sto cercando di configurare il collegamento tra alcune pagine JSP ed un database mediante i valori del costruttore web.xml.

    Notoriamente una connessione implicita si presenta nella seguente maniera:
    codice:
    //Dichiariamo l'oggetto Connection
    Connection con=null;
    try{
      //Istanzio il Driver
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      String driver = 
      //inizializzo l'oggetto con 
      con=DriverManager.getConnection("jdbc:odbc:Immigrazione");
      
    }catch (ClassNotFoundException e){
      System.out.println("Impossibile caricare il driver: "+ e);
    }
    
    try{
      //Istanzio e inizializzo l'oggetto st di tipo Statement
      Statement st = con.createStatement();
      ResultSet rs = null;
      
      String query = "";
         //Istanzio e inizializzo l'oggetto rs di tipo ResultSet
          query = "SELECT Cognome, Nome ";
          query+= "FROM Individui ";
          query+= "ORDER BY Cognome"; 
         
    [...]
      
      st.close();
      con.close();
    
    }catch (SQLException e){
      System.out.println("Errore SQL: "+ e);
    }//catch
    Volendo sfruttare la connessione in base ai parametri del destrittore web.xml, sono a conoscenza del fatto che per prima cosa devo impostere quest'ultimi nella seguenre maniera:

    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    	 version="2.4">
        <context-param>
            <param-name>JDBC.DRIVER</param-name>
            <param-value>
                sun.jdbc.odbc.JdbcOdbcDriver
            </param-value>
        </context-param>
        <context-param>
            <param-name>JDBC.URL</param-name>
            <param-value>
                jdbc:odbc:nomeDB
            </param-value>
        </context-param>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
    	<welcome-file>
                index.jsp
            </welcome-file>
        </welcome-file-list>
    </web-app>
    e che per sfruttare tali parametri devo usare il metodo getInitParameter()!! Ed il problema č proprio questo, come posso fare?
    Giuseppe SPECCHIO

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    String driver = context.getInitParameter("JDBC.DRIVER");
    http://java.sun.com/j2ee/1.4/docs/ap...a.lang.String)

  3. #3
    ho provato a seguire il tuo consiglio modificando il codice nella seguente maniera:

    codice:
    //Dichiariamo l'oggetto Connection
    Connection con=null;
    try{
      String driver = context.getInitParameter("JDBC.DRIVER");
      Class.forName(driver);
      
      String db = context.getInitParameter("JDBC.URL");
      con=DriverManager.getConnection(db);
      
    }catch (ClassNotFoundException e){
      System.out.println("Impossibile caricare il driver: "+ e);
    }
    ma al momento dell'esecuzione ho avuto il seguente messaggio di errore:

    codice:
    org.apache.jasper.JasperException: Unable to compile class for JSP
    
    An error occurred at line: 15 in the jsp file: /index.jsp
    Generated servlet error:
    C:\Documents and Settings\Giuseppe\.netbeans\5.0\jakarta-tomcat-5.5.9_base\work\Catalina\localhost\Immigrazione\org\apache\jsp\index_jsp.java:70: cannot resolve symbol
    symbol  : variable context 
    location: class org.apache.jsp.index_jsp
      String driver = context.getInitParameter("JDBC.DRIVER");
                      ^
    
    
    An error occurred at line: 15 in the jsp file: /index.jsp
    Generated servlet error:
    C:\Documents and Settings\Giuseppe\.netbeans\5.0\jakarta-tomcat-5.5.9_base\work\Catalina\localhost\Immigrazione\org\apache\jsp\index_jsp.java:75: cannot resolve symbol
    symbol  : variable context 
    location: class org.apache.jsp.index_jsp
      String db = context.getInitParameter("JDBC.URL");
                  ^
    2 errors
    ovvero non riconosce la variabile context!!
    Giuseppe SPECCHIO

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    con context volevo dire ServletContext
    codice:
    config.getServletContext().getInitParameter(...

  5. #5
    Grazie della dritta ho risolto il problema nella seguente maniera:

    codice:
    //Dichiariamo l'oggetto Connection
    Connection con=null;
    try{
        javax.servlet.ServletContext context = getServletContext();
        String driver = context.getInitParameter("JDBC.DRIVER");
        //Istanzio il Driver
        Class.forName(driver);
      
        String db = context.getInitParameter("JDBC.URL");
        //inizializzo l'oggetto con 
        con=DriverManager.getConnection(db);
      
    }catch (ClassNotFoundException e){
      System.out.println("Impossibile caricare il driver: "+ e);
    }//catch
    Ah! a proposito se volessi far visualizzare un potenziale errore in una pagina web contenete il messaggio di errore cosa devo fare?
    Giuseppe SPECCHIO

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    dato che non usi MVC č pių complicato da gestire
    devi usare isErrorPage e errorPage
    http://java.sun.com/products/jsp/syn...010.html#15653

  7. #7
    dove posso trovare un esempio di MVC?
    Giuseppe SPECCHIO

  8. #8

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.