Content management system 如何替换名称=";sling.servlet.path“;,值=”/bin/services/Servlet“),值=”/SomethingElse/services/Servlet“),
在AEM 6 SP3中,我有一个servlet,我想在其中替换“/bin/services/servlet”中的属性名值,类似于: ,value=“/SomethingElse/services/Servlet”Content management system 如何替换名称=";sling.servlet.path“;,值=”/bin/services/Servlet“),值=”/SomethingElse/services/Servlet“),,content-management-system,aem,Content Management System,Aem,在AEM 6 SP3中,我有一个servlet,我想在其中替换“/bin/services/servlet”中的属性名值,类似于: ,value=“/SomethingElse/services/Servlet” 如何启用相同的功能并签入我的git/SVN?AEM允许很少的上下文路径作为servlet访问,/bin是用于内部servlet的默认路径之一,对于任何特定于项目的servlet,您可能需要使用一些不同的内容路径,您需要在OSGI服务中添加上下文路径ApacheSlingServlet解
如何启用相同的功能并签入我的git/SVN?AEM允许很少的上下文路径作为servlet访问,
/bin
是用于内部servlet的默认路径之一,对于任何特定于项目的servlet,您可能需要使用一些不同的内容路径,您需要在OSGI服务中添加上下文路径ApacheSlingServlet解析器
PID:org.Apache.Sling.servlets.Resolver.SlingServletResolver
,另一种方法是在ApacheSling资源中添加URL映射分解器工厂
可作为应用程序一部分部署的示例配置文件:
org.apache.sling.jcr.resource.internal.jcresourceresolverfactorympl.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/]"/>
请注意,如果可以避免,则不建议在路径上安装servlet。引用该页面,“在所需路径创建一个资源,并使用映射到servlet的资源类型,在大多数情况下提供相同的结果,同时利用更多内置功能”-包括细粒度访问控制。谢谢Mohit,但我想这不能添加到代码repo中以签入。我们能否以某种方式将此上下文路径添加为运行模式?是的,在您的运行模式文件夹中使用.xml创建一个运行模式,并添加所有现有配置+新的servlet上下文路径。谢谢,但是这个pid似乎没有列在/system/console/configMgr中,以便将其添加到运行模式中并获取要附加的参数详细信息。@Ajax:搜索服务名称Apache Sling Servlet/Script Resolver和错误处理程序
Hi@Ajax它对您有用吗,对我来说,只有在执行路径中保留所有emtpy时才有效,如果我添加/SomethingElse/services/Servlet,它将在302重定向后开始给出403