码头,杰克逊和泽西 - 洞察力

Tin*_*tin 0 java jetty jersey jackson

我最近开始开发rest apis并且偶然发现了这些条款 - jetty,jackson&jersey.我在普通日食时使用球衣成功开发了休息api.

我相信jackson是为了促进xml/java对象的反序列化和序列化.但它是什么 - 它只是一个jar文件的集合? - 如果是的话,如果我已经在使用jersey框架(如果我的apis处理xmls),我可以/我应该同时使用它吗?

同样,什么即Jetty - 我下载它并看到了很多文件夹和文件 - 而且它们不仅仅是罐子的集合!如果它是一个框架,我可以在球衣上使用它吗?如果是的话,它看起来很重 - 我认为处理HTML内容可能只是几个罐子.但看起来还有很多东西.

如果我的apis处理所有媒体类型,这三件事情是否可以一起使用?如果是,那么最好的方法是什么?

谢谢.

Dan*_*lan 8

Jetty是一个servlet容器.

Jersey是一个允许您在Java中开发restful apis的库.

Jackson是一个用于JSON处理的java库.

Jetty可用于"服务"servlet和jsps.Jersey可用于构建其余资源,但需要在servlet容器上运行.如果没有Jersey,你将直接处理servlet,这将比你想要的更低.并且Jackson可用于将您的Java对象与JSON序列化.

杰克逊可能比泽西岛扮演更多角色,我不确定.但是,您可以点击我提供的链接来了解更多信息.

  • 通常将其视为:Jetty是servlet容器,因此它会读取传入的请求并将其传递给您已注册的jersey servlet,如果它是json内容,则可以使用jackson将其调整为更适合使用的内容.你可以使用弹簧来构建并将你的物体注入你的球衣设置中,或者你也可以通过码头或弹簧以嵌入式方式启动你的码头,我们(码头)支持你喜欢的任何策略 (3认同)