可以将我自己创建的Web服务部署到任何PC而无需安装任何Web服务器应用程序,例如:tomcat?我想让它像任何PC中的代理/插件一样。为了访问Web服务,我只需要访问http://:8080 / web_service。有关于此的任何建议吗?
答案 0 :(得分:20)
甚至比运行Jetty更轻,你可以使用Java内置的HttpServer。
您需要编写自己的代码来解析请求数据,但这肯定是可行的。
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)