PDA

View Full Version : [Java + Apache Tomcat] Cambiare la root directory di un'applicazione


itised
26-01-2008, 15:53
Salve. Sto sviluppando un'applicazione web che utilizza le pagine JSP e si trova a lavorare con la creazione e la cancellazione di files. Funziona perfettamente ma vorrei perfezionare una questione; la mia applicazione si chiama "aaftx" e index.html č posizionato in

DirectorydiTomcat\webapps\aaftx

L'applicazione deve lavorare su files che si trovano in

DirectorydiTomcat\webapps\aaftx\data

Ora, quando faccio la dichiarazione di un file mi trovo costretto a fare, per esempio:

File file = new File ("webapps\\aaftx\\data\\collections.xml");

perchč la pagina prende come root la directory

DirectorydiTomcat\

mentre io vorrei che prendesse come root la directory

DirectorydiTomcat\webapps\aaftx\

per poter quindi fare la dichiarazione

File file = new File ("data\\collections.xml");

in quanto vorrei che il programma funzionasse per esempio anche in uno spazio web pubblico e non solo sotto Apache. Esiste una maniera di settare questa cosa? Grazie in anticipo.

kingv
27-01-2008, 09:07
č normale che se non indichi nulla usi la root directory del server tomcat, se la sposti all'interno della tua applicazione non funzionerebbe pių niente.

molto semplicemente passa un parametro alla tua web application (puoi farlo nel web.xml o se preferisci in un file esterno letto all'avvio dell'applicazione) in cui indichi la directory in cui vuoi che scriva i file e nel codice ti regoli di conseguenza. cosė facendo puoi anche adattare la tua applicazione per funzionare su macchine o webapp server differenti.

itised
27-01-2008, 15:24
Ad esempio?:D

kingv
28-01-2008, 08:22
Ad esempio?:D

ehm scusa ad esempio cosa? :fagiano:

itised
28-01-2008, 21:59
Un esempio di cosa dovrei aggiungere o modificare nel web.xml :p

kingv
29-01-2008, 09:33
qui trovi un documento che spiega molto bene come passare parametri a servlet e jsp:
http://www.oracle.com/technology/sample_code/tech/java/codesnippet/servlets/ReadInitParams/ReadInitParams.html