Xpages 制作一个servlet“;“公共”吗;?

Xpages 制作一个servlet“;“公共”吗;?,xpages,Xpages,我终于让我的测试servlet从这个线程开始工作了 剩下的问题是我被要求登录。但是我的最后一个servlet需要在不登录的情况下运行。我已将acl设置为读取公共文档并为匿名用户写入公共文档 我不知道如何让serlet公开访问。其他设计文档有一个“可供公众访问的用户”属性,但我没有看到java文件有这样的属性。这是在别的地方吗?也许是在我的IServletFactory中吧?我不知道为什么以前要求我登录,但看起来它现在正在工作。唯一需要的是启用读取公共文档 这有点令人担忧,因为至少看起来没有办法

我终于让我的测试servlet从这个线程开始工作了

剩下的问题是我被要求登录。但是我的最后一个servlet需要在不登录的情况下运行。我已将acl设置为读取公共文档并为匿名用户写入公共文档


我不知道如何让serlet公开访问。其他设计文档有一个“可供公众访问的用户”属性,但我没有看到java文件有这样的属性。这是在别的地方吗?也许是在我的IServletFactory中吧?

我不知道为什么以前要求我登录,但看起来它现在正在工作。唯一需要的是启用读取公共文档

这有点令人担忧,因为至少看起来没有办法使一些servlet非公开。在我的情况下,这不会是一个问题,但对其他人来说可能是一个问题

我还注意到,如果更改公共访问acl设置,出于某种原因,您可能需要重建servlet,否则servlet将无法运行。如果有机会,我会为这两个问题打开一张支持notes的票据

对于那些想要执行servlet的人,我建议本文:

但这里有一个更简单的IServletFactory版本,可能更容易理解和使用

package test;

import javax.servlet.Servlet;
import javax.servlet.ServletException;

import com.ibm.designer.runtime.domino.adapter.ComponentModule;
import com.ibm.designer.runtime.domino.adapter.IServletFactory;
import com.ibm.designer.runtime.domino.adapter.ServletMatch;

public class TestFactory implements IServletFactory {

private ComponentModule module;

public ServletMatch getServletMatch(String contextPath, String path)
        throws ServletException {
    System.out.println("TestFactory:getServletMatch");

    String servletPath = "";
    String pathInfo = path;
    return new ServletMatch(getWidgetServlet(),servletPath,pathInfo);        
} 

public void init(ComponentModule arg0) {
    System.out.println("TestFactory:init");
    this.module = arg0;
}

public Servlet getWidgetServlet() throws ServletException {
    return module.createServlet("com.pnc.cld.HelloWorld", "testServlet",null);
 } 

}

看起来它不是在IServletFactory中完成的,因为它看起来在您登录之前不会被调用,所以我猜工厂类也需要是“public”类。