2011-11-05 16 views
5

Traté de leer un archivo con mi "RemoteServiceServlet", pero la cosa es- GWT RPC - llegar servlet ruta absoluta para hacer dir

  • Quiero crear un directorio qué camino se relaciona con servlet como

absolute_servlet_path/myPackage/

Pero el problema es ...

código como

ServletContext servletContext = this.getServletContext(); 
String pathContext = servletContext.getRealPath(""); 

... da no "C:/..." pero "/" solamente por lo que el código no se puede utilizar con objeto java.io.File.

Entonces mi pregunta es ¿cómo puedo usar java.io.File con RemoteServiceServlet?

Respuesta

3

OK ... que tenía que seguir cavando ...

Aún así yo estaba buscando una manera de ruta relativa servlet, pero un absoluto uno; y ahora de nuevo traté de usar el contexto, pero esta vez he modificado mi código en esta dirección ...

ServletContext servletContext = this.getServletContext(); 
String pathContext = servletContext.getRealPath("/WEB-INF/"); 

... y funcionó para mi Tomcat :)

espero que salva a uno de los días

Gracias

+0

Espero que comprenda que este directorio es donde se despliega su archivo WAR. Cuando vuelvas a desplegar tu aplicación, todo lo que coloques ahí probablemente será borrado. – Strelok

+0

Claro :) Lo necesitaba solo para los archivos temporales de mi aplicación web. No utilicé user.home, etc., pero tengo una ruta relacionada. Así que está bien para mí :) – user592704

+2

Un poco poco convencional. Quizás quiera echar un vistazo a las formas más estándar de crear archivos temporales, que se analizan aquí http://stackoverflow.com/questions/617414/create-a-temporary-directory-in-java – Strelok

1

Creo que no entiende cómo funcionan los servlets. Un "servlet" es solo una clase configurada a través del archivo web.xml para procesar solicitudes en una ruta dada en una URL. Está relacionado en este momento con el sistema de archivos.

¿Por qué le gustaría crear una carpeta relativa a la URL de su servlet? ¿Qué está tratando de lograr?

+0

Solo intento obtener el mismo efecto que la aplicación de escritorio. Es la ruta predeterminada como "." como para el objeto File. Para no utilizar user.home o algo :) – user592704