0

我是 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!"); 
    }
}

我在这里找到了这篇文章。

它最初是中文的,所以它有点难以理解,但从我能够从中收集到的信息,您需要添加一个 IServletFactory 类,它将 servlet 映射到您的 url,以便可以在您的浏览器中调用它。

但是我遇到了错误。这篇文章修复了其中一些

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

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

此外,文章似乎说您需要添加com.ibm.xsp.adapter.servletFactory到服务目录,但我在 PC 上的任何地方都找不到该文件。

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

4

2 回答 2

1

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

于 2013-03-06T08:02:42.263 回答
0

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

于 2013-03-06T00:56:39.570 回答