n° 186
Luglio/Agosto 2013
Giugno 20, 2013, 02:45:24 am *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  

* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: accedere file da jsp  (Letto 1136 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
puntino
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 0


Mostra profilo
« inserita:: Giugno 10, 2007, 03:22:15 pm »

Ciao

Sto sviluppando un\'applicazione da usare in Tomcat 5.5.23 che ha la seguente struttura:
pool
|---WEB-INF
|   |--web.xml
|   |--lib
|   |--PoolClass.jar
|--data.txt
|--auth.jsp
|--Login.html

Io voglio accedere al file data.txt dalla pagina auth.jsp, a tal fine ho scritto una classe DataFile che gestisce le operazioni sui i file (lettura, scrittura e altre cose) il cui costruttore è

    
public DataFile(String inputFile) throws IOException{
         this.file=new File(inputFile);
         file.createNewFile();
   }



Per accedere da auth.jsp a data.txt ho scritto nella pagina jsp:



....
ServletConfig cfg = getServletConfig();
String path = cfg.getInitParameter(\"path\");
DataFile df = new DataFile(path);
....



e nel web.xml



-
  auth
  /auth.jsp
-
  path
  /data.txt
 

 




Quindi nel caso fossi stato poco chiaro la concatenazione per accedere a data.txt è la seguente
auth.jsp-->DataFile--->data.txt

Quando tento di usare l\'applicazione mi viene visualizzatto il seguente errore (next post)
Registrato
puntino
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 0


Mostra profilo
« Risposta #1 inserita:: Giugno 10, 2007, 03:23:03 pm »

l\'errore è sollevato in corrispondenza della riga

DataFile df = new DataFile(path);
dellla pagina auth.jsp

e la \"root cause\"

java.lang.NullPointerException
java.io.File.(Unknown Source)
PoolClass.DataFile.(DataFile.java:10)
org.apache.jsp.auth_jsp._jspService(auth_jsp.java:57)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
.....

Non credo che servono le altre righe

L\'errore penso che sia dovuto al fatto che il costruttore DataFile ha bisogno di un path assoluto come C:/data.txt che usavo prima e tutto funzionava(prima mettevo il file data,txt per comodità in C), ora invece si ritrova solo il path realtivo.
Ho provato anche a modificare il costruttore di DataFile nella seguente maniera ma ho avuto altri tipi di errori

codice:

//ho messo URI anzichè String     
public DataFile(URI inputFile) throws IOException{
         this.file=new File(inputFile);
         file.createNewFile();
   }


Ciao e grazie
Registrato
LordDragon
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 10

0
Mostra profilo
« Risposta #2 inserita:: Giugno 15, 2007, 12:53:52 pm »

Potresti provare ad utilizzare il metodo getRealPath() di ServletContext. In questo modo recuperi il path assoluto della tua applicazione anche senza sapere dov\'è installata.

ServletContext ctx = getServletContext();
ServletConfig cfg = getServletConfig();
String path = ctx.getRealPath(\"/\") + cfg.getInitParameter(\"path\");
DataFile df = new DataFile(path);

Dovrebbe funzionare! Non ricordo solo se il getRealPath() aggiunge da solo il \"/\" al fondo del path che ti restituisce o meno...

Ciao
Registrato
puntino
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 0


Mostra profilo
« Risposta #3 inserita:: Giugno 15, 2007, 03:03:53 pm »

Grazie lordDreagon, ho fatto proprio come hai detto.
Ciao
PS
Il getRealpath non aggiunge da solo \"\\\"http://forum.ioprogrammo.it/images/icons/wink.gif
http://forum.ioprogrammo.it/images/icons/wink.gif

Ciao
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2011 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



Links to Page