【问题标题】:GWT - RPC - get servlet absolute path to make dirGWT - RPC - 获取 servlet 绝对路径以创建目录
【发布时间】:2011-12-22 11:20:57
【问题描述】:

我试图用我的“RemoteServiceServlet”读取一个文件,但问题是

  • 我想创建一个目录,该目录的路径与 servlet 相关,例如

absolute_servlet_path/myPackage/

但问题是……

类似代码

ServletContext servletContext = this.getServletContext();
String pathContext = servletContext.getRealPath("");

... 给出的不是 "C:/..." 而是 "/" ,因此代码不能与 java.io.File 对象一起使用。

所以我的问题是如何将 java.io.File 与 RemoteServiceServlet 一起使用?

【问题讨论】:

    标签: gwt file-io rpc


    【解决方案1】:

    好吧...我不得不继续挖掘...

    我仍然在寻找一种 servlet 相对路径但绝对路径的方法;现在我再次尝试使用上下文,但这次我朝这个方向修改了我的代码......

    ServletContext servletContext = this.getServletContext();
    String pathContext = servletContext.getRealPath("/WEB-INF/");
    

    ... 它适用于我的 Tomcat :)

    我希望它可以挽救一个人的一天

    谢谢

    【讨论】:

    • 我希望你明白这个目录是部署你的 WAR 文件的地方。当你重新部署你的应用程序时,你放在那里的任何东西很可能会被删除。
    • 当然 :) 我只需要它来处理我的网络应用临时文件。我没有使用 user.home 等,而是有一个相关的路径。所以对我来说没关系:)
    • 有点不合常规。也许您想看看创建临时文件的更标准方法,在这里讨论stackoverflow.com/questions/617414/…
    • +1 @Strelok 为您提供额外的评论。谢谢,但我真的找到了我想要的测试应用程序 :)
    【解决方案2】:

    我认为您误解了 servlet 的工作原理。 “servlet”只是一个通过 web.xml 文件配置的类,用于处理 URL 上给定路径上的请求。它现在与文件系统完全相关。

    为什么要创建一个相对于 servlet 的 URL 的文件夹?你想完成什么?

    【讨论】:

    • 我只是想获得与桌面应用程序相同的效果。它是默认路径,如“。”至于 File 对象。所以不要使用 user.home 或其他东西:)
    猜你喜欢
    • 1970-01-01
    • 2018-12-27
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多