【问题标题】:File Route path文件路由路径
【发布时间】:2012-02-24 18:01:53
【问题描述】:

我正在使用 Spring MVC 开发一个 Java Web 应用程序,我在这里遇到了一个小问题。

我正在向 W3C 发送 .css 文件以验证代码,这部分工作正常(验证部分),但要做到这一点,我需要项目中 .css 文件的路径,以便我可以创建文件对象并将其发送到 W3C。

我不知道如何(在我的逻辑中)写入 css 文件的路径。我不想使用绝对路径,所以我可以毫无问题地将我的应用程序移动到任何服务器。

在部署项目后,WAR 被移动到了 servlet,并且项目文件夹的结构与 WAR 不同!

我不知道如何告诉我的逻辑在哪里可以找到 .css 文件!

【问题讨论】:

  • 所以 CSS 文件不属于您的项目(WAR 文件)?也许你可以提供一个小例子,我不知道你的问题是什么(也许只是我)?
  • 他们在战争文件中!但我不知道我必须为我的逻辑提供什么路径! String fileCSSPath = "../resources/css/" ...

标签: java jsp path web


【解决方案1】:

好的,我知道该怎么做!这是它的方式

    String me = this.getClass().getName().replace(".", "/")+".class";
    me = this.getClass().getClassLoader().getResource(me).getPath();
    String[] route = me.split("WEB-INF");
    String servletUri = route[0];
    fileNameCSS = servletUri+"resources/css/"+file;

那么我在这里做什么?首先我得到了我所在的类的名称,然后我使用我的类的 getResource 并询问它的路径!它给了我服务器中漏洞项目的路径(/home/bterra/OneX/WEB-INF/等)!

现在我有了想要的信息!我的项目在服务器中的路由!然后我只是将字符串拆分为“WEB-INF”以获取服务器路径,以便稍后连接我的 css 所在文件夹的名称和我要验证的 css 的名称!

我确定这不是最好的方法……但它对我有用!如果你们知道更好的方法或正确的方法来做到这一点......请告诉我!

谢谢大家!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 2010-09-24
    • 2011-02-26
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多