我对 servlet 很陌生。我收集了一些关于他们的信息,请告诉我我错在哪里。Apache 是一个将在服务器机器上运行的服务器,基本上它是一个应用程序。我们的 java Servlet 也将驻留在服务器机器上,并将与该服务器交互。基本上 apache 仅用于接受请求,如果它包含 URL 中要求的网页,它会通过创建套接字将其发送回客户端。如果它不包含网页,它会与我们的 Servlet 应用程序交互,这将给它以 html 格式的网页,并进一步将其发送回客户端。apache 服务器与 java servlet 的交互对我们完全隐藏。我们所有的 java servlet 都将包含在 tomcat 容器中。
5 回答
有 Apache 基金会、Apache 项目、Apache 许可证和 Apache 旗下的各种项目。
最著名的项目/产品是 Apache httpd,即网络服务器,通常只命名为“Apache”,但您也可以总结该名称下的所有其他组件。
“Apache Tomcat”是一个 servlet 容器/应用程序服务器,您可以使用它来托管 java web 应用程序。
“Apache httpd”通常用作前端网络服务器,通过名为 mod_proxy 或 mod_jk 的组件(可能还有其他组件)与“Apache tomcat”通信
或者,换句话说,我不知道你在问什么,但这也许有助于识别具有相同(或相似)名称的不同项目。
免责声明:我也可能错误地使用不同的名称......
Apache Web 服务器 - 是一个用 C 语言编写的服务器,它处理 HTTP 协议并提供普通的 Web 内容,例如 HTML 页面、图像等。它还支持各种用于动态内容的插件,例如服务器端包含、PHP 和连接到 Servlet 容器。它本身不是一个 servlet 容器。
Apache Tomcat - 也是一个 Web 服务器,用 Java 编写。它是专门为 Servlet 设计的,但也提供 HTML 和图像。在过去,它比本地 Apache Web Server 慢一点(由于 JVM 开销和面向 servlet 的设计),因此在某些架构中,您将拥有一个 Apache Web Server 服务于正常的静态内容(HTML、Javascript、图像等)。并有一个处理程序连接到 Tomcat 以获取动态 servlet 生成的内容。它可能仍然是高可扩展性要求的首选架构,但有时这也会使事情变得更加复杂,因此值得商榷。
两者都由同一个开源基金会 Apache 维护。还有其他 Web 服务器(例如 nginx)和 servlet 容器(例如 Jetty)。
对于包括我在内的一些人来说,当我们谈论 Web 服务器时,通常 apache 意味着 apache httpd。对于某些特定情况,您是正确的。Apache是擅长处理静态页面的服务器,而tmocat是擅长生成动态页面的服务器(例如您提到的servlet)。它们中的任何一个都可以独立使用。正如您所提到的,它们也可以与 apache 处理静态页面和 tomact 处理 servlet 一起使用。而 mod_jk 是提供 apache 和 tomcat 之间桥梁的模块。
不,Apache 是一个自由软件基金会。Apache HTTPD 是一个服务器。
哦,不,您可以在 Google 上找到更多相关信息。通常 Apache 是开源产品开发基金。他们有大量的开源项目。
你应该参考这些