1

我仍在阅读有关 REST 解决方案的信息,并决定使用 RESTlet 来实现 WebServices,使用 Jackson 将响应作为 JSON 提供。

在此之前我使用过 Axis2,但它的性能让我感到害怕:一个简单的请求需要数百毫秒才能返回客户端,而且客户端和服务器都在同一台机器上!(我将重做基准测试,比以前做得更好,现在比较直接调用、Axis2 和 RESTlet+Jackson。)

我知道 RESTlet 可以在许多容器上使用,并且我找到了一些集成 Tomcat 和 RESTlet 的教程。但据我了解,这意味着将 RESTlet 应用程序直接绑定到 Tomcat 中。

我的问题是,使用 Axis2,我能够拥有一个独特的 eclipse 项目,我在其中开发 servlet 来处理浏览器请求和服务 HTML 页面,以及为非浏览器客户端提供服务的 Axis2 WebService。这个 Eclipse 项目作为一个独特的战争导出,包含我所有的代码和所有必需的 jar,然后我将它部署在 Tomcat 上,并从一个独特的服务器上运行它。

例如:

我想用 RESTlet 做同样的事情:

如您所见,Eclipse 必须通过正确的 web.xml 配置创建这场战争,才能完成“魔法”。它适用于 Axis2,但我不知道如何使用 RESTlet。

另一个问题。如果我不需要 Servlet 并且只需要一个 RESTlet WebService,那么对于像十几个并发数百个请求的客户端来说,哪个容器最有效?

4

1 回答 1

1

绝对可以:我个人倾向于使用 NetBeans/Maven,因此只能提供指向最终 xml 设置的指针,但是......

我的 web.xml 包含:

<servlet>
    <servlet-name>ServerServlet</servlet-name>
    <servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
    <init-param>
        <param-name>org.restlet.application</param-name>
        <param-value>my.Application</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>ServerServlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

对于 Tomcat,context.xml:

<Context path="/rootPath"></Context>

您当然可以根据需要向这些添加数据源和参数。

我的剩余路由由在 my.Application 类中设置的 Restlet 本身处理,方法是覆盖 org.restlet.Application 中的 createInboundRoute() 和扩展 ServerResource 的映射(路由)类上的注释。

于 2013-02-20T13:21:00.980 回答