[Risolto][Java] Semplicissimo: leggere file di configurazione con Eclipse
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
[Risolto][Java] Semplicissimo: leggere file di configurazione con Eclipse
Ragazzi,
un saluto a tutti. Chiedo il vostro aiuto per un semplicissimo quesito. Quanto vi riporto sotto corrisponde ad un metodo per leggere un semplicissimo valore inserito nel file di configurazione web.xml; premetto che sotto NetBeans ha sempre funzionato mentre ora sotto Eclipse non funziona più e da un errore. Credo che possa dipendere da qualche risorsa esterna che non ho importato o non ho correttamente importato. Guardate sotto e capirete. Grazie a tutti per il tempo dedicatomi! PS: ho già importato junit4.
ECCO LA CLASSE UtilityConfig, nel package java.main.utility:
/*
* UtilityConfig.java
*
* Created on 28 gennaio 2008, 16.31
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package java.main.utility;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
*
* @author yohi
*/
public class UtilityConfig {
/**
* Creates a new instance of UtilityConfig
*/
public UtilityConfig() {
}
public String UtilityGetParameter(String ParName){
Context ctx = null;
String ParValue =null;
try {
ctx = new InitialContext();
ParValue =(String) ctx.lookup("java:comp/env/"+ParName);
} catch (NamingException e) {
e.printStackTrace();
return null;
}
return ParValue;
}
}
Ecco il frammento della pagina in cui la richiamo (vi risparmio tutta la pagina per non abusare della vostra disponibilità):
Ed ecco l'errore restituito:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Exception in JSP: /unknow.jsp:29
26: String ParValue =null;
27:
28: ctx = new InitialContext();
29: ParValue =(String)ctx.lookup("java:comp/env/"+"DefaultLanguage");
30:
31: %>
32:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
javax.servlet.ServletException: Name DefaultLanguage is not bound in this Context
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
org.apache.jsp.unknow_jsp._jspService(unknow_jsp.java:112)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
javax.naming.NameNotFoundException: Name DefaultLanguage is not bound in this Context
org.apache.naming.NamingContext.lookup(NamingContext.java:770)
org.apache.naming.NamingContext.lookup(NamingContext.java:140)
org.apache.naming.NamingContext.lookup(NamingContext.java:781)
org.apache.naming.NamingContext.lookup(NamingContext.java:140)
org.apache.naming.NamingContext.lookup(NamingContext.java:781)
org.apache.naming.NamingContext.lookup(NamingContext.java:153)
org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
javax.naming.InitialContext.lookup(Unknown Source)
org.apache.jsp.unknow_jsp._jspService(unknow_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.
un saluto a tutti. Chiedo il vostro aiuto per un semplicissimo quesito. Quanto vi riporto sotto corrisponde ad un metodo per leggere un semplicissimo valore inserito nel file di configurazione web.xml; premetto che sotto NetBeans ha sempre funzionato mentre ora sotto Eclipse non funziona più e da un errore. Credo che possa dipendere da qualche risorsa esterna che non ho importato o non ho correttamente importato. Guardate sotto e capirete. Grazie a tutti per il tempo dedicatomi! PS: ho già importato junit4.
ECCO LA CLASSE UtilityConfig, nel package java.main.utility:
/*
* UtilityConfig.java
*
* Created on 28 gennaio 2008, 16.31
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package java.main.utility;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
*
* @author yohi
*/
public class UtilityConfig {
/**
* Creates a new instance of UtilityConfig
*/
public UtilityConfig() {
}
public String UtilityGetParameter(String ParName){
Context ctx = null;
String ParValue =null;
try {
ctx = new InitialContext();
ParValue =(String) ctx.lookup("java:comp/env/"+ParName);
} catch (NamingException e) {
e.printStackTrace();
return null;
}
return ParValue;
}
}
Ecco il frammento della pagina in cui la richiamo (vi risparmio tutta la pagina per non abusare della vostra disponibilità):
Ed ecco l'errore restituito:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Exception in JSP: /unknow.jsp:29
26: String ParValue =null;
27:
28: ctx = new InitialContext();
29: ParValue =(String)ctx.lookup("java:comp/env/"+"DefaultLanguage");
30:
31: %>
32:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
javax.servlet.ServletException: Name DefaultLanguage is not bound in this Context
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
org.apache.jsp.unknow_jsp._jspService(unknow_jsp.java:112)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
javax.naming.NameNotFoundException: Name DefaultLanguage is not bound in this Context
org.apache.naming.NamingContext.lookup(NamingContext.java:770)
org.apache.naming.NamingContext.lookup(NamingContext.java:140)
org.apache.naming.NamingContext.lookup(NamingContext.java:781)
org.apache.naming.NamingContext.lookup(NamingContext.java:140)
org.apache.naming.NamingContext.lookup(NamingContext.java:781)
org.apache.naming.NamingContext.lookup(NamingContext.java:153)
org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
javax.naming.InitialContext.lookup(Unknown Source)
org.apache.jsp.unknow_jsp._jspService(unknow_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.
Ultima modifica di Archimede Pitagorico il giovedì 6 marzo 2008, 18:39, modificato 1 volta in totale.
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [Java] Semplicissimo: leggere file di configurazione con Eclipse
Ulteriore indicazione!
Mi sono accorto che nella parte superiore della classe non ho scritto la linea che vi copio sotto. Se cerco di inserirla, il completamento automatico non mi permette di farlo! Che dipenda da qualche risorsa necessaria per accettare il comando seguente?
import java.util.Hashtable;
Mi sono accorto che nella parte superiore della classe non ho scritto la linea che vi copio sotto. Se cerco di inserirla, il completamento automatico non mi permette di farlo! Che dipenda da qualche risorsa necessaria per accettare il comando seguente?
import java.util.Hashtable;
- Massimo S.
- Entusiasta Emergente

- Messaggi: 1931
- Iscrizione: giovedì 28 settembre 2006, 14:34
Re: [Java] Semplicissimo: leggere file di configurazione con Eclipse
Ma a parte la differenza di IDE (Netbeans vs Eclipse), il servlet container che c'è sotto è sempre lo stesso?
E' sempre tomcat? Stessa versione?
E' sempre tomcat? Stessa versione?
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [Java] Semplicissimo: leggere file di configurazione con Eclipse
Grazie per il tuo prezioso aiuto.
Il server è identico, Tomcat 5.5
Il server è identico, Tomcat 5.5
Re: [Java] Semplicissimo: leggere file di configurazione con Eclipse
Ho copiato il tuo codice senza modificare nulla in una mia applicazione web e ha funzionato ( (ot) lo so, questa è la sfiga che capita sempre......a volte sono diventato idiota con linux, a me non funzionava nulla e la stessa cosa invece su altri pc andava benissimo!!!!!) >:(.
L'unica cosa di diverso è che ho creato a mano il codice nel web.xml per poter fare il lookup.
Quindi posta il tuo web.xml, o almeno la sezione relativa al tuo : di seguito ti riporto il mio, anche se dubito che dipenda da questo perche' ti tornerebbe null....
N.B.: come da titolo, non è che il web.xml lo leggi con eclipse o netbeans.....
ciao
L'unica cosa di diverso è che ho creato a mano il codice nel web.xml per poter fare il lookup.
Quindi posta il tuo web.xml, o almeno la sezione relativa al tuo : di seguito ti riporto il mio, anche se dubito che dipenda da questo perche' ti tornerebbe null....
una curiosità: da eclipse posizionandoti con il cursore sopra javax.naming..... premendo f3 cosa ti viene visualizzato? esiste nella lista rt.jar?mia_descrizione
defaultLanguage
mia_prova
java.lang.String
N.B.: come da titolo, non è che il web.xml lo leggi con eclipse o netbeans.....
ciao
Ultima modifica di prampa il giovedì 6 marzo 2008, 0:59, modificato 1 volta in totale.
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [Java] Semplicissimo: leggere file di configurazione con Eclipse
Grazie! Ti copio sotto quello che mi hai chiesto, la variabile richiamata e che genera errore è proprio l'ultima. Ho copiato un pezzo del vecchio web.xml nel nuovo, lasciando solo le prime righe del nuovo ossia l'intestazione. Sono sempre più convinto che l'errore dipenda dal modo in cui ho copiato i dati nel nuovo web.xml! Se seleziono f3 non succede nulla eppure l'autocompletamento mi ha correttamente completato quelle istruzioni! Attendo lumi e ti ringrazio
Base
ServletUserCheck
ServletUserCheck
java.main.servlet.ServletUserCheck
ServletAccount
ServletAccount
java.main.servlet.ServletAccount
ServletReminder
ServletReminder
java.main.servlet.ServletReminder
ServletUserCheck
/ServletUserCheck
ServletAccount
/ServletAccount
ServletReminder
/ServletReminder
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
titolo applicazione - italiano
it.appTitle
java.lang.String
Quattrozampe
Base
ServletUserCheck
ServletUserCheck
java.main.servlet.ServletUserCheck
ServletAccount
ServletAccount
java.main.servlet.ServletAccount
ServletReminder
ServletReminder
java.main.servlet.ServletReminder
ServletUserCheck
/ServletUserCheck
ServletAccount
/ServletAccount
ServletReminder
/ServletReminder
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
titolo applicazione - italiano
it.appTitle
java.lang.String
Quattrozampe
- Massimo S.
- Entusiasta Emergente

- Messaggi: 1931
- Iscrizione: giovedì 28 settembre 2006, 14:34
Re: [Java] Semplicissimo: leggere file di configurazione con Eclipse
Lo chiedevo perché application server diversi possono avere una struttura diversa dell'alberatura JNDI, ma se il server è identico il problema sarà un altro.Archimede Pitagorico ha scritto: Grazie per il tuo prezioso aiuto.
Il server è identico, Tomcat 5.5
Ciao
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [Java] Semplicissimo: leggere file di configurazione con Eclipse
Non ho neppure pranzato, e tutto per scoprire che:
I PACKAGE DI ECLIPSE NON FUNZIONANO SE NEL LORO NOME SI METTE UN PUNTO; QUELLI DI NETBEANS INVECE SI.
Se può servire a qualcuno, tenetelo a mente. Non ho parole. Mi sembra una piccola conquista; ora TUTTA la mia applicazione funziona anche sotto Eclipse. Signori, tanti saluti a NetBeans. Che sarà anche buono, ma che nessuno dei miei colleghi usa. Ora sarà molto più facile capirsi con gli altri (e con Prampa!).
Grazie a tutti
I PACKAGE DI ECLIPSE NON FUNZIONANO SE NEL LORO NOME SI METTE UN PUNTO; QUELLI DI NETBEANS INVECE SI.
Se può servire a qualcuno, tenetelo a mente. Non ho parole. Mi sembra una piccola conquista; ora TUTTA la mia applicazione funziona anche sotto Eclipse. Signori, tanti saluti a NetBeans. Che sarà anche buono, ma che nessuno dei miei colleghi usa. Ora sarà molto più facile capirsi con gli altri (e con Prampa!).
Grazie a tutti
Re: [Java] Semplicissimo: leggere file di configurazione con Eclipse
Archimede Pitagorico ha scritto: Non ho neppure pranzato, e tutto per scoprire che:
I PACKAGE DI ECLIPSE NON FUNZIONANO SE NEL LORO NOME SI METTE UN PUNTO; QUELLI DI NETBEANS INVECE SI.
Se può servire a qualcuno, tenetelo a mente. Non ho parole. Mi sembra una piccola conquista; ora TUTTA la mia applicazione funziona anche sotto Eclipse. Signori, tanti saluti a NetBeans. Che sarà anche buono, ma che nessuno dei miei colleghi usa. Ora sarà molto più facile capirsi con gli altri (e con Prampa!).
Grazie a tutti
Secondo me no (mi riferisco al punto nel nome). Infatti per prova ho copiato la tua definizione di env-entry sotto il mio web.xml e funziona anche con il punto, cioè se richiamoI PACKAGE DI ECLIPSE NON FUNZIONANO SE NEL LORO NOME SI METTE UN PUNTO; QUELLI DI NETBEANS INVECE SI.
Codice: Seleziona tutto
out.println( myParGet.UtilityGetParameter("it.appTitle"));Non c'entrano i package che siano di eclipse o netbeans.....se la tua applicazione la sviluppi tutta col "vi" funziona ugualmente! Non esiste una applicazione che funziona perche' la sviluppi con eclipse (a meno che non sia un suo plugin) o funziona diversamente se invece usi netbeans: la tua applicazione funziona se deploiata in un application server o un servlet container. Eclipse è solo un editor e basta: ti aiuta nella stesura del codice, ti da altri aiuti ma nulla di piu'. L'applicazione deve essere realizzata per funzionare in base a tante regole, tutte pero' indipendenti dall'editor: quando effettui il deploy di una applicazione web, mica ti porti dietro le librerie di eclipse o netbeans!
Io ho tomcat 6.0 qualcosa: prova a scaricarti la versione dal sito, la unzippi (non la installi da repository) e prova anche con quella.
Al limite prova ad allegare solo il tuo ".war" se è possibile. Oppure crea una semplicissima applicazione con solo web.xml, classe java di utility e jsp di visualizzazione. La posti e la proviamo. Pero' è anche indicativo il fatto che senza il punto nel nome l'applicazione va.....ma come effettui il deploy?
ciao
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [Risolto][Java] Semplicissimo: leggere file di configurazione con Eclipse
Ragazzi vi aggiorno, innanzitutto però tengo a ringraziare Prampa per la sua grande cortesia. Ho creato un'applicazione banalissima, un solo package, una classe ed una pagina index.jsp che legge un dato da un file xml; ciò per fare una prova. Bene, ho usato un programma così semplice per escludere ogni altra implicazione. Solo un package, una classe, una pagina, ed un file xml; niente altro. Chiamando il package a tutto funzionava, chiamandolo a.a invece no. Creo i files war cliccando col tasto destro sul progetto e poi esportandolo. Grazie a tutti, siete davvero disponibilissimi.
Re: [Risolto][Java] Semplicissimo: leggere file di configurazione con Eclipse
allora avevo capito male io. Il problema non era dato dal nome interno della variabile nel web.xml "it.qualcosa". Giusto? Se dipenda dall'alberatura? Non ci credo, ma zippa e allega l'ultimo progetto funzionante (tanto è piccolissimo) che hai creato. E descrivi anche il modo in cui non funziona, cosi' stasera lo provo.Archimede Pitagorico ha scritto: Ragazzi vi aggiorno, innanzitutto però tengo a ringraziare Prampa per la sua grande cortesia. Ho creato un'applicazione banalissima, un solo package, una classe ed una pagina index.jsp che legge un dato da un file xml; ciò per fare una prova. Bene, ho usato un programma così semplice per escludere ogni altra implicazione. Solo un package, una classe, una pagina, ed un file xml; niente altro. Chiamando il package a tutto funzionava, chiamandolo a.a invece no. Creo i files war cliccando col tasto destro sul progetto e poi esportandolo. Grazie a tutti, siete davvero disponibilissimi.
ciao
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [Risolto][Java] Semplicissimo: leggere file di configurazione con Eclipse
Grazie Prampa, provvidenzialissimo come sempre.
Finalmente usiamo lo stesso IDE!! Ti allego subito il mini progetto, noterai che aggiungendo anche solo un punto ed una lettera sul package (chiamalo ad esempio a.a) il programma non funziona.
Finalmente usiamo lo stesso IDE!! Ti allego subito il mini progetto, noterai che aggiungendo anche solo un punto ed una lettera sul package (chiamalo ad esempio a.a) il programma non funziona.
- Allegati
-
test0.zip- (2.74 KiB) Scaricato 46 volte
Re: [Risolto][Java] Semplicissimo: leggere file di configurazione con Eclipse
OK, capito. Si tratta solo di come si crea il .war e non dal nome o dall'alberatura dei packages (che devono essere creati).
Le classi compilate devono stare sotto WEB-INF/classes/nomePackage.NomeClasse.class.
Quando esporti il progetto da eclipse devi togliere il segno di spunta dal file .classpath e selezionare "create only selected directories": in questo modo se poi apri il file .war con un qualsiasi programma di archiviazione, avrai solo la cartella WEB-INF (e le relative sottocartelle) e la index.jsp (almeno nel tuo esempio). In pratica, nel file war non devi avere una cartella test0 e sotto WEB-INF e index.jsp, ma direttamente WEB-INF e index.jsp.
Undeploy dal manager di tomcat e successivo deploy indicando il .war, f5 sulla pagina index.jsp e vedrai che funziona.
ciao
Le classi compilate devono stare sotto WEB-INF/classes/nomePackage.NomeClasse.class.
Quando esporti il progetto da eclipse devi togliere il segno di spunta dal file .classpath e selezionare "create only selected directories": in questo modo se poi apri il file .war con un qualsiasi programma di archiviazione, avrai solo la cartella WEB-INF (e le relative sottocartelle) e la index.jsp (almeno nel tuo esempio). In pratica, nel file war non devi avere una cartella test0 e sotto WEB-INF e index.jsp, ma direttamente WEB-INF e index.jsp.
Undeploy dal manager di tomcat e successivo deploy indicando il .war, f5 sulla pagina index.jsp e vedrai che funziona.
ciao
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [Risolto][Java] Semplicissimo: leggere file di configurazione con Eclipse
Prampa,
come al solito non posso che ringraziarti per tutto il tempo che spendi dietro alle mie richieste. Sei stato chiarissimo. Sono contento di essere passato ad Eclipse; è vero che alla fine i due IDE producono codice simile (come qualcuno mi ha giustamente spiegato) però usare lo stesso IDE renderà più semplice capirci. Grazie ancora!
come al solito non posso che ringraziarti per tutto il tempo che spendi dietro alle mie richieste. Sei stato chiarissimo. Sono contento di essere passato ad Eclipse; è vero che alla fine i due IDE producono codice simile (come qualcuno mi ha giustamente spiegato) però usare lo stesso IDE renderà più semplice capirci. Grazie ancora!
Chi c’è in linea
Visualizzano questa sezione: Google [Bot] e 3 ospiti