2012-02-24 170 views
0

我正在开发一个Java Web应用程序与Spring MVC,我在这里有一个小问题。文件路径路径

我送.css文件到W3C验证码,这部分工作得很好(验证部分),但要做到这一点,我需要在我的项目中.css文件的路径,所以我可以创建文件对象,将其发送给W3C。

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

在部署项目之后,WAR将它移动到servlet,并且项目文件夹的结构与WAR不一样!

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

+1

所以CSS文件不是你的项目(WAR文件)的一部分?也许你可以提供一个小例子,我不知道你的问题是关于什么的(也许这只是我)? – home 2012-02-24 18:15:26

+0

他们在战争文件!但我不知道我必须给我的逻辑什么路径! String fileCSSPath =“../resources/css/”... < - 这就是我想要的!如何在.war中编写css文件的路径! – BrunoX 2012-02-24 19:05:51

回答

0

好吧我想出了如何做到这一点!这里它的如何

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/etc等)!

现在我有信息通缉!我的项目在服务器上的路线!然后,我只是在“WEB-INF”中拆分字符串以获取服务器路径,以便稍后将concance文件夹的名称和我想要验证的css的名称相关联!

我确定这不是最好的方式来做到这一点......但它适用于我!如果你们知道更好的方法或正确的方法来做到这一点... PLX让我知道!

谢谢大家!