如何为单个 java Web 应用程序使用两个端口号?

How to use two port numbers for a single java web application?

我正在 Eclipse IDE 中的一个 java Web 项目中工作。项目运行良好,我们使用 Apache tomcat 7 作为服务器。现在要访问应用程序,我们使用 URL 作为 localhost:8080/APPNAME/。效果很好。

在我的项目中有一个 servlet,它将由 eclipse 之外的其他 java 文件请求。此 java 文件作为 localhost:8080/ServletName 向 servlet 发出请求。

现在我的导师告诉我的是,所有请求都可以使用 8080 端口,但对于那个特定的 servlet,他想要他自己的端口号,例如 localhost:4121/ServletName。可能吗 ?如果可能请告诉我怎么做。?我是新的这种要求。请告诉我是否有解决方案。这将是很大的帮助。谢谢。

找出 tomcat 安装 eclipse 正在使用。在您的 tomcat 安装下有一个 conf/server.xml 文件。您为所需的端口添加一个新的 HTTP 连接器并重新启动 tomcat。现在您可以 tomcat 侦听您添加的额外端口。

<Connector port="4121" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" 
           URIEncoding="UTF-8" />

现在 'bind' 将特定的 servlet 连接到像这样的端口,您将不得不进行一些修改。除了在不同的端口上 运行 两个 tomcat 实例之外,没有直接的方法。破解可能基于 this SO Post.