IBM Worklight - 如何调用servlet?

时间:2013-12-23 11:38:50

标签: javascript servlets ibm-mobilefirst worklight-adapters worklight-server

我正在使用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服务方法有哪些步骤?

1 个答案:

答案 0 :(得分:1)

您不应将servlet放在Worklight Server中。

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

但是,web.xml是.war文件的一部分;在Worklight Studio中的每个构建操作(在Eclipse中,Worklight Server实例所在的位置)中重新生成此文件,因此也会重新生成web.xml,并且您的添加将丢失。

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

然后,您可以像使用任何其他HTTP后端系统一样使用HTTP适配器来访问它。 See the documentation for HTTP adapters