文件路径gwt应用程序托管模式
我想知道如何获取文件的路径,以便在托管模式下访问它。我的应用程序正在使用servlet读取一些文件。最初,这些文件位于文件夹“war”(例如“war/data/file1.txt”)下,在开发过程中一切正常,servlet读取文件并将数据发送给客户端。但是,我在Tomcat中部署应用程序时遇到了问题 我复制了文件夹war的内容,并将其放在“webapps”目录下的文件夹中(在Tomcat中)。在开发模式下,我使用路径“data/file1.txt”访问数据文件,但这在托管模式下不起作用,因为我发现在使用该路径时,servlet在Tomcat安装目录的“bin”文件夹中查找文件,而不是在应用程序的文件夹中 因此,我想知道如何通过编程找到访问文件的正确路径,并在将应用程序部署到Tomcat或任何其他服务器时避免出现问题。使用。您可以从文件路径gwt应用程序托管模式,gwt,tomcat,servlets,path,Gwt,Tomcat,Servlets,Path,我想知道如何获取文件的路径,以便在托管模式下访问它。我的应用程序正在使用servlet读取一些文件。最初,这些文件位于文件夹“war”(例如“war/data/file1.txt”)下,在开发过程中一切正常,servlet读取文件并将数据发送给客户端。但是,我在Tomcat中部署应用程序时遇到了问题 我复制了文件夹war的内容,并将其放在“webapps”目录下的文件夹中(在Tomcat中)。在开发模式下,我使用路径“data/file1.txt”访问数据文件,但这在托管模式下不起作用,因为我发
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应用程序。谢谢