활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
Hi all,
I have been created the AEM project with -DarchetypeVersion=11 and create the first servlet demo like below:
I try to get the result by enter http://localhost:4502/my-demo/servlet but the resource is not found. Please advise me
해결되었습니다! 솔루션으로 이동.
조회 수
답글
좋아요 수
See this article - we cover that here: Creating a Mail List Sign Up Component for the Experience Manager Toy Store Site
The reason why I pointed you to this article is because you wanted to know why @SlingServlet did not work.
An important aspect to notice is the change on how an AEM Servlet is created. There is no longer @Service or @SlingServlet annotations in the org.osgi.service.component.annotations package.
In Maven Archetype 10 project, you defined a servlet like this:
@SlingServlet(paths="/bin/mySearchServlet", methods = "POST", metatype=true)
public class HandleClaim extends org.apache.sling.api.servlets.SlingAllMethodsServlet {
private static final long serialVersionUID = 2598426539166789515L;
However, in a Maven Archetype 11 project., you define an AEM Servlet like this (there is no @SlingServlet annotation):
@Component(service=Servlet.class,
property={
Constants.SERVICE_DESCRIPTION + "=Simple Demo Servlet",
"sling.servlet.methods=" + HttpConstants.METHOD_POST,
"sling.servlet.paths="+ "/bin/myDataSourcePoolServlet"
})
조회 수
답글
좋아요 수
should you not have: "/my-demo/servlet". to me you are missing the first /
조회 수
답글
좋아요 수
Thanks for your reply. I try to add "/" and the issue still happens. but I add bin/my-demo/servlet, I can get th result. Could you please tell me why put the 'bin' on paths ?
조회 수
답글
좋아요 수
See this article - we cover that here: Creating a Mail List Sign Up Component for the Experience Manager Toy Store Site
The reason why I pointed you to this article is because you wanted to know why @SlingServlet did not work.
An important aspect to notice is the change on how an AEM Servlet is created. There is no longer @Service or @SlingServlet annotations in the org.osgi.service.component.annotations package.
In Maven Archetype 10 project, you defined a servlet like this:
@SlingServlet(paths="/bin/mySearchServlet", methods = "POST", metatype=true)
public class HandleClaim extends org.apache.sling.api.servlets.SlingAllMethodsServlet {
private static final long serialVersionUID = 2598426539166789515L;
However, in a Maven Archetype 11 project., you define an AEM Servlet like this (there is no @SlingServlet annotation):
@Component(service=Servlet.class,
property={
Constants.SERVICE_DESCRIPTION + "=Simple Demo Servlet",
"sling.servlet.methods=" + HttpConstants.METHOD_POST,
"sling.servlet.paths="+ "/bin/myDataSourcePoolServlet"
})
조회 수
답글
좋아요 수
Thanks for this article...To resolved the issue above, I change the "/my-demo/servlet" to "bin/my-demo/servlet". But why must we start with "bin" on paths, I continue to research. Thanks all
조회 수
답글
좋아요 수
You need to whitelist the path, bin is already done.
Should be in the logmessages too
조회 수
답글
좋아요 수
Do we have an an article to introduce how to create the whitelist of path?
조회 수
답글
좋아요 수
We have a FAQ on setting a whitelist for an OSGi that lets you set a service that uses admin creds. See this blog. Scott's Digital Community: Adobe Experience Manager FAQs and other Tips
there is a whitelist setting under Configurations. See the FAQ. Search whitelist in the blog item.
조회 수
답글
좋아요 수
thank you so much!
조회 수
답글
좋아요 수