Java 在Tomcat中加载资源
我正在用Tomcat7尝试一个简单的web应用程序。它在index.html中有一个javascript调用,用于加载属性文件。使用以下代码进行get调用Java 在Tomcat中加载资源,java,tomcat7,war,web-inf,embedded-tomcat-7,Java,Tomcat7,War,Web Inf,Embedded Tomcat 7,我正在用Tomcat7尝试一个简单的web应用程序。它在index.html中有一个javascript调用,用于加载属性文件。使用以下代码进行get调用 var req = new XMLHttpRequest(); req.open("GET", "xyz.properties"); req.onreadystatechange = function() { if (req.readyState == 4) { if (req.status == 200) {
var req = new XMLHttpRequest();
req.open("GET", "xyz.properties");
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status == 200) {
}
}
}
req.send();
尝试了以下用例
Class.getResource
或等效工具通过类加载器定位资源时,就会发生这种情况
但当你向你的webapp发送一个GET请求时,情况就不是这样了。GET请求根本不涉及类加载器。相反,它必须由servlet处理;e、 一个是您自己编写的,一个是从JSP生成的,或者是“默认”servlet。。。可用于提供内容文件
假设您希望提供通过类加载器定位的属性文件,servlet的doRequest
或doGet
方法需要:
- 找到资源,并将其作为输入流打开
- 打开请求输出流
- 将输入流复制到输出流,然后
- 关闭输入流
如果您这样做,该方法需要确保它只提供您想要的特定资源。允许客户端获取类加载器可以找到的任何资源将是一个非常糟糕的主意 我认为,容器将使用类加载器来加载资源。但显然从你的解释来看,情况并非如此。那么,它是否只是试图在web存档中查找该资源的相对路径?至于类加载器,要使用它,必须通过servlet/filter/etc显式调用它。