Javascript IBM Worklight-如何调用servlet?

Javascript IBM Worklight-如何调用servlet?,javascript,servlets,ibm-mobilefirst,worklight-adapters,worklight-server,Javascript,Servlets,Ibm Mobilefirst,Worklight Adapters,Worklight Server,我正在使用Worklight(版本6.1.0.00-20131126-0630),并在服务器端包server/java/com.myproject.servlet中创建了一个servlet 如何调用我的Servlet 在许多论坛上,人们说用HTTP适配器调用servlet。我假设当我运行worklightserver时,我的servlet由worklight web容器实例化,因此我认为我不必在适配器过程中实例化servlet 但是,要从Worklight客户端的公共/mycall.js文件调用

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

如何调用我的Servlet

在许多论坛上,人们说用HTTP适配器调用servlet。我假设当我运行worklightserver时,我的servlet由worklight web容器实例化,因此我认为我不必在适配器过程中实例化servlet


但是,要从Worklight客户端的公共/mycall.js文件调用MyServlet服务方法,需要哪些步骤?您不应该将servlet放在Worklight Server中

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

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

您需要将这个servlet部署到某个web服务器上


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

您还需要提及(在问题中,编辑它)您的:Worklight版本,如果您使用任何应用程序服务器(tomcat、was、liberty等)。Worklight版本:6.1.0.00-20131126-0630-应用程序服务器(当前):Worklight Development server(liberty)我的答案是一样的。对不起,也许我不明白,我不使用web.xml,但是@WebServlet注释来取代传统的web.xml,它仍然会被Worklight的On build所取代。Worklight Server不是web服务器。当您说“您可以像使用任何其他HTTP后端系统一样使用HTTP适配器来访问它”时,您的意思是类似以下适配器过程的内容:function testServlet(data){var myServlet=new com.myproject.servlet.myServlet();return myServlet.service(?,);}调用servlet方法的方式是什么?在适配器过程中使用HttpClient?谢天谢地,我的印象是servlet正在将传入的请求“列表化”到特定的URL;您的HTTP适配器需要向此URL发送请求。
@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
    }
}