Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在linux debian操作系统中的tomcat web服务器上部署数据文件_Linux_Tomcat - Fatal编程技术网

如何在linux debian操作系统中的tomcat web服务器上部署数据文件

如何在linux debian操作系统中的tomcat web服务器上部署数据文件,linux,tomcat,Linux,Tomcat,我有一个使用JSP和Servlet开发的web应用程序。此web应用程序部署在以DebianLinux为操作系统的服务器上,Tomcat版本为5.5.31。由于此应用程序需要一些数据文件,因此在使用独立java应用程序完成设置时,将自动创建这些数据文件。此应用程序部署在另一台计算机上。此设置已完成。由于我对Debian Linux不太了解,也不知道我的应用程序在哪里,所以我对这些自动生成的数据文件的部署有一些疑问,如下所示 当我创建web应用程序的.war文件并使用Tomcat Manager进

我有一个使用JSP和Servlet开发的web应用程序。此web应用程序部署在以DebianLinux为操作系统的服务器上,Tomcat版本为5.5.31。由于此应用程序需要一些数据文件,因此在使用独立java应用程序完成设置时,将自动创建这些数据文件。此应用程序部署在另一台计算机上。此设置已完成。由于我对Debian Linux不太了解,也不知道我的应用程序在哪里,所以我对这些自动生成的数据文件的部署有一些疑问,如下所示

  • 当我创建web应用程序的.war文件并使用Tomcat Manager进行部署时。所以我不知道我的申请书到底去了哪里。我不知道确切的路线。我怎么找到它

  • 是否可以为部署在Debian Linux服务器上的web应用程序创建FTP?我认为如果创建FTP是可能的,那么我将使用我的独立Java程序直接连接到FTP,并且可以轻松地创建文件以及其他文件和目录操作


  • 如果您部署了war,那么应用程序本身就不在文件系统中的任何位置。大多数服务器都会将战争解包到某个地方,但你不应该依赖于它在哪里

    我可以想出几个选择:

  • getServletContext().getAttribute(“javax.servlet.context.tempdir”)获取应用程序的临时目录,然后将此位置通知外部程序,并将文件放在其中的某个已知位置

  • 在应用程序之外安排一个“已知位置”,例如/tmp/where或/var/cache/your app/where来放置这些文件。(注意:/tmp通常在linux机器启动时进行清理)

  • 至于从远程机器将文件上传到服务器:你可以让你的客户端直接将文件上传到你的webapp(类似apachehttpclient的东西会帮你),这意味着你可以不用上面的“知道位置”。但是,如果您想在应用程序之外执行此操作,我会避免FTP(出于安全考虑)。相反,我会选择scp(安全副本)

    编辑:稍微阅读一下行之间的内容,您在数据文件中提到了“设置”。如果这是一个配置文件,在应用程序运行后不会更改,您可能会发现在服务器上执行“部署”步骤更方便,只需在部署之前获取设置文件并将其添加到war。以“蚂蚁战争”为例,这很容易。然后可以使用getClass().getResourceStream(..)或类似的方法访问该文件