Java 如何在tomcat服务器端口号8888上指向图像的外部目录?

Java 如何在tomcat服务器端口号8888上指向图像的外部目录?,java,tomcat7,Java,Tomcat7,我是tomcat管理部门的新手。 我有一组映像位于VPN的C:驱动器中,但位于tomcat服务器之外 我有一个在Tomcats 8080端口上运行良好的web应用程序 现在我想把上面的图片文件夹移植到8888端口 因此,如果有人加载类似(localhost:8888/images/)的url,他将在这里获得所有图像 加载urllocalhost:8080/MyServerApplication/将获得我的web应用程序。这是最复杂的方法。理想情况下,您应该使用反向代理来服务静态内容并代理weba

我是tomcat管理部门的新手。 我有一组映像位于VPN的
C:
驱动器中,但位于tomcat服务器之外

我有一个在Tomcats 8080端口上运行良好的web应用程序

现在我想把上面的图片文件夹移植到8888端口

因此,如果有人加载类似(
localhost:8888/images/
)的url,他将在这里获得所有图像


加载url
localhost:8080/MyServerApplication/
将获得我的web应用程序。

这是最复杂的方法。理想情况下,您应该使用反向代理来服务静态内容并代理webapp。所以你可以让static.mysite.com指向你的图片,让www.mysite.com指向你的Tomcat

但是,如果你真的真的想用另一种方式来做,你需要:

  • 在server.xml中添加一个新块,该块定义映像服务,侦听端口8888
  • 创建一个images.war web应用程序,仅包含静态图像
  • 将webapp部署到新服务

  • 为什么不把webapps中的一个文件夹链接到C:?

    中的文件夹呢?我用apache24解决了这个问题。
    我将图片文件夹指向httpd.conf文件。

    您可以在不同的端口上定义两个不同的HTTP
    连接器,但我不确定您是否可以将不同的Web应用重定向到不同的端口。我在Catalina的localhost文件夹中编写了上述xml,如果我调用URL localhost:8888/images/imageurl,这将显示实际图像文件夹中的URL。这个很好用。但我希望这些图像来自URL localhost:8888/imageurl。显示图像需要进行哪些更改。为什么不更改根路径(
    path=“/”
    )的路径?实际上我想在我的webapp中使用这些图像。我在数据库中存储了图像名称。我在代码中加了前缀www.myapp.com:8888来显示这些图像。我的应用程序在www.myapp.com上运行的位置:8080端口。这是因为即使我在不同的服务器上更改了代码,我也不需要更改代码。是的。这并没有改变答案。然而,您的设计中有两个明显的缺陷。由于您正在硬编码SiteBaseURL,因此需要更改代码,或者更改所有其他内容。第二个缺陷是,默认情况下,大多数公司防火墙将阻止端口80以外的任何端口。