2014-10-21 2 views
0

Я только что создал сервлет Sling через maven.packaging as - «bundle», затем я установил его внутри системной консоли CQ5.как вызвать сервлет сервлета через пакет osgi внутри CQ5

В моем списке показано активное состояние и все необходимые пакеты .. экспортированы успешно.

но я, когда я называю эту связку, чтобы использовать сервлет ... ничего не произошло. Это не дает мне ответа. Есть ли лучший способ создать сервлет sling и создать пакет OSGI, чтобы я мог установить его как пакет в CQ5, чтобы вызвать сервлет из компонента.

ответ

0

Вы можете создать SlingSerlvet следующим образом.

@SlingServlet(
     paths={"/services/myapp/LoginController/validateUser","/services/myapp/LoginController/logout"}) 
     @Properties({ 
      @Property(name="service.pid", value="com.xxx.xxx.controller.LoginController",propertyPrivate=false), 
      @Property(name="service.description",value="Validates the user", propertyPrivate=false), 
      @Property(name="service.vendor",value="xxx Tech", propertyPrivate=false) 
     }) 

     public class LoginController extends SlingAllMethodsServlet{ 


    private static final long serialVersionUID = 1L; 

    @Override 
    protected void doPost(SlingHttpServletRequest request, 
      SlingHttpServletResponse response) throws ServletException, 
      IOException { 



    } 

    @Override 
    protected void doGet(SlingHttpServletRequest request, 
      SlingHttpServletResponse response) throws ServletException, 
      IOException { 




    } 
} 

чтобы вызвать этот сервлет в браузере просто введите URL «/ Услуги/MyApp/LoginController/ValidateUser» И «/ Услуги/MyApp/LoginController/выход из системы» Как вы уже знаете, что serlvet может иметь несколько URLS.

Это рабочий код. Убедитесь, что ваш URL Отображения путь (т.е. в слинге/CQ5) начинается с/услугами

также вы можете создать пакет с помощью специального Eclipse, для CQ5 CRXDE Eclipse, а не Maven расслоения. Это намного проще в использовании, но он немного медленный. Загрузить Here

+0

спасибо Оливер. Он частично работает для меня, но все еще возникает проблема при вызове servlet.but, я получил очень приятный прием, который работает на 100% и похож на ваши шаги. и еще раз спасибо за поддержку :) – vedmtripathi

0

Bingo .. наконец, я могу назвать селезенку sling, входящую в комплект OSGI и развернутую в системной консоли CQ. позже я вызвал этот пакет OSGI, который отправил запрос на почту, и на этот раз смог получить ответ. вот очень хороший и очень толковый учебник от Скотта, который объясняет каждый шаг моей проблемы.

http://scottsdigitalcommunity.blogspot.in/2013/06/posting-form-data-to-adobe-cq-using.html

и образец кода или ссылку образец приложения можно найти здесь -

http://helpx.adobe.com/experience-manager/using/custom-sling-servlets.html

следовать выше шаг за шагом ссылку, и вы в конечном итоге с победой. Я последовал за каждым шагом и успешно вызвал сервлет OSGI-пакета через компонент внутри CRXDE. и, наконец, не забудьте поблагодарить Скотта .... спасибо Скотту за объяснение !!!

Смежные вопросы