0

我正在使用 Worklight(版本 6.1.0.00-20131126-0630)并且我在服务器端包server/java/com.myproject.servlet中创建了一个 servlet

@WebServlet(name = "MyServlet", displayName = "MyServlet", urlPatterns = {  "/MyServlet/*" }, initParams = {
    @WebInitParam(name="targetUri", value="http://localhost:8080"),
    @WebInitParam(name="log", value="false"),
    @WebInitParam(name=ClientPNames.HANDLE_REDIRECTS, value="false")
    },
    loadOnStartup = 1)

public class MyServlet extends HttpServlet {
    private static final long serialVersionUID = 1966243950602823405L;

    @Override
    protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
            throws ServletException, IOException {
            super.service(arg0, arg1);

            //TODO: IMPLEMENTATION
    }
}  

调用我的 Servlet 的方法是什么?

在许多论坛中,人们说使用 HTTP 适配器调用 servlet。我想当我运行我的 worklightserver 时,我的 servlet 由 worklight web 容器实例化,所以我认为我没有在适配器过程中实例化 Servlet。

但是,从 Worklight 客户端的 common/mycall.js 文件调用 MyServlet 服务方法的步骤是什么?

4

1 回答 1

1

您不应将 servlet 放在 Worklight Server 中。

为了让您的 servlet 在 Worklight Server 中工作,您需要手动编辑 web.xml 文件,否则服务器将无法识别 servlet 并且不会侦听任何传入请求。

但是,web.xml 是 .war 文件的一部分;在 Worklight Studio(在 Eclipse 中,Worklight Server 实例是其中的一部分)中的每次构建操作时都会重新生成此文件,因此 web.xml 也会重新生成,您添加的内容将丢失。

您需要将此 servlet 部署到某个 Web 服务器。

然后,您可以像使用任何其他 HTTP 后端系统一样使用 HTTP 适配器来访问它。请参阅 HTTP 适配器的文档

于 2013-12-23T13:03:21.030 回答