Visualizzazione risultati 1 fino 7 di 7

Discussione: [JAVA] estrarre dati da db

  1. #1
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito [JAVA] estrarre dati da db

    In breve, ho la classe articolo e la classe inventario.
    Ho nel database una tabella popolata di tuple di articoli, lo scopo della classe inventario e prendere tutte queste tuple e visualizzarle.
    Qualcuno trova errori nel codice? Perchè mi da errore nella visualizzazione della pagina jsp. Naturalmente le varie librerie sono opportunamente importate.

    Codice:
    public class Inventario {    
    	
    	public Inventario(){
    	}
    	
    	public Collection<Articolo> visualizzaInventario(){
    		Vector<Articolo> coll =new Vector<Articolo>(); 
    		ConnessioneDB connessione = new ConnessioneDB();
    		
    		try {
    		
    		Statement st = connessione.connetti().createStatement();
    		
    		String query = "SELECT * FROM articolo";
    		
    		ResultSet rs = st.executeQuery(query);
    	
    		int i = 0;
    		while(rs.next()){
    			String nome = rs.getString(1);
    			Integer articleId = rs.getInt(2);
    			Integer quant = rs.getInt(3);
    			String posizione = rs.getString(4);
    			Integer scadenza = rs.getInt(5);
    			
    			Articolo art = new Articolo(nome, articleId, quant,
    					posizione, scadenza);
    					
    			coll.add(art);
    			i++;
    					  
    		}
    			
    		st.close();
    		connessione.disconnetti();
    
    		} 
    		catch (SQLException s) {
    			 System.out.println("Errore SQL: " + s.toString() + " "
    								+ s.getErrorCode() + " " + s.getSQLState());
    		}
    		catch (Exception e) {
    			 System.out.println("Error " + e.toString() + e.getMessage());
    		}
    		return coll;
    	}
    }

    Codice:
    public class Articolo {
    	
    	private String nome;
    	private int id;
    	private int quant;
    	private String posizione;
    	private int scadenza;
    	
    	  public Articolo(String nome, int id, int quant, String posizione, int scadenza){
    			
    		this.nome = new String(nome);
    		this.id = id;
    		this.quant = quant;
    		this.posizione = posizione;
    		this.scadenza = scadenza;
    		}
    	
    		
    	public String getNome(){
    		return this.nome;
    	}
    	public int getId(){
    		return this.id;
    	}
    	public int getQuant(){
    		return this.quant;
    	}
    	public String getPosizione(){
    		return this.posizione;
    	}
    	public int getScadenza(){
    		return this.scadenza;
    	}
    	
    		
    		
    	public void setNome(String nome){
    		this.nome = nome;
    	}
    	public void setId(int s){
    		this.id = s;
    	}
    	public void setQuant(int q){
    		this.quant = q;
    	}
    	public void setPosizione(String s){
    		this.posizione = s;
    	}
    	public void setScadenza(int r){
    		this.scadenza = r;
    	}
    
    	public String toString(){
    		return "Codice: " + getId() + " Nome: " + getNome() + " Quantità: " + getQuant() + " Posizione: " + getPosizione() + " Scadenza: " + getScadenza(); 
    	}
    }

    Codice:
    ...CODICE HTML...
    <%
    	Inventario inv = new Inventario();
    	java.util.Collection<Articolo> coll = inv.visualizzaInventario();
    		for(Articolo a : coll){
    			System.out.println(a);
      %>
    ...CODICE HTML...

    Errori:
    org.apache.jasper.JasperException: Unable to compile class for JSP

    An error occurred at line: 29 in the jsp file: /gestioneMagazzino.jsp
    Generated servlet error:
    Syntax error on token "<", invalid AssignmentOperator

    An error occurred at line: 29 in the jsp file: /gestioneMagazzino.jsp
    Generated servlet error:
    Syntax error on token "=", != expected

    An error occurred at line: 29 in the jsp file: /gestioneMagazzino.jsp
    Generated servlet error:
    Syntax error on token(s), misplaced construct(s)

    An error occurred at line: 29 in the jsp file: /gestioneMagazzino.jsp
    Generated servlet error:
    Syntax error on token ")", : expected


    org.apache.jasper.compiler.DefaultErrorHandler.jav acError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacEr ror(ErrorDispatcher.java:328)
    org.apache.jasper.compiler.JDTCompiler.generateCla ss(JDTCompiler.java:397)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:288)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:267)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:255)
    org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:556)
    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:293)
    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)


    -- Aut Roma Aut Nihil!

  2. #2
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Dunque,
    penso proprio che a Jasper -colui che compila jsp in servlet- non piaccia questo punto preciso:
    java.util.Collection<Articolo>

    il minore lo interpreta come < (ovvero operatore matematico, minore di) mentre si aspetta in quel punto -come dice chiaramente- un operatore di assegnazione ( tipo =, += etc..).
    Tu giustamente intendevi usare l'esplicitazione del Type (classe) da usare negli oggetti della Collection (le "Typed Collection" al posto del 'vecchio' Object che richiedeva un cast) sfruttando la nuova sintassi che offre Java 5 Tiger.
    Quindi mi chiedo: dove sta provando ciò? sicuro che l'application server supporta java 5? perché dall'errore si direbbe un buon vecchio Tomcat (o altro A.S.) per JDK 1.4.x

    Poi in tutta sincerità ancora non ho avuto il piacere di assaggiare il tiger, visto che tuttora a lavoro si usa jdk 1.4.2 .
    Ultima modifica di heracleum : 26-09-2006 alle ore 23.45.28
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  3. #3
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Di java ho appena controllato avendo installato lo stesso pacchetto anche sul fisso, ho l'ultima versione, la 5! Di Tomcat, devo verificare sul portatile la versione, ma se ricordo bene, non dovrebbero esserci problemi (mhhh, in realtà ci sono, eccome!), comunque controllo domattina ed edito il messaggio.
    Comunque grazie della risposta.


    -- Aut Roma Aut Nihil!

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Sì ok che hai installato tu la jdk 1.5 (java5) ma bisogna vedere se la usa anche Jasper per compilare, quindi devi controllare qual è la configurazione di Tomcat (che versione di tomcat? 5.0 ? 5.5?).
    Fai così, sotto l'installazione di tomcat vedi:
    /conf/web.xml

    cerca i parametri:
    compilerSourceVM e compilerTargetVM se sono entrambi impostati a 1.5, dovrebbe essere una cosa tipo:
    Codice:
         <init-param>
             <param-name>compilerSourceVM</param-name>
             <param-value>1.5</param-value>
          </init-param>
          <init-param>
             <param-name>compilerTargetVM</param-name>
             <param-value>1.5</param-value>
          </init-param>
    perché mi sembra che di default tomcat5.0 (non 5.5) inspiegabilmente ha come valori 1.3 che non fanno al caso tuo.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  5. #5
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Non riesco a trovare quei parametri, ho cercato con la ricerca manuale e con quella automatica, ma nulla! Comunque la versione di Tomcat è la 5.5.


    -- Aut Roma Aut Nihil!

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Guarda qui:
    http://tomcat.apache.org/tomcat-5.5-...per-howto.html

    io mi ricordavo i default di tomcat5.0 che per jasper usava la 1.3
    in questo link puoi vedere che per tomcat5.5 i default è 1.4
    quindi puoi provare ad AGGIUNGERE quei parametri nel /conf/web.xml
    visto che -deduco- in loro assenza vengono usati i default (1.4).
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Ho cambiato codice e va...
    Comunque grazie!

    ps: Non è vero, me lo sono fatto cambiare! () Io e java siamo agli antipodi...


    -- Aut Roma Aut Nihil!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •