Как вызвать класс сервлета /bin/wcmcommand из Java Class в CQ5

Как вызвать сервлет "/bin/wcmcommand", который был внутри Готового CQ5 Jar из Java Class. HTTPClient и URL Connection, так как я не могу сделать POST-вызов этого сервлета. я получаю код ошибки:500.

2 ответа

Не уверен, что вы имели в виду под "сервлетом, который был внутри коробки из CQ5 Jar" . Что я понял из вашего вопроса, вы хотите позвонить (HTTP GET/POST) сервлет из класса Java (а не из JSP!).

Я предполагаю, что это Sling Servlet и был зарегистрирован с типом пути / ресурса или любым другим допустимым способом регистрации сервлета.

Если его зарегистрировано с "pathmsgstr "вы можете вызвать HTTP-запрос разными способами.

Рекомендации:

Использование java.net.URLConnection для запуска и обработки HTTP-запросов

вызов сервлета из класса Java

Этот сервлет OOTB Sling принимает только объект запроса Sling. поэтому нельзя напрямую вызывать с помощью HTTPClient в классе Java, как обычный сервлет. Но моя проблема была решена с помощью связи с сервлетами. Я изменил вызывающий класс с Java-класса на класс сервлетов Sling, затем я общался с помощью сервлет-связи, как это.

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

Я хочу вызвать этот сервлет несколько раз с разным значением. Так что я использовал SlingServletRequestWrapper класс для модификации request.getParameter() цени каждый звонок.

Другие вопросы по тегам