从xpages客户端脚本和常规注释表单调用HttpServlet类?

时间:2013-03-05 14:25:42

标签: java xpages lotus-domino lotus

我是新的(再次,暂时没有触及它)到Java。

我有一个简单的(计划复杂得多的)HttpServlet类,我试图通过常规Notes表单或xPage上的csjs从网页调用。

package com.pnc.cld;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorld extends HttpServlet
{
    private static final long serialVersionUID = -2950148158748149L;

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {
        System.out.println("doGet: Hello World!");
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {
        System.out.println("doPost: Hello World!"); 
    }
}

我发现了这篇文章here

哪个是中文的,所以它有点难以理解,但是从我能够从中收集到的,你需要添加一个IServletFactory类,它将servlet映射到你的url,这样就可以调用它你的浏览器。

但我收到错误。 This article修复了其中一些

但我仍然会遇到一些错误。其中之一:

  

ServletFactory类型必须实现继承的抽象方法IServletFactory.getServletMatch(String,String)ServletFactory.java

此外文章似乎还说你需要将com.ibm.xsp.adapter.servletFactory添加到服务目录,但我无法在我的电脑上找到该文件。

有没有更好的文章或希望在那里调用httpservlet的工作示例?

2 个答案:

答案 0 :(得分:1)

也许您应该从Sven的博客文章中学习示例数据库。将Domino Designer切换到Java透视图并查看“代码/ Java”部分。你找到3个文件。其中一个处理URL并将它们映射到servlet。第三个存储在META-INF文件夹中,并定义IServletFactory应该在哪里查找ServletFactory类(第二个文件)。第一个文件是servlet本身。 但要小心:我们也遇到了样本数据库中的错误。非常简单的原因:在servlet代码中抛出一个“静态”异常:-D删除该代码,你没事。我们在8.5.3机器上对此进行了测试,但我相信它也适用于旧版本。

答案 1 :(得分:0)

布鲁斯, 在Domino上,您需要实现servlet OSGi样式。从OpenNTF上的webDAV for Domino项目中窃取代码。 servlet肯定在工作!