【正文】
在用 sling.servlet.resourceTypes 开发属性来作为注册Sling Servlets的属性时
许多人会遇到一个情况,在开发完一个以 /apps/... 开头的组件路径为Resource Type的Servlet之后
Bundle正常启动,Servlet也正常注册了
但是发现访问了相应的Resource Type的/content/... 下的路径时,报一个404的错误
那是因为没有配置 Apache Sling Servlet/Script Resolver and Error Handler 这个 OSGI Config
里面有一个 Execution Paths 的属性
这个属性配置的是可执行的Servlet脚本路径。如果不配置的话,就相当于配置了一个/,也就是所有路径的Servlet都能被执行。
可以通过这个OSGI 配置,限制可执行的Servlet的路径。
如果路径结尾不带/,那就是允许路径本身
如果路径结尾带/,就是允许该路径所有的子路径
默认的配置只有以下路径
/bin/ |
/libs/ |
/apps/ |
/system/ |
/index.servlet |
/login.servlet |
/services/ |
/etc/commerce/searchpromote/feed/deleted.servlet |
是不包含 /content/ 的,所以要想让开发的Servlet能被访问,就要把相应的路径配置成可执行
【关于AEM】
Adobe Experience Manager (AEM)
一个将 Content Management System (CMS)与 Digital Asset Management (DAM)的强大功能相结合的企业级应用