这听起来很奇怪,但我有一个项目要求,我有一个OSGI包,它有servlet,我需要在java中的另一个web项目中调用这个servlet。
要求:当我点击AJAX请求(我的OSGI包中的servlet在路径上注册 - "bin/redeem/search"
)到包含servlet的OSGI包时,它应该返回响应。
我做了什么:我创建了一个OSGI包,其中包含一个带有业务逻辑的servlet。
开发设置:我使用MyEclipse作为IDE,我设置了一个Web项目,假设将AJAX请求激发到OSGI包。
或者,有没有办法可以将我的servlet打包为JAR或WAR,之后我可以从其他网络应用程序发出AJAX请求?
建议将受到关注。提前谢谢。
答案 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。
如果我理解你错了,请提供详细信息或一些伪代码。