我不太清楚哪些Web服务器支持用Java编写的Web服务的细节。
想知道以下三件事:
1)支持Web服务需要什么:只有Servlet容器或Application Server + Web容器?
2)想知道所有支持Web开发的Web服务器支持Web服务吗?
3)如何识别特定服务器是否支持Web服务?
提前感谢你。
答案 0 :(得分:1)
你的问题有点不清楚。术语 Web服务适用于从REST样式API到基于SOAP的服务到基于JSON等的任何内容。维基百科说等效的是Web API,API可以是相当多的任何东西。
所以回答你的问题。 servlet容器足以支持大多数常见类型的Web服务,它不需要应用程序服务器。看一下Apache CXF,它是一个迎合很多Web服务样式(特别是SOAP和REST)的框架。
Apache CXF是一个相当大的框架,可能需要一些时间来解决问题。如果你需要更简单的东西,你可能最好看一些对象序列化框架并自己实现servlet(这是我的主要做法)。要序列化为XML,请使用现成的Java JAXB注释。要序列化为JSON,请使用Jackson。
答案 1 :(得分:1)
假设您正在通过JAX-WS讨论SOAP WS- * Web服务。
Java EE 5+规定在容器内支持JAX-WS兼容的Web服务,包括Web App级别和EJB级别。因此,任何完整的现代App Server都将内置JAX-WS支持。
Servlet 2.x和3.0没有要求在容器级别支持JAX-WS,但JAX-WS的所有主要实现都可以部署在现代Servlet容器(如Tomcat)中的WAR中。
Java EE 6提供Web配置文件,但Web配置文件不包含JAX-WS。 Java EE 6完整配置文件包括JAX-WS(SOAP,WS- * Web服务)和JAX-RS(用于HTTP和更多RESTful Web服务)。
所以
如果捆绑自己的实现,所有容器都应该适合您。如果您希望将其构建到容器中,则需要一个完整的Java EE 5或Java EE 6 App Server。