Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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
文件路径gwt应用程序托管模式_Gwt_Tomcat_Servlets_Path - Fatal编程技术网

文件路径gwt应用程序托管模式

文件路径gwt应用程序托管模式,gwt,tomcat,servlets,path,Gwt,Tomcat,Servlets,Path,我想知道如何获取文件的路径,以便在托管模式下访问它。我的应用程序正在使用servlet读取一些文件。最初,这些文件位于文件夹“war”(例如“war/data/file1.txt”)下,在开发过程中一切正常,servlet读取文件并将数据发送给客户端。但是,我在Tomcat中部署应用程序时遇到了问题 我复制了文件夹war的内容,并将其放在“webapps”目录下的文件夹中(在Tomcat中)。在开发模式下,我使用路径“data/file1.txt”访问数据文件,但这在托管模式下不起作用,因为我发

我想知道如何获取文件的路径,以便在托管模式下访问它。我的应用程序正在使用servlet读取一些文件。最初,这些文件位于文件夹“war”(例如“war/data/file1.txt”)下,在开发过程中一切正常,servlet读取文件并将数据发送给客户端。但是,我在Tomcat中部署应用程序时遇到了问题

我复制了文件夹war的内容,并将其放在“webapps”目录下的文件夹中(在Tomcat中)。在开发模式下,我使用路径“data/file1.txt”访问数据文件,但这在托管模式下不起作用,因为我发现在使用该路径时,servlet在Tomcat安装目录的“bin”文件夹中查找文件,而不是在应用程序的文件夹中

因此,我想知道如何通过编程找到访问文件的正确路径,并在将应用程序部署到Tomcat或任何其他服务器时避免出现问题。

使用。您可以从
Servlet.getServletConfig().getServletContext()
获取ServletContext的实例

您看到它在开发模式下工作而不是在Tomcat中工作的原因是路径通常是相对于工作目录的。如果您在web应用程序目录中启动Tomcat,或者修改Tomcat快捷方式使其在web应用程序中具有工作目录,则可能也可以使Tomcat工作。但你绝对不应该依赖它

使用。您可以从
Servlet.getServletConfig().getServletContext()
获取ServletContext的实例


您看到它在开发模式下工作而不是在Tomcat中工作的原因是路径通常是相对于工作目录的。如果您在web应用程序目录中启动Tomcat,或者修改Tomcat快捷方式使其在web应用程序中具有工作目录,则可能也可以使Tomcat工作。但你绝对不应该依赖它

看看GWT.isProdMode()。如果在生产模式下运行,则返回true;如果在开发模式下运行,则返回false。您可以通过将其放置在if语句中来选择适当的路径

查看GWT.isProdMode()。如果在生产模式下运行,则返回true;如果在开发模式下运行,则返回false。您可以通过将其放置在if语句中来选择适当的路径。当涉及到GWT时,获取servlet上下文的一个好方法似乎是调用
servlet.getServletContext()
,其中
servlet
是您的服务的servlet,它应该扩展
RemoteServiceServlet
类。无论如何,您的解决方案也适用于我的GWT应用程序。谢谢。说到GWT,获取servlet上下文的一个好方法似乎是调用
servlet.getServletContext()
,其中
servlet
是服务的servlet,它应该扩展
RemoteServiceServlet
类。无论如何,您的解决方案也适用于我的GWT应用程序。谢谢