2014-10-21 2 views
0

방금 ​​maven.packaging을 통해 Sling 서블릿을 "번들"로 만든 다음 CQ5의 시스템 콘솔에 설치했습니다.CQ5 내부의 osgi 번들을 통해 슬링 서블릿을 호출하는 방법

내 번들이 나에게 활성 상태와 필요한 모든 패키지를 보여줍니다. 성공적으로 내 보낸.

하지만 서블릿을 사용하기 위해이 번들을 호출 할 때 ... 아무 일도 없었습니다. 응답이 없습니다. 더 좋은 방법이 있습니까 .. 슬링 서블릿을 만들고 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 여러가있을 수 있음을 이미 알고 계시 겠지만 URL.

이것은 작동하는 코드입니다. 또한 당신은 또한 CQ5 CRXDE 이클립스 대신에 메이븐 번들 전용 Eclipse를 사용하여 번들을 만들 수 있습니다 URL이 매핑 (슬링/CQ5에서) 즉 경로/서비스

시작되었는지 확인합니다. 사용하기가 훨씬 쉽지만 조금 느립니다. 다운로드 Here

+0

감사합니다. 그것은 나를 위해 부분적으로 작동하지만 여전히 서블릿을 호출하는 동안 문제가 발생합니다. 그러나 저는 100 % 작동하는 아주 멋진 혀를 얻었으며 단계와 비슷합니다. 그리고 다시 지원해 주셔서 감사합니다 :) – vedmtripathi

0

빙고 .. 마지막으로 OSGI 번들로 번들 된 슬링 sevlet을 호출하고 CQ의 시스템 콘솔에 배포 할 수 있습니다. 나중에이 OSGI 번들을 게시 요청으로 시작하여 이번에는 응답을받을 수 있습니다. 여기 내 문제의 모든 단계를 설명하는 Scott의 아주 잘 설명하는 자습서입니다.

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

단계로 위의 링크 단계를 따라 당신은 승리로 끝. 각 단계를 수행하고 CRGDE 내부의 구성 요소를 통해 OSGI 번들의 서블릿을 성공적으로 호출했습니다. 그리고 마침내 Scott에게 감사하는 것을 잊지 마라. ... 설명에 대해 감사 Scott!

관련 문제