Hola:
webapp no es un sitio adecuado para guardar documentos o cosas generadas. Si despliegas un war nuevo (nueva versión), todos esos documentos desaparecen (tomcat o el servidor que uses, borra el proyecto, incluido los documentos y luego desempaqueta el war).
Guarda los documentos en un directorio del disco totalmente aparte (fuera de webapp). Para poder acceder a ellos y descargarlos debes hacer un servlet que a partir de la url, algún parámetro de la url o lo que quieras, vaya a buscar el documento al path donde lo tengas y lo vaya leyendo para enviarlo en la respuesta. Aquí tienes un ejemplo de como se hace
http://www.codejava.net/java-ee/serv...d-file-example
En cuanto al "encripatdo", cuando subes o generas un docuemnto, creas el documento y generas una clave para ese documento mas o menos aleatoria (un hash, un uuid, o lo que quieras) y guardas, normalmente en base de datos, esa clave a qué fichero corresponde. Cuando descargas el documento, debes pasar como parametro (el ejemplo que pones archivo?mKDsdJDS5656asddsADSD...") la clave que deseas al servlet. En el servlet haces la consulta a base de datos para saber esa clave a qué documento corresponde y con el mecanismo anterior envias el fichero al navegador.
Saludos.