Aem 如何通过其URL访问SlingServlet?

Aem 如何通过其URL访问SlingServlet?,aem,sling,crx,Aem,Sling,Crx,我已经创建了一个OSGi包并上传到CQ5服务器。此捆绑包包含如下所示的SlingServlet: @SlingServlet(paths = { "/rest/matches" }, methods = { "POST", "GET" }) public class MatchDayRestServlet extends SlingAllMethodsServlet { private static final long serialVersionUID = 50886437362288

我已经创建了一个OSGi包并上传到CQ5服务器。此捆绑包包含如下所示的SlingServlet:

@SlingServlet(paths = { "/rest/matches" }, methods = { "POST", "GET" })
public class MatchDayRestServlet extends SlingAllMethodsServlet {
    private static final long serialVersionUID = 5088643736228890684L;

    @Override
    protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
        String responseString = "Hello World!";
        response.setStatus(HttpServletResponse.SC_OK);
        response.getWriter().write(responseString);
        response.getWriter().flush();
        response.getWriter().close();
    }
}
现在我被绊住了,因为我不知道应该使用什么URL来调用这个servlet


我的CRXDE位于
http://HOST:IP/crx/de/index.jsp

Apache Sling Servlet/Script解析器和错误处理程序的
执行路径中添加
/rest/
,可在
http://host:ip/system/console/configMgr
,然后使用URL
http://host:ip/rest/matches
在此期间,我使用“/bin/matches”路径进行了尝试,结果成功了。这可能是因为“/bin/”路径已添加到执行路径中。不过,我想最好使用“/rest/”路径。谢谢你的评论!请注意,在Sling中,在所需路径上创建资源,并通过Sling:resourceType属性配置servlet来处理它,比在路径上装载servlet更为可取。他有更多的信息。除此之外,您认为只有特定路径前缀才允许servlet执行是正确的,正如您的系统上配置的那样。