In definitiva, è ciò che l'applicazione fa a determinare dove sono archiviati i file.
Di conseguenza, l'applicazione sta memorizzando i file nella directory corrente della JVM, che risulta essere la directory "bin" quando si avvia il server Web tramite NetBeans. In tal caso, li troverai, indipendentemente dalla directory corrente, quando Tomcat viene avviato come servizio Windows.
Francamente, penso che tu abbia sbagliato. Dovresti prendere una decisione consapevole in merito al caricamento dei file deve essere memorizzato e quindi assicurarti che il meccanismo di caricamento che stai utilizzando li collochi lì.
Ovviamente, metterli nella directory corrente è una cattiva idea. Non vuoi che vengano memorizzati in posti diversi a seconda di come viene avviato il contenitore web. E ovviamente la directory "bin" è un luogo inappropriato. (Che cosa succede se l'utente tenta di caricare un file il cui nome corrisponde uno degli script che vivono in "bin"?)
Allora, dove dovrebbe si essere mettere i file?
A mio parere, hai tre scelte:
in una sottodirectory della directory work
... che è dove Tomcat mette convenzionalmente file transitori, come compilato JSP.
In una sottodirectory personalizzata della directory di installazione di Tomcat.
In una directory separata da qualche altra parte nel file system.
non si dovrebbe essere caduta quindi nella directory webapp, perché i file non sono in genere spazzati via quando la webapp viene ridistribuito, e perché c'è un rischio maggiore che ha caricato i file interferirà con il vostro webapp.
Non dovresti lasciarli nel cestino o nei registri o nelle directory lib o config a causa del rischio di interferenze ... e perché semplicemente non sono il luogo logico.
Se si desidera scrivere i file relativi alla radice della directory di installazione di Tomcat, si può scoprire di cosa si tratta chiamando System.getProperty("catalina.base")
.
Ma qualunque cosa tu faccia, devi assicurarti che un utente non possa caricare accidentalmente o deliberatamente i file nel posto sbagliato; ad esempio, fornendo un percorso assoluto o un percorso che utilizza "../../...." per uscire dall'area di caricamento.
Sì, so che il mio progetto è nella directory webapps. Tuttavia, volevo sapere dove poteva scrivere il server tomcat e archiviare i file mentre la mia webapp è in esecuzione. Grazie comunque. – braindead
Qui la cartella ROOT è la radice del tuo Tomcat. La prima pagina index.jsp che vedi risiede in quella cartella. Che tipo di file sta scrivendo Tomcat e supponiamo di archiviare? –