style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

¿CÓMO DESPLEGAR ARCHIVO PDF EN UN JSP?

Estimados Colegas, para mi es un gusto dirigirme a ustedes con la siguiente inquietud. Tengo que desplegar en un jsp un archivo pdf, la novedad es que dicho pdf debe estar fuera del contexto del servidor de aplicaciones Jboss. Por ejemplo, el servidor está albergado en el disco C y el pdf está en el disco D. Cabe acotar que, he planteado la solución de colocar otro servidor que corra en otro puerto al que está levantado el servidor Jboss y así poder desplegar el archivo en cuestión. Pero dicha solución no fue aceptada. Les agradezco sus respuestas. Un saludo desde Ecuador.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Sería interesante saber la

Sería interesante saber la razón por la cual quieres esto, pero una solución es crear un servlet que esté configurado para leer de ese otro directorio y que sirva los recursos estáticos.

El servlet tendría que saber que archivo quieres leer y buscarlo en el directorio donde esta el pdf y escribirlo él mismo.

Algo como esto:

class FileServlet {
    public void doGet( HttpServletRequest req, HttpServletResponse resp ) {
         String file = req.getPathInfo();
         File f = new File("D:/some/dir/"+ file ); // validar que no se incluyan paths con directorio hacia arriba como ../../C://
         resp.getOutputStream().write( f ); //  escribir todo el archivo hacia al respuesta
     }
}        

Y crear el mapeo para que este servlet se ejecute sobre algun path como http://tuserver/pdfs/

Es importante saber la razón por la cual se necesita servir de otro directorio, si la razón es "por seguridad" puede ser incluso más riesgoso incluir una solución "from scratch" porque puede tener nuevos huecos de seguridad, por ejemplo si no se valida el path en el ejemplo anterior se podría exponer información de más como:

http://tuserver/pdfs/../../c/windows/System32/etc/hosts

Aquí hay más ejemplos:

Ejemplos:

http://stackoverflow.com/questions/417658/how-to-config-tomcat-to-serve-...
http://balusc.blogspot.com/2007/07/fileservlet.html

Otra posible alternativa es intentar hacer un vínculo simbólico, creo que eso ya se puede hacer desde windows xp y que apunte a otro directorio.

p.d. Que razón te dieron al rechazar tu alternativa?

Suerte

Imagen de Fabo

Nueva opción

Gracias por tu respuesta, sabes que se me permitió configurar un File Server para que por medio de este se publiquen los documentos que necesito. Ahora tengo un nuevo inconveniente, Usando la libreria org.apache.commons.net.ftp en una aplicación simple me permite subir un documento al File Server y a posterior leerlo, pero intento hacer lo mismo, esta vez usando JBOSS y al ejecutar la aplicación. No me indica ningún error pero tampoco sube el archivo al File Server. Conoces si esta libreria (org.apache.commons.net.ftp ) funciona con JBOSS y tal vez de alguna manera para subir archivo al File Server con JBOSS siendo mi servidor de aplicaciones? Existe alguna librería parecida?

Gracias de antemano

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">