我有一个域www.foo.com
,并希望在那里托管JAX-RS / Maven / Jersey网络服务。目前,我将Java代码打包成.war文件,并将其部署在Apache Tomcat 8.0 Web服务器上,以便在我的本地计算机上进行测试。
在/apache8/webapps/ROOT/index.html
(localhost:8080/
)中我有脚本标记,XMLHttpRequest对象在其中向localhost:8080/apiIndex/webapi/resource
发出get请求 - 它搜索我的Web服务目录中包含150的资源文件夹或所以图像。这些图像的完整路径名称将返回到我的Js代码,并且Js代码尝试从中创建图像以绘制到画布。
问题是,我收到网络错误,说Js无法找到/加载图片。
如何从我的Web服务目录中将index.html文件映射到我的域,这样当我将请求从我的域转发到我的服务器的端口8080时,我可以从我的Web服务包中的代码访问这些图像?这是tomcat webapps文件夹中的Js代码无法从我的API的src / java / resources文件夹中加载图像的原因吗?
答案 0 :(得分:0)
首先:/apache8/webapps/index.html
听起来不像是映射到localhost:8080
的内容。我宁愿期望在/apache8/webapps/ROOT
(以及该文件夹中的index.html文件)下部署/(root)webapplication。
我假设带有图像的Web应用程序部署在/ apache8 / webapps / apiIndex下。如果这产生,正如你所说"完整的路径名称"您的图片无法找到:这些完整路径名称是什么,您希望它们在哪里?你得到404错误代码或其他东西 - 比如500吗?请在文件夹中发布网址和预期的位置。
(这是作为答案而不是评论发布的,因为我希望初始描述可以帮助您自己找到问题的根源,而第二部分则有效地要求提供更多信息)
编辑:发表评论:恕我直言,您的网络服务应该返回对图像的http或https引用,而不是文件引用。如果还有其他内容,您可能需要在其前面添加file:///home/...
,以便浏览器考虑获取它。但是,如果您的浏览器显示http文档,则出于安全原因,它甚至可能不会跨域并嵌入本地文件资源:为什么本地磁盘上的任何Web服务器引用材料?
将您的图片放在可以通过http引用它们的地方,问题应该解决。