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

时间:2009-08-18 06:39:52

标签: java web-services

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

9 个答案:

答案 0 :(得分:20)

甚至比运行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

答案 1 :(得分:4)

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

答案 2 :(得分:3)

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

答案 3 :(得分:3)

您需要监听http连接的内容。幸运的是,Java 6在默认运行时中具有您所需的一切。

看看:

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

答案 4 :(得分:2)

你提到Tomcat是你不想做的事情的一个例子,但Tomcat可以在嵌入式模式下运行,从应用程序内部启动它:

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

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

答案 5 :(得分:1)

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

答案 6 :(得分:1)

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

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

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

答案 7 :(得分:1)

同样的问题 Lightweight Webservice producing in Java (without an application server)

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

答案 8 :(得分:0)