不使用Web服务器部署Java Web服务

可以将我自己创建的Web服务部署到任何PC而无需安装任何Web服务器应用程序,例如:tomcat? 我想让它像任何PC中的代理/插件一样。 为了访问Web服务,我只需要访问http://:8080 / web_service。 对此有何建议?

甚至比运行Jetty更轻,你可以使用内置于Java的HttpServer。

http://java.sun.com/javase/6/docs/jre/api/net/httpserver/spec/com/sun/net/httpserver/package-summary.html

您需要编写自己的代码来解析请求数据,但它肯定是可行的。

http://blogs.operationaldynamics.com/andrew/software/free-java/sun-secret-webserver.html

看看Jetty ,一个非常轻便的servlet容器

看看Apache CXF 。 它可以将jetty用于独立的Web服务。 它与Spring集成,可以很容易地将一个Web服务添加为spring-bean,只需很少的额外代码。

你需要一些监听http连接的东西。 幸运的是,Java 6在默认运行时中拥有您所需要的一切。

看一下:

http://hofmanndavid.blogspot.com/2008/11/easiest-way-to-publish-java-web.html

您提到Tomcat作为您不想做的事情的示例,但Tomcat可以在嵌入模式下运行,从应用程序内部启动它:

http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/catalina/startup/Embedded.html

说,我推荐Jetty,它比Tomcat更轻盈。

我认为Spring Web服务也可以配置为在“假的”Web服务器上运行 – 肯定会在Spring Web服务论坛上讨论这个问题(我需要相同的东西,但最终因为其他问题而使用Web服务器)问题)

我一直在关注这个非常基本的教程,它只是你想要的

http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/

看起来Java SE 6平台有一个小型Web应用程序服务器,它将在JVM运行时发布Web服务。

与使用Java生成的轻量级Web服务相同的问题(没有应用程序服务器)

javax.xml.ws.Endpoint.publish("http://localhost:8000/myService/", myServiceImplementation);