2014-03-26 75 views
3

我一直在浏览JAX-WS RI文档,并且遇到了非Java EE 5 servlet和Java EE 5 servlet容器的术语。非Java EE 5 servlet和Java EE 5 servlet容器之间有什么区别?

The documentation/samples discusses how to use JAX-WS in a non-Java EE 5 servlet container using a proprietary deployment descriptor sun-jaxws.xml and servlet com.sun.xml.ws.transport.http.servlet.WSServlet. This means that you can run JAX-WS RI applications in any servlet container that has been enabled with the JAX-WS RI. Applications that use the proprietary DD and servlet will run in a JAX-WS RI enabled Java EE 5 servlet container, but they will be non-portable. If you wish to use JAX-WS in a Java EE container in a Java EE portable manner you need to use the standard Java EE 5 deployment descriptor; please refer to the Java EE 5 or Glassfish documentation/samples

那么究竟是非Java EE 5的servlet和Java EE 5的servlet容器?是否因为不同的java和servlet规范版本?

回答

2

在J2EE介绍JAX-WS实现5
非全如Tomcat J2EE servlet容器不理解太阳jaxws.xml,
所以你需要添加库,使其工作。

+0

这是否意味着Java EE 5 servlet容器带有自己的Jax-Ws API实现? – user68883

+0

@ user68883,是http://en.wikipedia.org/wiki/Java_API_for_XML_Web_Services#Implementations和Metro是参考实现。 – chro

+0

这不仅是JAX-WS。有更多的API不包含在非JEE容器中。例如,EJB3。 – kaqqao

0

不确定,但我将它读作“在Java EE 5 servlet容器之前的版本中”,例如, J2EE 1.4 servlet容器