¿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.
- Inicie sesión o regístrese para enviar comentarios
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:
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
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