gpt4 book ai didi

java - 您可以向 servlet 网络应用程序添加一个额外的入口点吗?

转载 作者:行者123 更新时间:2023-11-30 09:55:10 25 4
gpt4 key购买 nike

假设您有一个使用普通 servlet、SpringMVC 或其他任何东西的标准 java 网络应用程序。您还想要(无论出于何种原因)一种不使用 HTTP 与服务器通信的方式 - 我将使用直接套接字,因为这是我能想到的最简单的示例。

编写网络应用程序很容易,您可以使用 servlet 作为入口点。编写一个监控端口的 Java 应用程序也很容易。但是两者兼而有之呢?没有黑客就允许吗?如果事实证明我们同意这是一个坏主意,那么更好的架构是什么?请注意,这背后的动机之一是性能......我们可以轻松地让两个单独的应用程序共享一个数据库,但更愿意避免将数据库用作通信工具,因为信息可以缓存在内存中很多更高效。

最佳答案

所以我假设有一个 Java EE 容器在起作用,比如 Tomcat。如果你想让它在 80 之外的其他端口上监听,当然可以。在 Tomcat 的情况下,您将在 server.xml 中创建一个新的 Connector,并指定您喜欢的任何端口。

如果您希望此连接器使用自定义协议(protocol),则需要实现并注册您自己的客户 Connector。我没有做过,但看起来很简单。

如果您通过两种协议(protocol)响应基本相同的请求,则使用具有不同端点的服务器是有意义的。我想这会使共享所有通用逻辑变得容易得多。

即使您想运行一个单独的应用程序,这样做仍然可能是值得的,因为您将利用容器的连接管理等。

关于java - 您可以向 servlet 网络应用程序添加一个额外的入口点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2959235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com