PDA

View Full Version : [JAVA] problema compilazione Servlet


anonimizzato
15-08-2010, 12:17
Ciao a tutti e buon Ferragosto.

Stò "smanettando" un pò con J2EE e ho un piccolo problema sul build di un'applicazione web quando, all'interno di una Servlet, aggiungo (all'interno del metodo doGet) un'istruzione del tipo:

getServletContext().getRequestDispatcher("/WEB-INF/pippo.jsp").forward(request, response);

Il codice è corretto e funzionante, tant'è che ottengo il dispatching verso la jsp "pippo", ma ho un errore nel build con questo messaggio:

A "verifier" detects that a class, though well formed, contains an internal inconsistency or security problem: verifier detected internal inconsistency or security problem

Sapreste indicarmi quale possa essere il problema?

Grazie in anticipo.

P.S.
Uso Netbeans 6.9.1

anonimizzato
15-08-2010, 12:33
Il problema sembra relativo alla chiamata del metodo

.forward(request, response);

sull'oggetto

getServletContext().getRequestDispatcher("/WEB-INF/pippo.jsp")

Avendo poca esperienza non capisco però di che errore possa trattarsi e se è, o meno, relativo al thread-safe della Servlet. :)

Tnx.

kingv
16-08-2010, 06:48
WEB-INF contiene i file di configurazione della tua webapp, può darsi che il Verifier si lamenti di questo.
Non è in ogni caso un buon posto da dove servire le tue jsp.

anonimizzato
16-08-2010, 08:47
WEB-INF contiene i file di configurazione della tua webapp, può darsi che il Verifier si lamenti di questo.
Non è in ogni caso un buon posto da dove servire le tue jsp.

Ho capito.

Tuttavia il problema sembra porsi quando faccio un apply-changes con Netbeans.

Operazione inutile visto che avevo abilitato il "deploy on save" e quindi le modifiche mi venivano prese subito.

Non capisco però perchè le JSP (utlizzate come View layer) sia sconsigliabile metterle sotto WEB-INF. La cosa "strana" è che se creo un nuovo progetto Web con lo Spring Framework in Netbeans, lui stesso mi crea una cartella "jsp" sotto WEB-INF quindi davo per scontato fosse corretto. :confused:

La comodità è che così facendo non sono raggiungibili dall'esterno tuttavia non sò se si possa definire "standard" J2EE.

Grazie ancora.

kingv
16-08-2010, 09:02
La comodità è che così facendo non sono raggiungibili dall'esterno tuttavia non sò se si possa definire "standard" J2EE.



ok, mi mancava questo pezzo.
in un deploy standard cmq si usa quella directory per i descrittori (web.xml e altri specifici del container), le librerie e i compilati delle servlet.

per curiosità hai provato a vedere se il warning scompare cambiando directory?

anonimizzato
16-08-2010, 09:14
ok, mi mancava questo pezzo.
in un deploy standard cmq si usa quella directory per i descrittori (web.xml e altri specifici del container), le librerie e i compilati delle servlet.

per curiosità hai provato a vedere se il warning scompare cambiando directory?

Ho provato ed è scomparso ma ... ho rimesso la JSP sotto WEB-INF e comunque il problema non si è ripresentato. :stordita:

Onestamente non saprei proprio cosa possa essere accaduto quando ci stavo lavorando ieri.

Nello specifico il "Verifier" cos'è?

Bye.

kingv
16-08-2010, 13:51
Nello specifico il "Verifier" cos'è?

Bye.


Non conosco Netbeans ma penso che nel caso specifico, dato che appare in fase di build e non a runtime, sia semplicemente un pezzo di codice che effettua un controllo.
esiste però in libreria un java.lang.VerifyError che riporta proprio il messaggio che hai postato: http://download-llnw.oracle.com/javase/6/docs/api/java/lang/VerifyError.html