一尘不染

如何使用在Tomcat上运行的servlet进行文件I / O

tomcat

我正在使用Tomcat作为容器编写Java servlet,该Java
servlet创建并向最终用户提供PDF文件。当前,PDF文件是在内存中创建的,并作为对POST的响应写出。

我想对此进行一些更改,以便将PDF文件写入磁盘(以便以后可以再次使用它们)。我在为此找到合适的“方法”时遇到了麻烦。

如何配置我的servlet以从目录服务器端写入和读取文件?
从阅读的内容来看,$CATALINA_BASE出于安全原因,我认为需要将此目录放置在“爆炸的Webapp”所在的外部位置,并且需要使用a
Context或类似名称。


阅读 291

收藏
2020-06-16

共1个答案

一尘不染

您可以只使用通常的FileOutputStreamFileInputStream类分别写入磁盘和从磁盘读取数据。更改要生成的PDF生成器,FileOutputStream并更改要读取的文件servlet
FileInputStream

而且,的确,您希望将这些文件存储在webapp之外,否则,每当您重新部署webapp时,它们都会丢失。您不需要ServletContext,仅相对Web路径转换为绝对磁盘文件系统路径很有用。将其存储在Webapp外部时不需要它,即已经知道磁盘文件系统的绝对路径。

也可以看看

2020-06-16