如何在Sling的服务器上找到servlet?

时间:2018-07-18 17:43:24

标签: java servlets sling

我将带有servlet的捆绑包上传到了Sling

@SlingServlet(
        name = "Servlet for CRUD operations",
        methods = {"GET", "POST"},
       // resourceTypes = "/apps/practice",
        paths = "/content/practice",
        extensions = {"html", "json"}
)

public class CRUDServlet extends SlingAllMethodsServlet {
    @Reference
    private CRUDService crudService;

如果我在http://localhost:8080/content/practice处有“路径”,我可以得到它。也许是一个愚蠢的问题,但是如果我有“ resourceTypes”,我需要在地址栏中键入什么才能得到它?

PS对不起,我的英语,我来自俄罗斯:)

1 个答案:

答案 0 :(得分:0)

有两种在Sling中部署servlet的方法:

  • 路径受限,就像您的示例中的路径一样
  • 资源类型绑定

当servlet绑定到资源类型时,在访问具有该资源类型的资源时将为它提供服务。举一个简单的例子,假设您在/content/practice/hello处具有 sling:resourceType 属性值为practice/example的资源。

该servlet注册必须是resourceTypes="practice/example",并且在访问资源时(例如, http://localhost:8080/content/practice/hello.html

有关更多详细信息,请参见Sling documentation on resources and scriptsSling documentation on URL to script resolution