2011-11-05 2 views
5

J'ai essayé de lire un fichier avec mon « RemoteServiceServlet » mais la chose estGWT - RPC - servlet obtenir le chemin absolu pour faire dir

  • Je veux créer un répertoire quel chemin est lié à servlet comme

absolute_servlet_path/myPackage/

Mais le problème est ...

Code

comme

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

... ne donne pas "C:/..." mais "/" seulement si le code ne peut être utilisé avec un objet java.io.File. Donc, ma question est de savoir comment utiliser java.io.File avec RemoteServiceServlet?

Répondre

3

OK ... je devais continuer à creuser ...

encore que je cherchais un moyen de servlet chemin relatif, mais un absolu; et maintenant encore j'essayé d'utiliser le contexte, mais cette fois, je modifié mon code dans cette direction ...

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

... et ça a marché pour mon Tomcat :)

J'espère qu'il sauve sa journée

Merci

+0

J'espère que vous comprenez que ce répertoire est l'endroit où votre fichier WAR est déployé. Lorsque vous redéployez votre application, tout ce que vous y mettez sera probablement effacé. – Strelok

+0

Bien sûr :) J'en avais seulement besoin pour mes fichiers temporaires de l'application Web. Je n'ai pas utilisé user.home etc mais pour avoir un chemin associé. Donc c'est OK pour moi :) – user592704

+2

Un peu décalé. Peut-être que vous voulez jeter un oeil à des moyens plus standard pour créer des fichiers temporaires, discuté ici http://stackoverflow.com/questions/617414/create-a-temporary-directory-in-java – Strelok

1

Je pense que vous vous méprenez sur le fonctionnement des servlets. Un "servlet" est juste une classe configurée via le fichier web.xml pour traiter les demandes sur un chemin donné à une URL. C'est maintenant lié au système de fichiers du tout. Pourquoi voudriez-vous créer un dossier par rapport à l'URL de votre servlet?

Qu'est-ce que vous essayez d'accomplir?

+0

J'essaie juste d'obtenir le même effet que l'application de bureau. C'est le chemin par défaut comme "." comme pour l'objet File. Donc, ne pas utiliser user.home ou quelque chose :) – user592704

Questions connexes