gpt4 book ai didi

java - Tomcat 和我的 JSP/Servlet 应用程序之间的区别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:08:10 24 4
gpt4 key购买 nike

我正在学习 JSP 和 Servlet,而且我是初学者。我试图了解服务器、应用程序服务器、Tomcat 和我的 Servlet 应用程序之间的区别。

例如,我在教程中找到了以下信息:“Web 浏览器可能是客户端,而托管网站的计算机上的应用程序可能是服务器。客户端(浏览器)提交 HTTP向服务器请求;然后服务器将响应返回给客户端。”

服务器到底是谁?服务器是tomcat吗?或者我的 Servlet/JSP 应用程序是服务器?我知道我的 JSP/Servlet 应用程序将响应发送回客户端,然后我认为它是服务器...谁是 Tomcat,它到底做了什么?

提前致谢!

最佳答案

在现实世界中,服务器(也称为 Web 服务器)和应用程序服务器是两个截然不同的事物,但它们协同工作:

  • the (web) server通过 HTTP 协议(protocol)处理传入的网络请求。Httpd Apache、IIS 和 nginx 是网络服务器。
  • the application server是一个软件框架,它提供了创建网络应用程序的设施和运行它们的服务器环境。

关于 Servlet/JSP,这些既不是服务器也不是 Web 应用程序。这些是 Web 应用程序的基本部分(WAR 文件或目录中的分解 WAR)。

Web 应用程序(Java 中的 WAR)部署在应用程序服务器(Java 中的 Servlet 容器)上。 Tomcat 和 Jetty 代表了这种服务器。由于多种原因,这些服务器通常依赖于 Web 服务器:提供 HTTP 静态资源(图像、css、js...)、代理优势、SSL 等...

这里是请求及其响应如何通过不同节点传输的模式(括号之间的数字表示序列中的顺序):

                  Web browser  |  Web server  |   Tomcat   | web app targetedhttp request  :     req (1)   ->    req (2)  ->  req (3)  ->   req (4) http response :     res (8)   <-    res (7)  <-  res (6)  <-   res (5) 

请注意,在本地环境中,您可能没有配置 tomcat 的 Web 服务器。因此,您可以将此节点视为架构中的可选节点。

附带说明一下,在 Java 世界中,您还拥有 Java EE 服务器,这实际上是另一回事。他们必须执行 JEE 服务器标准。 JBoss、Glassfish 或 Weblogic 就是其中的例子。
这些是 Servlet 容器的替代品,但越来越少使用,因为它更重。

关于java - Tomcat 和我的 JSP/Servlet 应用程序之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50855535/

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