Breve de JSF: Obtener la ruta física del contexto de la aplicación web desde Java Server Faces
Este código puede servirnos por ejemplo en una ruta de descarga o carga de archivos.
La ruta física del contexto de la aplicación web o incluso de un directorio es posible obtenerla desde Java Server Faces.
Dentro de un Managed Bean puede ser en el constructor
- paranoid_android's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
Bueno saberlo, pero malo usarlo
Ciertamente es bueno saber que esto se puede hacer, pero hay que evitar usarlo para la ruta de descarga o carga de archivos.
Los archivos de carga y descarga siempre deberia subirse en una carpeta separada de la aplicacion, para evitar contaminar la carpeta de la aplicacion, con archivos que ademas nos arriesgamos a perder la proxima vez que hagamos un nuevo deployment de la aplicacion (es tan facil darle click en "undeply" o en "redeploy" y observar impotentes mientras nuestro servidor (Tomcat, u otro) borra la carpeta de la aplicacion y se lleva consigo a los archivos cargados por los usuarios.
Lo mejor es mantener limpio nuestro deployment, con exclusivamente los archivos que se requieren para que la aplicacion se ejecute y mantener cualquier archivo cargado posteriormente por el usuario en otra carpeta (o guardados en la base de datos)
Es una solución volátil,
Es una solución volátil, cada necesidad es diferente y debe tenerse criterio para usarla o no. En nuestro caso la utilizamos para un directorio de trabajo que no hay problema que se destruya con cada re-deploy.
Útil como directorio temporal
Así es, por ejemplo para cuando necesitas un directorio para crear archivos y luego subirlos para que el usuario lo descarge se me hace muy útil.
Para otros escenarios como histórico o almacén de archivos aplica muy bien la solución de luxspes.
Javier Ramírez Jr.