-3

如何从 Java 类调用 Out of box CQ5 Jar 中的“/bin/wcmcommand”servlet。HTTPClient 和 URL Connection 两种方式我都无法对此 servlet 进行 POST 调用。我收到错误代码:500。

4

2 回答 2

1

不确定您所说的“已在 Out of box CQ5 Jar 中的 servlet”是什么意思。我从您的问题中了解到的是,您想HTTP GET/POST从 Java 类(而不是从 JSP!)中调用()一个 servlet。

我假设它是一个 Sling Servlet,并且已使用路径/资源类型或任何其他注册 servlet 的有效方式进行了注册。

如果它用“ path”注册,您可以通过多种方式触发 HTTP 请求。

参考:

使用 java.net.URLConnection 触发和处理 HTTP 请求

从 java 类调用 servlet

于 2015-08-19T15:24:26.677 回答
1

此 OOTB Sling servlet 仅接受 sling 请求对象。所以不能像普通的servlet一样在java类中直接使用HTTPClient调用。但是我的问题通过 servlet 通信得到了解决。我已将调用类从 java 类更改为 Sling servlet 类,然后我使用这样的 servlet 通信进行通信。

RequestDispatcher req = request.getRequestDispatcher("/bin/wcmcommand");
req.include(request,response);

我想用不同的值多次调用这个 servlet。所以我使用SlingServletRequestWrapper类来修改request.getParameter()每个调用的值。

于 2015-09-12T16:31:18.397 回答