如何替换name = "sling.servlet.paths", value = "/bin/services/Servlet"), value = "/SomethingElse/services/Servlet"),

How to replace name = "sling.servlet.paths", value = "/bin/services/Servlet"), value = "/SomethingElse/services/Servlet"),

在 AEM 6 SP3 中,我有一个 servlet,我想在其中替换“/bin/services/Servlet”中的 属性 名称值,例如:

,值=“/SomethingElse/services/Servlet”

如何启用它并签入我的 git/SVN?

AEM 允许将少数上下文路径作为 servlet 进行访问,/bin 是用于内部 servlet 的默认路径之一,对于任何项目特定的 servlet,您可能需要为此使用一些不同的内容路径您需要在 OSGI 服务 Apache Sling Servlet Resolver PID: org.apache.sling.servlets.resolver.SlingServletResolver

中添加上下文路径

另一种方法是在Apache Sling Resource Resolver Factory中添加一个URL映射。

可以作为应用程序的一部分部署的示例配置文件:

org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl.xml

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
    jcr:primaryType="sling:OsgiConfig"
    resource.resolver.mapping="[/bin/services/:/SomethingElse/services/]"/>