我刚刚开始学习Java Web服务( JAX-WS ),有一个问题。参考文档总是谈到Web服务容器。我的问题是:什么是Web服务容器,我们为什么需要它。我在"java web services up and running“一书中看到了JAX-WS的一个简单示例,其中的web服务是使用以下命令发布的:
Endpoint.publish("http://127.0.0.1:9876/ts", new TimeServerImpl());此示例不要求我在web服务器/应用程序服务器或任何容器中托管Web服务。
我也能够访问这个网络服务。
那么什么是容器,为什么我们需要它来提供web服务呢?
发布于 2009-08-13 15:53:50
基本上,您只需要一些可以运行Java servlets的东西。典型的例子是Tomcat、Glassfish、JBoss、Jetty和许多其他公司。
其中Tomcat是最轻的,因为它“只”是一个servlet容器(JBoss和Glassfish是J2EE应用服务器),并且是servlet规范的参考实现。你也会发现很多使用它的IDE集成和教程。
发布于 2009-08-17 19:29:07
不同供应商( Websphere、Weblogic、JBoss)的web服务规范实现都是通过servlet实现的,您需要servelet容器来支持此servlet。此servlet专门用于处理基于SOAP的通信(具有SOAP头和正文的HTTP通信),而不是从浏览器发送的基于普通HTTP的POST/GET。
发布于 2009-08-17 19:34:17
您创建的web服务在容器中运行,在本例中是服务器。服务器可以运行多个应用程序,每个应用程序都有自己的容器。容器是必需的,因为它为执行源代码中包含的Java提供了一个独立的环境。
容器提供了安全性,因此如果一个应用程序由于问题而崩溃,其他应用程序不会崩溃。根据实现的不同,每个容器可以在自己的VM中运行,也可以跨多个VM运行。基本上,它们的存在是为了在独立于其他代码的环境中运行代码。
Here是一些关于容器概念的较早的(类似)文档。基本上,它们可以在不同的安全容器中运行,就像在Java中同时运行多个应用程序一样,这些应用程序由单个应用程序(web服务器)控制。
https://stackoverflow.com/questions/1272847
复制相似问题