2010-04-16 95 views
1

我想创建一个通过REST提供/接受json文件的Web服务器。被提供的JSON文件将来自数据库查询并将结果格式化为JSON。 对于一个好的java库有任何建议。我尝试过使用Apache HTTPComponents。 虽然也许我可以创建一个servlet,但我并没有真正允许在服务器机器上安装一个servlet容器。用于实现自定义Web服务器的Java库建议

编辑: 我只是想创建一个程序,我可以简单地发出一个简单的java -jar Application.jar,并且所有东西都已经启动并且功能正常。应用程序将侦听机器的某个端口并响应来自浏览器和/或另一个Java程序的一些请求。看起来Jetty会帮助我做到这一点。正如我所说的,我已经使用HTTPComponents实现了一些东西,我只是简单地解析请求中的URL,然后根据解析的URL在服务器中执行一些操作。

+0

如果您不被允许安装servlet容器我不确定他们会很高兴与您安装自定义的web服务器。这听起来像一个最适合于servlet的工作。 – Pace 2010-04-16 13:40:43

回答

1

我是古老的Jetty的巨大粉丝。它小而直接。技术上它是一个servlet容器(它更多的是嵌入式HTTP服务器),但是你可以将它嵌入你自己的应用程序中。它还支持Java REST库,如Jersey

1

CXF是一个梦幻般的Web服务库。它内置了对REST的支持,但我自己并没有尝试过这个特殊功能。 CXF在默认情况下使用Jetty,但它被设计为可以很容易地适应Tomcat或其他servlet容器。

+0

不错,我还没有尝试CXF之前... – 2010-04-16 14:12:13

0

你真的需要一个Web服务器的所有开销和复杂性?这听起来像你真正需要的是一个套接字监听器。

1

我建议在看看:

我喜欢他们:

  • 双方你可以运行嵌入式(作为罐子)。
  • 它们都支持“异步事件驱动”/ NIO体系结构。码头有这个continuations。 NIO是处理IO的新方式,具有更好的扩展能力。
+0

你的Jetty将是一个不错的选择吗?也许可以使用RESTlet来实现RESTful Web服务? – dexter 2010-04-16 20:51:07

+0

我想你们都可以在Jetty和Netty上实现REST。我的第一个选择是坦白的说实话。最近我一直在玩很多,我非常喜欢它。占地面积小,速度非常快。但也是码头是一个非常好的包。很多大公司都使用Jetty。例如,Google的Java应用程序引擎在Jetty上运行。实现REST接口在很大程度上是关于纪律的。很好地记录你的API。但Netty/Jetty支持GET/PUT/POST/DELETE语义(很容易),这是实现REST API /接口所必需的。 – Alfred 2010-04-17 01:14:20