En última instancia, es lo que hace su aplicación lo que determina dónde se almacenan los archivos.
Por lo que parece, su aplicación está almacenando archivos en el directorio actual de la JVM, que resulta ser el directorio "bin" cuando inicia el servidor web a través de NetBeans. Si es así, los encontrará, en cualquier directorio actual, cuando se inicie Tomcat como un servicio de Windows.
Francamente, creo que lo has entendido mal. Debería tomar una decisión consciente en cuanto a que los archivos cargados deberían estar almacenados en, y luego asegurarse de que el mecanismo de carga que está utilizando los coloque allí.
Obviamente, ponerlos en el directorio actual es una mala idea. No desea que se almacenen en lugares diferentes según cómo se inicie el contenedor web. Y obviamente el directorio "bin" es un lugar inapropiado. (¿Qué pasa si el usuario intenta cargar un archivo cuyo nombre coincide con uno de los guiones que viven en "bin"?)
Entonces, ¿dónde debería que puede colocar los archivos?
En mi opinión, usted tiene tres opciones:
En un subdirectorio del directorio work
... que es donde Tomcat convencionalmente pone archivos transitorios tales como JSP compilado.
En un subdirectorio personalizado del directorio de instalación de Tomcat.
En un directorio separado en otro lugar en el sistema de archivos.
Usted no debería estar disminuyendo luego en el directorio webapp, ya que los archivos no están normalmente impresionados cuando se vuelve a desplegar la aplicación web, y porque hay un mayor riesgo de que los archivos subidos va a interferir con su aplicación web.
No debería dejarlos caer en el contenedor o registros o lib o configurar directorios debido al riesgo de interferencia ... y porque simplemente no son el lugar lógico.
Si desea escribir archivos relativos a la raíz del directorio de instalación de Tomcat, se puede averiguar lo que es llamando System.getProperty("catalina.base")
.
Pero sea lo que sea que haga, debe asegurarse de que un usuario no pueda cargar accidental o deliberadamente archivos en el lugar equivocado; por ejemplo, proporcionando un nombre de ruta absoluto, o un nombre de ruta que usa "../../...." para escapar de su área de carga.
Sí, sé que mi proyecto está en el directorio webapps. Sin embargo, quería saber dónde podría el servidor Tomcat escribir y almacenar los archivos mientras se está ejecutando mi aplicación web. Gracias de cualquier manera. – braindead
Aquí la carpeta ROOT es la raíz de su Tomcat. La primera página index.jsp que ve reside en esa carpeta. ¿Qué tipo de archivos está escribiendo Tomcat y supuestamente almacenar? –