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

    [JSP] Tomcat, bean e linux

    Ciao a tutti,
    ho un problema con Tomcat; questa istruzione:

    <jsp: id="engine" scope="page" class="engine.Esecutore"/>
    <%
    ...
    String statoEsecuzione = engine.execute(parametri_input);
    ...
    %>

    su Tomcat per windows funziona alla grande mentre sulla versione per linux non ne vuole sapere di andare!

    Linux: fedora core 1 con Tomcat 5.

    Sapete perche'?



  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    Postare lo Stack Trace dell'eccezione potrebbe aiutare nell'analisi... Anche perché chi legge non sa né cosa siano né a cosa servano il package engine e la classe Esecutore.

  3. #3
    Ecco l'errore (NB: su server Windows non viene generato alcun errore):

    org.apache.jasper.JasperException: /execute.jsp(248,3) The value for the useBean class attribute engine.Esecutore is invalid. org.apache.jasper.compiler.DefaultErrorHandler.jsp Error(DefaultErrorHandler.java:39) org.apache.jasper.compiler.ErrorDispatcher.dispatc h(ErrorDispatcher.java:376) org.apache.jasper.compiler.ErrorDispatcher.jspErro r(ErrorDispatcher.java:150) org.apache.jasper.compiler.Generator$GenerateVisit or.visit(Generator.java:1217) org.apache.jasper.compiler.Node$UseBean.accept(Nod e.java:1116) org.apache.jasper.compiler.Node$Nodes.visit(Node.j ava:2163) org.apache.jasper.compiler.Node$Visitor.visitBody( Node.java:2213) org.apache.jasper.compiler.Node$Visitor.visit(Node .java:2219) org.apache.jasper.compiler.Node$Root.accept(Node.j ava:456) org.apache.jasper.compiler.Node$Nodes.visit(Node.j ava:2163) org.apache.jasper.compiler.Generator.generate(Gene rator.java:3261) org.apache.jasper.compiler.Compiler.generateJava(C ompiler.java:244) org.apache.jasper.compiler.Compiler.compile(Compil er.java:461) org.apache.jasper.compiler.Compiler.compile(Compil er.java:442) org.apache.jasper.compiler.Compiler.compile(Compil er.java:430) org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:511) org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:274) org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet .java:810)

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    Beh, sembra che non sappia cos'è
    codice:
    engine.Esecutore
    Quindi il primo passo è controllare se esiste la directory

    $TUA_WEBAPP/WEB_INF/classes/engine

    e che all'interno di engine sia presente il file Esecutore.class


    Infine, una nota:
    stavo rileggendo il codice originale, e suppongo che:

    codice:
    <jsp: id="engine" scope="page" class="engine.Esecutore"/>
    sia in realtà:

    codice:
    <jsp:useBean id="engine" scope="page" class="engine.Esecutore"/>
    giusto?

  5. #5
    Ho sbagliato a copiare il codice sul forum... confermo che e' un <jsp:useBean ...>

    La classe Esecutore.class sta al suo posto in "mia_applicazione\WEB-INF\classes\engine" ed e' definita come appartenente al package engine, quindi nel tag jsp:useBean la richiamo con class="engine.Esecutore".

    Teoricamente dovrebbe essere giusto... spero!

    Anche perche' questa applicazione sta su un server Windows e funziona tranquillamente, mentre tentando di portarla anche su linux tutte le pagine tranne questa funzionano!


  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    Allora non so proprio spiegarmelo...

    L'unica cosa che mi viene in mente (ma scommetterei che non c'entra una mazza) è provare a sostituire

    codice:
    <jsp:useBean id="engine" scope="page" class="engine.Esecutore"/>
    con

    codice:
    <jsp:useBean id="pippo" scope="page" class="engine.Esecutore"/>
    Nella (REMOTISSIMA) ipotesi che assegnare l'id "engine" ad una classe del package "engine" crei dei problemi a Jasper.

    Un'altra prova che si può fare è tentare di istanziare l'oggetto nella JSP:

    codice:
    <%
    engine.Esecutore prova = new engine.Esecutore();
    %>
    E vedere che succede.

  7. #7
    posso provare... poi ti dico!

  8. #8
    Ho provato con
    engine.Esecutore prova = new engine.Esecutore();

    e mi dice che non trova il package? Ma come e' possibile???
    Tomcat per Linux abbisogna di qualche strano gioco di prestigio per fargli vedere i package?

    Sto diventando matto!


  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    Non mi risulta. Più probabilmente è un problema di configurazione della webapp...

  10. #10
    E come si fa a configurarla giusta per fargli trovare sto package che sta nel percorso che ti ho detto?

    Ciao e grazie.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.