如何从普通的JAVA类通过AJAX调用OSGI servlet?

时间:2014-11-18 11:14:51

标签: java java-ee servlets osgi cq5

这听起来很奇怪,但我有一个项目要求,我有一个OSGI包,它有servlet,我需要在java中的另一个web项目中调用这个servlet。

要求:当我点击AJAX请求(我的OSGI包中的servlet在路径上注册 - "bin/redeem/search")到包含servlet的OSGI包时,它应该返回响应。

我做了什么:我创建了一个OSGI包,其中包含一个带有业务逻辑的servlet。

开发设置:我使用MyEclipse作为IDE,我设置了一个Web项目,假设将AJAX请求激发到OSGI包。

或者,有没有办法可以将我的servlet打包为JAR或WAR,之后我可以从其他网络应用程序发出AJAX请求?

建议将受到关注。提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你有一些CQ5实例,其中一些servlet绑定到url http://somedomain/bin/redeem/search。 你需要从其他常规网络项目中调用它。

然后您可以使用Apache HttpClient来调用您的servlet。

它看起来像:

HttpClient client = new HttpClient();
GetMethod method = new GetMethod("http://somedomain/bin/redeem/search");

try {
  int statusCode = client.executeMethod(method);

  //check status code

  byte[] responseBody = method.getResponseBody();

  // Do something with response from your serlvet

} catch (Exception e) {

    // handle exception
} finally {
  method.releaseConnection();
}  

此外,首先,您可能需要登录系统或允许匿名访问。 完整示例您可以找到here

如果我理解你错了,请提供详细信息或一些伪代码。