java - 各种网络相关技术之间的区别?

标签 java jsp

嘿嘿!我一直想知道 web 容器、web 服务器、servlet 容器、应用程序服务器、web 框架、web 平台等之间的区别是什么。这些术语一直让我感到困惑。在谷歌上搜索得到了一些答案,但有时,网上的信息很矛盾。

根据我的理解,应用服务器是一个复杂的东西,它包括一个网络服务器和更多的东西,比如业务逻辑支持,EJB。 Web 服务器只处理简单的 http。 Web 容器是一个 Web 服务器并提供 servlet/JSP 支持。我对吗?有人可以阐明这些技术吗?也许一些引用和比较将不胜感激。我知道可能已经问过类似的问题 - 但他们要么没有得到正确回答,要么有相互矛盾的答案,或者不比较上面提出的所有技术。提前致谢!

最佳答案

也许您只是在表达对科技行业缺乏通用术语的失望,但这是我的尝试:

web 容器 - 这可能与下面的应用程序服务器相同,但专门用于 web 应用程序。

网络服务器 - 即 Apache、IIS 等。通过网络提供内容。也可用于指代通过 Web 提供内容的硬件。即“我可以访问数据库,但 Web 服务器不会响应我的 ping”。

servlet 容器 - 即 Tomcat、Jetty、Weblogic 等。这是一个特定于 Java 的术语。它指的是实现 java servlet 规范的东西。

应用程序服务器 - 即 Weblogic、Websphere、Tomcat 等。在您部署应用程序的地方(java 领域的 war/ear 文件)。 Servlet 容器是一种应用程序服务器。应用程序服务器还可以做其他事情,比如处理消息传递。应用服务器充当您的应用与其周围环境之间的一层。

网络框架 - 一个框架/库,您可以使用它更轻松地编写网络应用程序。如果愿意,您可以编写裸 servlet,但像 struts/tapestry/wicket/etc 这样的框架可能会使它更容易。一些框架可能针对特定的应用服务器。

网络平台 - 我将其定义为应用服务器附带的一种网络框架 - 即一切都在一个盒子里。您还可以使用该术语来指代诸如内容管理系统之类的东西,这些系统可以让您构建网站 - 即 Drupal

关于java - 各种网络相关技术之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4600976/

相关文章:

java - Spring MVC CSS/JS 未找到

java - 线程异常

java - 如何在应用程序启动时触发 servlet 执行?

java - JSTL 将字符串视为表达式语言

java - Spring:Tomcat 响应中的 HTTP 状态 406

ajax - 将 Spring 应用程序从 Glassfish 迁移到 Tomcat

java - 为什么hibernate/ehcache二级缓存在同一个 session 中总是丢失?

java - 创建一个不能添加指定类型的泛型集合

java - tomcat中的自定义用户库文件夹

java - dhtmlxform.send 响应在警报提示中正确显示,但字符串比较不起作用