我有一个用例,我需要向用户显示一些日志文件列表,单击每个日志文件时,它应该打开一个新窗口来显示该特定日志文件的内容。
环境是Java/Tomcat。这些文件可能驻留在 tomcat 之外的目录中。
有人可以告诉我,这样做的最佳方法可能是什么......?
非常感谢,桑托什
我有一个用例,我需要向用户显示一些日志文件列表,单击每个日志文件时,它应该打开一个新窗口来显示该特定日志文件的内容。
环境是Java/Tomcat。这些文件可能驻留在 tomcat 之外的目录中。
有人可以告诉我,这样做的最佳方法可能是什么......?
非常感谢,桑托什
在众所周知的位置设置一个配置文件,允许安装 webapp 的人准确描述可以浏览的目录(或目录)。您绝对不希望 webapp 的用户能够浏览任何目录。
然后,您可以选择在页面加载时或在单独的线程中扫描配置的目录。如果在单独的线程中,webapp 只需要显示后端线程保持填充的任何列表的当前内容。
为每个文件使用某种唯一 ID。你不应该使用文件名,除非你准备好进行各种清理和检查 webapp 的用户没有提交到你服务器上其他位置的路径并且其中的字符是安全的。唯一的 ID 号将允许您查找(例如在地图中)用户想要查看的文件。
最后,显示文件就像读/写一样简单,但您可能应该采用流式方法,而不是尝试一次读取整个文件,然后通过连接将其转储。
如果您不打算格式化文件,您可能应该将内容类型设置为“text/plain”(默认为“text/html”,可能无法正确显示)。
如果要对其进行格式化,则需要自己弄清楚如何进行。