2014-05-14 53 views
1

我在Tomee + 1.6.0(tomcat 7.0)中部署了一个webapp。该应用运行良好,我可以访问所有页面。在我的一个应用程序文件夹(myapp/intructions /)中,我放置了一个xml文件,我将通过客户端应用程序访问它。尝试通过URL访问tomcat中的xml文件,得到404错误

的应用程序将访问它的配置文件,并且将通过使用以下命令的批处理文件来调用:

"C:\Java\jre7\bin\java" -cp MyApp.jar com.me.MyApplicationStart "argument1" "argument2" 

在MyApplicationStart构造试图从URL访问配置

http://webserver:8080/myapp/instruction/myconfig.xml 

由于我无法控制上述方法,因此无法更改。我期望xml被下载(或获取)和我的应用程序工作正常,但相反,我得到一个404错误。如果我将配置文件的扩展名更改为.properties,则一切正常,但团队以外的其他人坚称我们使用xml作为配置文件,因为它可以实现更多自动化功能。

什么让我是为什么我不能从tomcat访问这个XML(或任何其他)文件。看起来,在以前的tomcat版本中,这不是问题,或者至少不是WEB-INF文件夹以外的文件。现在,它似乎是xml文件的专有,这表明有一个配置可以防止从webapp中的任何地方访问此扩展。

有人会知道这个配置是什么,或者这个错误背后的机制是什么?

在此先感谢。

+0

是否在文件浏览器渲染?我测试了我的应用程序根目录下的随机XML文件,并将其正确呈现。我试着用Tomcat示例应用程序以及像http:// localhost:8080/examples/myfile.xml – JoseK

+0

这样做,不过,这正是我想要的,但它给了我一个404。如果我选​​择另一个扩展,如属性它呈现良好...这就是为什么我感到困惑。我会想象有一个导致此问题的设置,但我无法找到它。 –

+0

你可以尝试我做的 - 在另一个应用中使用相同的myconfig.xml,例如'docs'或'examples' – JoseK

回答

0

出于安全原因,WEB-INF文件夹不能从客户端访问。

把你的xml文件放在其他位置。

,然后再试一次,它将工作

相关问题