2011-10-29 48 views
0

我只是测试了从servlet保存到文件,并且我希望这适用于我托管此应用程序的位置。将文件保存在tomcat上的servlet应用程序中,如何找出应用程序的根目录?

目前从Web上可查看的文件没有安全问题。

有没有一种方法可以找出当前正在运行的应用程序文件夹,或者我可以将这些信息存储在我的web.xml中,并检索它并将其存储在一个静态变量中,然后在我的应用程序servlet类中引用它?

我不想在每次网页渲染时在配置文件中执行查找,速度对于我正在玩的这个愚蠢的小测试非常重要。

回答

2
ServletContext.getRealPath("/"); 

这就是说,你不会每次查找适当的值在文件中,你要么将它指定为一个init-PARAM,或在启动时加载它,并把它存储在应用程序上下文。

+0

我目前拥有最多的bear bone hello world servlet,我怎么能在启动时加载它并从应用上下文中存储/检索?谢啦! – Blankman

+0

@Blankman可以在init()方法(IIRC)中执行它,或者每次查找init-param。现在不记得该怎么做,而是快速搜索“servlet init param”应该是你需要去做的所有事情:) –

+2

@Blankman这就是说,我会非常谨慎地将文件保存到应用程序的上下文中;他们可以在重新部署时被删除,而且如果部署一个war文件通常是不可能的。 –

相关问题