中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > LOTUS > 开发心得
在Domino中使用JavaServerlet
作者:未知 时间:2005-07-22 13:38 出处:Lotus中文技术站 责编:chinaitpower
              摘要:从Domino R4.6 5.0,使用Serverlet的方式已经有了一些改变,这儿有关于在R5中 怎样使用它们的更新。在我们详细讨论细节之前,这儿对那些不熟悉Serverlet的 同志介绍一下其背景。

原著:Globebyte

翻译:商云方

内容:
 
从Domino R4.6 5.0,使用Serverlet的方式已经有了一些改变,这儿有关于在R5中
怎样使用它们的更新。在我们详细讨论细节之前,这儿对那些不熟悉Serverlet的
同志介绍一下其背景。

设计Serverlet的目的是为服务器提供”轻量级”服务,比如,一个Serverlet可
以从关系型数据库中分析表并把它们转化成XML.Serverlet通常用于完成一个指定
的任务。因此可以被认为是一个“小服务器“。

让一个Serverlet在Domino中运行是很简单的任务。但有一些地方要注意,我们将
从一个假想的情况开始。使用一个标准的HTML表单,我们可以获取用户输入的数
据并建立一个Notes文档。当然,实际上使用一个Notes表单更简单一点。但让我
们假定Domino仅用于作为一个Web服务器和一个数据库,并没有实际提供对数据库
的实际存取。

要使得Serverlet实际能够运行,首先在服务器上建立一个目录来存放Serverlet
并相应的.jar文件。编辑服务器配置文档以允许serverlet能通过Domino server
 管理。然后编辑域以指向serverlet的URL(默认情况是/servelet)并编辑类路径
以指向.class和.jar文件的地方。

建议编辑notes.ini文件以包括以下两行:

DominoEnableJavaServlets=1

JavaUserClassess=< classpath of the servelet class和.jar 文件>

现在建立一个Servelet以执行该工作并建立一个文档。Serveltt 必须工作于HTT
P post 请求,所以有这种可能性,即从标准的httpservlet 中继承其特性,并建
立一个方法以响应表单的post请求。处理post请求的代码类似如下:

...

NotesThread.sinitThread();

connectDB();

writeDetails(request);

NotesThread.stermThread();

try {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<h1>Servlet Submit Response</h1><br>");

out.println("<hr><div><p>Data written to Notes Document</p></div>");

} catch (IOException e) {

System.out.println(e.getMessage());

connectDB() 方法仅仅是建立一个和 Domino server的session.

public void connectDB() {

try {

session = NotesFactory.createSession();

db = session.getDatabase(null,"Servlet.nsf");

} catch (NotesException ne) {

System.out.println(ne.getMessage());

}

}

writeDetails(request) 把数据写到一个 Notes 文档. 

public void writeDetails(HttpServletRequest request) {

try {

doc = db.createDocument();

doc.appendItemValue("Form","ServletForm");

Enumeration enum = request.getParameterNames();

while (enum.hasMoreElements()) {

String paramName = (String)enum.nextElement();

doc.appendItemValue(paramName, request.getParameter(paramName));

}

doc.save();

} catch (NotesException ne) {

System.out.println(ne.getMessage());

}

}

需要引起重视的地方是NotesThread在开始时被初试化,然后被终止。这是因为没
有NotesThread运行,Serverlet就不能和Domino建立serssion.

看看Serverlet的编写并运行servelet是学习的好方法。 我们提供了源文件.jav
a,完整的代码.class,数据库.nsf和html表单用于下载,以指导你一个好的开始。
每当Servcelet被重新编译,domino都需要重新启动以生效。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有