一般来说,ServletService和PoorServlet有什么区别?何时只使用servlet,何时将servlet定义为?
PoorServlet:
public class PoorServlet extends SlingAllMethodsServlet
{
@Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException
{
//Do something fun here
}
}ServiceServlet
@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
}}
发布于 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相关的属性:
@SlingServlet(paths="/bin/my/path")
public class ServiceServlet extends SlingAllMethodsServlet {
...请在吊索文件中找到更多信息。
https://stackoverflow.com/questions/20243984
复制相似问题