首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Servlet服务差的Servlet

Servlet服务差的Servlet
EN

Stack Overflow用户
提问于 2013-11-27 13:36:44
回答 1查看 188关注 0票数 2

一般来说,ServletServicePoorServlet有什么区别?何时只使用servlet,何时将servlet定义为?

PoorServlet

代码语言:javascript
复制
public class PoorServlet extends SlingAllMethodsServlet
{
    @Override
    protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException
    {
        //Do something fun here
    }
}

ServiceServlet

代码语言:javascript
复制
@Properties({
        @Property(name="service.pid", value="mycompany.ServiceServlet",propertyPrivate=false),
        @Property(name="service.description",value="Service servlet", propertyPrivate=false),
        @Property(name="service.vendor",value="mycompany", propertyPrivate=false)
})
public class ServiceServlet extends SlingAllMethodsServlet
{
    @Override
    protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException
    {
        //Do something fun here
    }

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-27 13:54:42

PoorServlet不是OSGi服务,因此不会在Sling servlet引擎中注册。因此,它将无法在任何路径下使用。这是一个简单的POJO和Sling不知道它的任何事情。

在您的示例中,ServiceServlet实际上也不是OSGi组件。为了使它成为OSGi组件,您应该使用add @Component@Service注释。然后可以添加sling.servlet.paths属性,该属性应该包含servlet路径或路径。在进行了这些修改之后,您可以在适当的路径下访问servlet。

还有一些有用的@SlingServlet注释可以代替@Component@Service和所有与servlet相关的属性:

代码语言:javascript
复制
@SlingServlet(paths="/bin/my/path")
public class ServiceServlet extends SlingAllMethodsServlet {
...

请在吊索文件中找到更多信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20243984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档