2016-07-15 59 views
1

我有一个部署在Tomcat 8服务器上的java rest服务,这个Tomcat 8安装在Ubuntu服务器上。tomcat 8使用tomcat位于webapps上的访问映像

我的Java REST Web服务的工作是,它保存图像到以下位置

/opt/tomcat/webapps/TestWebService/WEB-INF/image/xyz.image 

图像被成功救上上述地点

但我想通过URL来访问这些图片像

http://192.168.1.185:8080/TestWebService/WEB-INF/image/xyz.image

所以,我怎么能做到这一点?

我正在使用Tomcat 8和Java。

+0

访问你写一个servlet,读取数据的字节流。您只需在html img元素中使用servlet URL即可。类似于[从数据库读取img数据的这个答案](http://stackoverflow.com/a/2341322/744133)。 – YoYo

+1

另一种方法是将'server.xml'修改为[以另一个答案为例](http://stackoverflow.com/a/1812356/744133),以便在Web应用程序的上下文中包含图像路径。 – YoYo

+0

请勿暴露WEB-INF文件夹的内容。将图像放置在资源文件夹或Web应用程序本身内的其他文件夹中。 – ManoDestra

回答

1

的Java Web容器的规范不允许实现者服务WEB-INF文件夹内的文件。如果您希望Tomcat提供图像内容,请将文件放在WEB-INF文件夹之外。

/opt/tomcat/webapps/TestWebService/image/xyz.image 

您可以通过

http://192.168.1.185:8080/TestWebService/image/xyz.image 
+0

我更改了我的代码并成功创建了图像“/opt/tomcat/webapps/TestWebService/images/20160718195340.png”,但是当我访问“http://192.168.1.185:8080/TestWebService/images/20160718195340.png”页面为空白。 – user3441151