【问题标题】:Implementing HTTPServlet interface in WebObjects application在 WebObjects 应用程序中实现 HTTPServlet 接口
【发布时间】:2014-05-27 09:09:53
【问题描述】:

我们需要在 webobjects 应用程序中实现 HttpServlet 接口。我们都知道“WebObjects 应用程序可以部署为 servlet 容器内的 servlet”。但是,我们的要求是在 webobjects 服务器中部署 servlet 应用程序。

请在以下内容上澄清一下。

  • 我们的 webobjects 服务器中有 servlet 容器吗?
  • 我们可以在 webobjects 应用程序中实现 HttpServlet 接口吗?

【问题讨论】:

    标签: java servlets webobjects servlet-container


    【解决方案1】:

    WO 本身不包含 Servlet 容器。正如您所注意到的,您宁愿将它本身作为另一个容器中的 Servlet 运行。

    当然,您可以在 WebObjects(之上的 Servlet API)中实现一个 Servlet 容器。您可以从使用自定义 WORequestHandler 或 WODirectAction 开始。 但这对我来说听起来很奇怪,也许你应该收集更多关于为什么你想要这样做的信息。在一个容器中同时运行 WO 和 Servlet 可能更有意义。

    【讨论】:

    • 我们想在 webobjects 中使用 servlet API。因为我们需要以 HttpServletRequest 和 HttpServletResponse 作为参数调用第三方 api 方法。现在我们正在接受 DirectAction 请求,我们需要调用该第三方 api。所以我们需要在 DirectAction 中将 WORequest 转换为 HttpServletRequest。但是我们不想在其他服务器上部署这个应用程序。我们应该只在 webobjects 中部署它。所以请告诉我,如何将 WORequest 转换为 HttpServletRequest 或其他选择。
    • 如何将 WORequest 转换为 HttpServletRequest?您只需坐下来编写转换代码?!根据 API 复制标头、方法、正文。
    • 另一种选择是将 Servlet 托管在常规容器中,然后使用 DirectAction 中的 HTTP 客户端调用它。这会更慢,但可能更容易。
    猜你喜欢
    • 2015-09-02
    • 1970-01-01
    • 2012-11-04
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多