有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javascript为什么Js不能从我的web服务目录加载图像文件?

我有一个域www.foo.com,希望在那里托管一个JAX-RS/Maven/Jersey web服务。目前,我正在将Java代码打包到一个应用程序中。war文件,并将其部署在Apache Tomcat 8.0 web服务器上,以便在本地计算机上进行测试

/apache8/webapps/ROOT/index.htmllocalhost:8080/)中,我有一个脚本标记,其中XMLHttpRequest对象向localhost:8080/apiIndex/webapi/resource发出get请求,该对象在我的web服务目录中搜索一个资源文件夹,其中包含150个左右的图像。这些图像的完整路径名将返回到我的Js代码中,Js代码将尝试从这些图像中创建要绘制到画布的图像

问题是,我收到一个网络错误,说Js无法找到/加载图像

如何映射索引。html文件从我的web服务目录中发送到我的域,这样当我将请求从我的域转发到服务器的8080端口时,我就可以从我的web服务包中的代码访问这些图像了?这就是tomcat webapps文件夹中的Js代码无法从我的API的src/java/resources文件夹加载图像的原因吗


共 (1) 个答案

  1. # 1 楼答案

    首先:/apache8/webapps/index.html听起来不像是映射到localhost:8080的东西。我更希望/(root)webapplication部署在/apache8/webapps/ROOT(以及该文件夹中的index.html文件)下

    我假设您的带有图像的web应用程序部署在/apache8/webapps/apindex下。如果它生成了图像的“完整路径名”,那么就找不到:这些完整路径名是什么,您希望它们在哪里?你会收到404个错误码或其他类似的东西吗?比如500个?请在文件夹中发布URL和预期位置

    (这是作为回答而不是评论发布的,因为我希望最初的描述能够帮助您自己找到问题的根源,而第二部分实际上是在询问更多信息)

    编辑:根据您的评论:IMHO您的Web服务应该返回对图像的http或https引用,而不是文件引用。如果有其他的东西,你可能需要用^ {CD4}}来预置它,以便浏览器考虑得到它。但是,如果您的浏览器显示http文档,出于安全原因,它甚至可能不会跨越该域并嵌入本地文件资源:为什么会在本地磁盘上显示任何Web服务器参考资料

    把你的图片放在一个可以通过http引用的地方,这个问题应该会得到解决