基于Web访问tomcat目录之外的文件列表

时间:2009-08-25 14:43:16

标签: tomcat web-access

我有一个用例,我需要向用户显示一些列出的日志文件,点击每个日志文件后,它应该打开一个新窗口来显示该特定日志文件的内容。

environement在Java / Tomcat中。这些文件可能位于tomcat之外的目录中。

有人可以告诉我,这可能是最好的办法吗?

非常感谢, 桑托什

1 个答案:

答案 0 :(得分:0)

在众所周知的位置设置一个配置文件,允许安装webapp的人准确描述可以浏览的目录(或多个目录)。您绝对不希望webapp的用户能够浏览任何目录。

然后,您可以选择在页面加载时扫描配置的目录,也可以选择在单独的线程中扫描。如果在一个单独的线程中,webapp只需要显示后端线程保持填充的任何列表的当前内容。

为每个文件使用某种唯一ID。您不应该使用文件名,除非您准备进行各种清理并检查Web应用程序的用户是否未提交到服务器上其他位置的路径以及其中的字符是否安全。一个唯一的ID号将允许您查找(例如,在Map中)用户想要查看的文件。

最后,显示文件就像读/写一样简单,但您应该采用流式处理方法,而不是尝试一次读取整个文件,然后将其转储到连接上。

如果您不打算格式化文件,则应将内容类型设置为“text / plain”(默认为“text / html”,可能无法正常显示)。

如果你想格式化它,你需要弄清楚如何自己做。