domino大百科常见问题总汇2

31 Q :当管理员被开除后带走所有的 ID ,你该怎么办?
   
1.
ADMIN 的配置中的验证菜单内的标识符属性中更改 user cert 口令。
   
2.
服务器文档的 安全性
     
设置比较和记录 与保存在通讯录中的 Notes
公用密钥比较 启用。
     
容许匿名的连接否、 校验 Notes
标识符口令 起用
   3.
在个人和群组中的个人设置中设置 校验 Notes 标识符口令
   
4.
在个人和群组中的设置中设置 校验 Notes 标识符口令
   
5.
创建新的公钥
32
、我们做为管理员应该做些什么?
此表列出了系统管理员每天、每周或每月应当完成的服务器维护任务,以确保服务器高效运行。 任务
频率
备份服务器 每天、每周、每月
监控文件路由 每天
运行 Fixup 任务以修复所有被毁坏的数据库 *
服务器启用和需要时
监控共享邮件数据库 (MAILOBJ.NSF) 每天
监控 Administration Requests 数据库
(ADMIN4.NSF)
每周
监控需要维护的数据库 每周
监控复制 每天
监控调制解调器通讯 每天
监控内存 每月
监控磁盘空间
每天、每周、每月
监控服务器负载 每月
监控服务器性能 每月
监控 Web 服务器请求 每月
监控服务器群集 每天
*
如果数据库为 Domino R5 格式数据库并且没有使用事务记录,则可以使用 Fixup 任务修复损坏的数据库。如果数据库为 Domino R5
格式数
据库并且使用了事务记录,则无法在此数据库上运行 Fixup 任务,这是因为 Fixup
任务干扰事务记录保持数据库跟踪。必须从备份恢复损坏
的数据库。仍可以在 Domino R4.x 和更低格式的数据库上运行 Fixup
任务。
33
、关于定时关闭服务器的方法
在服务器配置,-》程序,
添加程序,在
程序中输入 server
nserver
命令中输入 -q -c
quit
在定时安排中,设置执行的时间就可以了。
34
id 被盗记录
domino
有个记账服务( billing ),该服务可以记录所有访问这台 domino 的客户端信息,当然包括 ip 地址。就不用再用其他的工具了。
35
、怎样设计表单来跟踪文档的作者?
   
在表单上加一个隐藏的共享域,其名字可以为 from 运行公式为: @If(@IsNewDoc ; @UserName;
From)
,这样这个域就记录了这片文档的作
者了。
36
、在调试 Lotus
Domino
程序时,经常会触发执行 qnc.exe 程序并退出 Notes ,如何解决?
  答:在调试 Lotus
Domino/Notes
程序时,由于程序设计的问题,我们经常会触发执行 qnc.exe 程序,并提示错误。其实 qnc.exe 执行目的只
Notes 的内存保护性措施,并不一定是程序本身有错误。为了便于调试程序,我们可以在 Lotus
Domino
指令窗口内键入 qnc _u ,使其暂停运行
如果想恢复时可以再用 qnc _i 指令装载它。
37
、在 R5 中如何将一个 Domino
Web
服务器配置为多个 Web 站点--虚拟服务器
解答 您可以将一个 Domino Web 服务器设置为多个虚拟服务器,这样一个 Domino
Web
服务器就可以有多个 Web 站点.在配置虚拟服务器之前,您
必须设置每个虚拟服务器的网络连接.在 R5 中每个虚拟服务器可以有自己单独的 IP 地址,或多个名字映射到同一个 IP 地址. Domino 不限制虚拟
服务器的数量,该数量主要决定于操作系统和系统硬件

**
注意:在 R4.6 中每个虚拟服务器必须有自己单独的 IP 地址.
下面介绍如何创建虚拟服务器文档:
1.
管理员启动 Domino
Administrator
软件,点击"配置"标签
2.
选择视图"服务器"--"所有服务器文档",选中您想创建虚拟服务器的服务器文档
3.
点击上边的按钮" web "--"创建虚拟服务器"
4.
选择"虚拟服务器",然后点击"确定"按钮
5.
在"基本"标签下,完成以下域:

1) IP
地址:该虚拟服务器使用的 IP 地址
2)
主机名:(可选)该虚拟服务器的主机名
3)
缺省主页:(可选)当用户访问该虚拟服务器时显示的 HTML 文件,只有当"主页 URL "域为空时该域才起作用.
6.
点击"映射"标签,完成以下域:

1)
主页 URL :当用户访问该虚拟服务器时执行的 URL 命令,可以显示一个数据库或服务器上的数据库列表.该域的优先级比"缺省主页"域高.
2)
在剩下的域中填写其它文件的目录
7.
点击"安全性"标签,为该虚拟服务器设置安全性选项.
8.
保存该文档
9.
在服务器控制台上,输入命令 tell http restart ,重新启动 http 服务.
如何显示虚拟服务器文档:
管理员启动 Domino
Administrator
软件,点击"配置"标签,选择视图" web "-- web 服务器配置,则可以看到虚拟服务器文档,该文档是作
为服务器文档的答复文档出现的.

38
、怎么记录用户退出
答:用 LOTUS unload 事件,是在离开当前页面或关闭浏览器时激活,用这个事件给服务器发送一个 url 告知服务器就行了。这种方法可以最精
确的记录用户的登出时间。用会话就不那么精确了,因为它有一定的活动期,只有超时了才会记录。至于登陆信息定制 domlog.nsf 数据库的表
单。(主要是登录用户的信息)定制 domlog.nsf 数据库的视图。取到你需要的记录。
39
、将一个普通 html 中的表单提交给 notes 数据库,用 html form Action 可以指定 notes 的某个代理。
html
的表单这样写:
<form.
name=form1 action="<A
href="http://servername/path/dbname.nsf/agentname">http://servername/path/dbname.nsf/agentname"
method=get>
<!--method
必须是 get!-->
<><INPUT id=text1
name=openagent></P>
<!--
第一个的 name 必须是 openagent!-->
<><INPUT
id=text2
name=text2></P>
<!--
可以在加若干个 input!-->
<><INPUT
id=submit1 type=submit value=Submit
name=submit1></P>
</form>
代理这样写:
1.
共享代理
2.
运行代理的时间选择:从代理列表中选择执行
3.
指定代理操作的文档选择:数据库中的全部文档
4.LotusScript.:
Dim
s As NotesSession
Set s = New NotesSession
Dim str as
String
str=s.documentcontext.query_string_Decoded(0)
'
这个得到 html 表单中提交的所有域(文本匡等)输入的数据,包括域名称和域的内容
Print
str
'
你可以根据这个 str 生成一个 new document ,根据内容加入域
40
Notes 数据库中文件夹和视图的限制

解答
实际上产品本身并没有一个预设定的限制 , 只是受可用句柄 (handle) 数目的限制 .
句柄 (handle) 数目的上限是 10495. 当库中的文件夹和视图数
目接近限制时 ,Notes 会报内存溢出方面的错误 , 类似下面的这些错误信息 :
对于 Notes
R5.X
"Maximum number of memory segments that Notes can support has been
exceeded"
对于 NotesR6.X
"Insufficient memory - too many design elements
(Desk Design Pool)."
当如果一个数据库中包含了很多文件夹 , Notes 将会为每一个视图或者文件夹分配内存 . 最终 ,
Notes
将无法获得足够的内存 , 因为它无法跟踪获
得所有内存的位置信息 .( 根本原因就是最大句柄数的限制 .)
可选择的规避办法就是在数据库中将文件夹和视图的数目维持在合理的范围之内 . 或者缩短文件夹或者视图名字的长度 .
41
、服务器备份范围
保存原始 Domino\Data 目录的 cert.id   
server.id   names.nsf  log.nsf   certlog.nsf  
应用数据库
mail
目录等数据库内容、保存原始
Notes\Data
目录的 user.id
备份 domino\notes.ini 文件、备份数据库(在 domino\data 下) :
*.dsk
names.nsf admin4.nsf bookmark.nsf busytime.nsf catalog.nsf certlog.nsf certsrv.nsf events4.nsf log.nsf
mail*.box
mail\*.* nntppost.nsf statmail.nsf statrep.nsf webadmin.nsf 、所有 IDs:
*.id\
备份   setup.nsf 数据库

42
HTTP 提交附件限制(在 ADMINISTRATOR 中的 INTERNET 协议中)
1
HTTP 书签里 HTTP 协议限制里的请求内容的最大大小
2
DOMINO
WEB
引擎里的 POST 数据里
43
、实现批量刷新数据库设计
1
、首先要在配置或管理数据库中建立有关数据库的文档。

2
、建 script 库, “RefrshDesign”
Declare Function W32_NSFDbOpen Lib
"nnotes.dll" Alias "NSFDbOpen" _
( Byval dbName As String, hdb As Long) As
Integer
Declare Function W32_NSFDbClose Lib "nnotes.dll" Alias "NSFDbClose"
_
( Byval hdb As Long ) As Integer
Declare Function W32_DesignRefresh
Lib "nnotes.dll" Alias "DesignRefresh" _
(Byval Server As String, Byval hdb
As Long, Byval dwFlags As Long, _
Byval null0 As Long, Byval null1 As Long)
As Integer
Dim hDB As Long
Dim ret%
3
、在建好的数据库信息的视图上选择若干文档,点击视图操作。

Dim session As New notessession
Dim ws As New notesuiworkspace
Dim
view As notesview
Dim db As notesdatabase
Dim dc As
notesdocumentcollection
Dim doc As notesdocument
Dim fullname As String

Dim TemplateServer As String
Dim i As Integer
TempLateSever =
"*********/OA" '--
模板所在服务器的名称
Set db = session.currentdatabase
Set view =
ws.currentview.view
Set dc = db.unprocesseddocuments
If dc.count
<> 0 Then
If Msgbox("
确定用模版服务器刷新指定数据库的设计? ",48 + 4," 操作提示: ") = 7 Then

Exit Sub
End If
For i = 1 To dc.count
Set doc =
dc.getnthdocument(i)
fullname = doc.database_server(0) + "!!" +
doc.database_dir(0) & "/" & doc.database_filename(0)
If fullname
<> "" Then
rc = W32_NSFDbOpen(fullname,hDb)
If rc = 0 Then

'Print "Refreshing Design of" & doc.database_name(0) & "......"

Call W32_DesignRefresh(TempLateSever, hDb, 0,0,0)
rc =
W32_NSFDbClose(hDb)
'Print "ok!"
Else
End If
End If
Next

End If

44
、对门户网站邮件拒收的确认信
以下是新浪对我公司邮服拒收的处理:
尊敬的用户 pennykristy
   
您好!
     
十分抱歉给您带来的不便,您的问题可以用以下方法解决:
如果您是别的网站的邮箱管理员,贵网站的邮箱给新浪发邮件发不过来,请您用贵网站的邮箱给我们的工程师发一封邮件,主题是:有关给新
浪免费邮箱发信问题
在邮件内容中,请写明:单位名称、发件服务器 IP 地址、联系方法、联系人、邮件地址、电话、地址,发送给 <A
href="mailto:[email protected]">[email protected]

工程师会和您联系的。
希望我们的回答能令您满意!
若还有问题,请您注意回信的时候一定要将上次回信附上,以便解决您的问题。
更多常见问题答疑请见: <A
href="http://tech.sina.com.cn/focus/sinahelp.shtml">http://tech.sina.com.cn/focus/sinahelp.shtml
                                               
谢谢您对新浪的支持
                                               
<A
href="mailto:[email protected]">[email protected]
                                               
2005-05-18  
17:22:42
13
号客服专员竭诚为您服务             
新浪全国统一服务热线 95105670 (免长途费)
45.
批量刷新邮件设计
load convert mail\*
mail6.ntf
46
、如何更改验证者标识符( Cert.id) 的口令

Administrator——>“
配置 的页面,在右面 工具 的菜单中,打开 验证 。选择 标识符属性 。选择并打开验证者标识符 (Cert.id)
输入原口令,如输入正确则打开当前验证者标识符( Cert.id) 的用户标识符对话框。在 基本 的页面中,选择 设置口令 。此时,就可以
输入新的口令,并再次确认。最后,点击 确定 即可。

47
、管理单个数据库中的多语言输入   
可以向任意的 URL 命令中添加 charset=[MIME charset name]
参数来返回指定字符集中所要求的表单或页面,而不管浏览器中设置的首选语
言。服务器不能自动生成 charset=[MIME charset name]
参数。它必须内置在应用程序中。
语法
[url=http://Host/Database/FormName?OpenForm&charset=[MIME]http://Host/Database/FormName?OpenForm&charset=[MIME[/url]
charset
name]
这里:
FormName
是被打开的表单名称。
[MIME charset name]
是将用于返回的目标表单的字符集名称。
用法
charset=[MIME charset name]
参数将覆盖表单中的
$$HTMLContentLang
域。有关使用 $$HTMLContentLang 域启用多字符集以便用于数据库
输入的信息,请参阅《 Lotus
Notes
Domino and Designer Release Notes -- Release
5.0.2
》中的 管理单个数据库中的多语言输入
样例
某公司的销售人员分布在 ** ** 和俄国。要求每个职员每月向某个单一数据库中提交一份业绩摘要。如果返回摘要表单的
URL
命令使用
charset=[MIME charset name]
参数,则销售人员可以使用同一数据库中的英语、日语和俄语字符集。服务器接到命令后,它将返回指定字符
集中的目标表单。将返回使用日语字符集的目标表单的 URL
命令显示如下。
<A
href="http://www.mercury.com/sales.nsf">http://www.mercury.com/sales.nsf...
m&charset=Shift_JIS
48
、修复损坏数据库的方法
如果在数据库中遇到损坏,可以使用以下任何一种方法来尝试修正问题。由于损坏对记录的
R5
数据库并不是大问题,这些方法主要用来解决
R4
数据库和未记录的 R5 数据库中的损坏问题。
运行 Fixup
修正损坏的视图和文档。
运行 Updall 修正损坏的视图和全文索引;如果视图损坏,请在运行 Fixup 之前运行 Updall
运行
Compact
修正 Fixup 没有纠正的损坏问题;如果数据库是 R5 数据库,使用 -C 选项。
SHIFT+F9 键重建一个视图;按
CTRL+SHIFT+F9
键重建数据库中的所有视图。
49
、为 Web 定制 表单已处理 确认信息   
Web
用户提交文档后, Domino 使用缺省的 表单已处理 的确认信息回应用户。要重新设置缺省答复,可将计算文本域添加到表单中,给此域
命名为
$$Return
,并使用 HTML 作为计算值来创建定制的批准。
显示个人化答复
下面的 $$Return 公式返回答复 “Thank
you”
,并附加上用户姓名:
who:= @If(@Left(From; " ") = ""; From; @Left(From; "
"));
@Return("<h2>Thank you, " + who +
"</h2><br><h4>
<a
href=/register.nsf/Main+View?OpenView>Main
View</a>");
50
、显示定制的错误消息
要定制显示给 Web
用户的错误消息外观,向数据库中添加定制的错误消息表单。如果发生错误条件,且其定制表单存在,则 Domino
使用定制
表单来显示错误消息。否则, Domino
使用缺省错误消息表单。添加到数据库的消息表单将覆盖由管理员设置的服务器范围内的消息。
要在表单和错误条件之间创建关联,创建拥有下列名称之一的表单。然后创建名为
MessageString
的可编辑的文本域来保存错误消息。添加要
与错误消息一起显示的其他文本、链接以及其他表单对象。表单名称
条件
$$ReturnAuthenticationFailure
不能校验用户名称和口令。
$$ReturnAuthorizationFailure
用户对该数据库没有足够的存取级别。
$$ReturnDocumentDeleted
成功删除文档。
$$ReturnGeneralError
出现了其他错误条件。
链接到另一页面
根据提交文档中的域值,在 HTML 中包括链接到另一页面的 URL 。下面的 $$Return
公式根据用户选择的范围返回答复。例如:如果用户选择
欧洲,则消息 在意大利访问我们的站点 将显示一个链接,可链接到意大利的 Web
站点(假定公式中的 “stdAnswer” “stdFooter” 已预
先定义。)。
@If(Region="Asia"; stdAnswer +
"<h2>Visit our site in <a href=\"<A

href='http://www.japan.lotus.com\">Japanhttp://www.japan.lotus.com\">Japan</a></h2>"
+ stdFooter;
Region="Europe"; stdAnswer + "<h2>Visit our site in <a
href=\"<A

href='http://www.lotus.com\it_ciao/it_ciao.htm\">Italyhttp://www.lotus.com\it_ciao/it_ciao.htm\">Italy</a></h2>"
+
stdFooter;
stdAnswer + stdFooter);
返回另一页面
要跳转到不同的 Web 页面,可将页面的
URL
用括号括起来放入页面。当用户提交文档时, Web 客户机将显示引用的文档。例如:下面的
$$Return
公式显示 Lotus
**
站点的主页。
"[http://www.japan.lotus.com]"
51
、如果希望帮助用户快速创建和阅读文档,请在设计表单时参照以下指导进行:
设计表单
避免使用大的位图或图形。
避免使用表单属性 自动刷新域
相反,请对所选的域使用 按关键字变化刷新域 ,或者编写一个
LotusScript.
域事件,当用户从特定域移出时重新计算文档或更新其他域。
避免使用包含大量计算域的长表格。
设计域
尽量少用
@DbColumn
@DbLookup 公式,或者将它们替换为更快的并支持查错的 LotusScript.
程序。
条件隐藏 的条件中使用简单公式。
可能的话,避免重新计算域。否则,将这些域修改为 填写时计算 ,使它们仅在文档被编写时计算,但是需要的话,可以在将来通过按钮、
操作或代理更新。
在域中使用
LotusScript.
表单事件而不使用条件公式来设置域值。
例如:要在文档被保存时重新设置状态域,可以为 QuerySave 事件创建一个
Script
,而不必编写一个使用 @If(@IsDocBeingSaved;"x";"y")

的公式。
精简域的数目,特别是隐藏域的数目,使用表单事件而不是域公式来执行逻辑处理并避免不必要的重新计算。
例如:假如表单包含一个隐藏的计算域
State
,该域确定文档处于工作流中何处以及需要被发送到何处。通过在 QuerySave 表单事件中设置域
值的 LotusScript.
程序来替换此域,可以仅在文档被保存时设置域值,而在文档打开或刷新时不设置域值。
52
、代理、 servlet CGI 程序的比较   

代理、 servlet CGI 程序都允许对 Domino Web 应用程序的功能进行扩展。代理可以通过表单 WebQueryOpen
WebQuerySave
事件与 Web
应用程序紧密集成。 Servlet 通过 Servlet API 类可以获得一些特殊功能,如会话和 Cookie
管理。由于 Java 日益受到人们的青睐,现今使
servlet 而不是 CGI 程序来开发新产品已成为大势所趋。但是,许多现有的 CGI
程序仍在使用。
如果正在编写自己的应用程序并需要为服务器上的某些功能编程,则需对使用哪种类型的程序的选项作出选择。每种类型的程序均有各自的优
点而且可能成为特定情形下的最佳选择。以下是对每种程序类型的使用建议:
程序类型
最佳用途
代理 读取或邮寄文档时执行 Domino 操作的程序。 需要按预定时间或当数据库操作发生(如新邮件到来)时运行的程序。
Servlet
使用标准 Java 接口(如 JDBC )的程序。 使用 HTTP 会话维护或 Cookie 的程序。 复杂或资源密集型 Java 程序。
CGI
程序
需要对系统资源进行低级别访问的程序。 通过非 Java API 与其他产品连接的程序。

以下对这些程序的属性所作的比较对程序的选用很有帮助。
程序可使用哪种语言进行编写?
代理: Java LotusScript. Notes
公式语言。这些语言本身均可跨平台使用。
Servlet
Java 。本身可以跨平台使用。
CGI
程序:平台脚本语言,即任何能够编译为可执行文件的语言或跨平台的语言(如 Java Perl )。
程序存储在什么位置?
代理:存储在 Domino
数据库中,这意味着代理可以利用数据库复制和群集服务器的功能。
Servlet
:存储在文件系统中,通常是 domino\servlet 目录。
CGI
程序:存储在文件系统中,通常是 domino\cgi-bin 目录。
程序以什么方式被 Web 用户调用?
代理:由 WebQueryOpen
WebQuerySave
事件自动调用,或者由 OpenAgent
URL
(如 http://acme.com/sales.nsf/results?OpenAgent
直接调用。代理还可由服务器事件(如新邮件的到来)或预先的定时安排来触发。
Servlet
:直接由
URL
调用。 Domino 可识别两种类型的 servlet URL 。第一种类型通过名称指定
servlet
(例如:
http://acme.com/servlet/SQLDatabaseQuery?month=june
)。第二种类型指定一个
Domino
管理员已经映射到 servlet
的文件扩展名(
例如: http://acme.com/sqlquery.esp?month=june )。
CGI
程序:直接由 URL
调用(例如: http://acme.com/cgi-bin/filesearch?string=widget )。
服务器何时将程序载入或卸载?
代理:每次调用时装入,执行完毕后卸载。
Servlet
:一次性装入; HTTP
任务关闭或重新启动时卸载。与代理或 CGI 程序相比,这一性能使 servlet 具有很大的优越性。但是,这也意
味着可以通过多个请求同时访问
servlet
类,因此必须保证 servlet 代码的线程安全性。
CGI
程序:每次调用时装入,执行完毕后卸载。
程序与 Domino
的交互方式
代理: LotusScript. Java 代理可使用 Domino 对象类。公式代理可使用大多数
@function

Servlet
:可通过 CORBA (Common Object Request Broker Architecture) 接口访问
Domino

CGI
程序:可通过 CORBA 接口或通过 Domino C C++ API 访问
Domino

程序可获得哪些安全性保障?
代理:要调用代理, Web
用户必须对包含该代理的数据库具有 存放者 或更高存取级别。代理可以以其创建者或用户的身份运行。 Domino

所有安全特性均适用于由代理执行的操作。
Servlet
:对服务器小程序的访问可由 “Domino 目录 中的文件保护文档来控制。如果小程序通过
CORBA
接口访问 Domino ,则可以指定一个
Domino
用户名和 Internet 口令。 Domino 的安全性适用于所有 CORBA
操作。
CGI
程序:对该程序的访问可由 “Domino 目录 中的文件保护文档来控制。如果程序通过 C API 来访问
Domino
,则会使用服务器标识符。如
果程序使用 CORBA 接口,则可以指定用户名和 Internet 口令。两种情况下,均可应用 Domino
的安全性。
53
、在 Domino 中运行 servlet  
样例
编写 servlet
要编写 servlet ,需要一个
Java
编译器和 servlet API 。二者均可从 Sun Microsystem 的网站 <A
href="http://java.sun.com">http://java.sun.com
上获得。可下载
Java Development
Kit (JDK)
(其中包含编译器和其他基本工具)和 Java Servlet Development Kit (JSDK) (其中包含 servlet API
的规范
servlet .JAR 文件 (jsdk.jar) 和样例服务器小程序)。 Sun 站点还提供到 Web 上其他 servlet
资源的链接。
还可以使用各种流行的 Java 开发环境来编写 servlet 。为了提供方便, Domino 服务器和 Designer 安装程序中包含
jsdk.jar
文件的拷贝。
这与 Sun JSDK 提供的文件是完全一样的。
Sun
定期更新 JDK JSDK Domino 5.0
支持 JDK 1.1.6 JSDK 2.0 Domino 的季度维护版 (QMR) 经常会结合 Sun 的升级内容,因此应
该检查 QMR
的版本注释以检验被支持的 JDK JSDK 版本。
启用 Domino 支持的 servlet
Servlet
是由 Domino Java
Servlet Manager
HTTP 服务器任务的一部分)来装入和调用的。 Java 支持 servlet 的运行时间是由 Domino
Java
Virtual Machine (JVM)
提供的。 HTTP 任务启动时,可以自动启动服务器小程序管理者并装入 JVM HTTP
任务将把这些操作的状态信息
写入服务器控制台和日志文件中。
Servlet
管理者是由 “Domino
目录 服务器 文档中的设置来控制的。此设置位于 服务器 文档的 “Internet 协议 ”“Domino Web

附签上。设置内容如下:
设置 选项
Java servlet
支持 无:(缺省) HTTP 任务不装入服务器小程序管理者或
JVM

Domino servlet
管理器: HTTP 任务同时装入 JVM servlet 管理器。
第三方 Servlet 支持: HTTP
任务装入 JVM ,但不装入 Domino servlet 管理器。这允许使用第三方 servlet 管理器,如 IBM 公司
WebSphere
Application Server

Servlet URL
路径 URL 中的路径,通知 Domino URL 指向一个
servlet
。缺省路径为 /servlet
类路径 一个或多个路径的列表, servlet 管理器类加载程序将搜索此列表来查找 servlet
及其相关类。此设置允许添加其他路径。可以指定
目录、 JAR 文件和 ZIP 文件。路径可以是绝对路径也可以是 Domino 数据目录的相对路径。缺省为
domino\servlet

样例:
相对目录路径: domino\servlet
绝对目录路径:
c:\apps\MyServlets
JAR
文件: c:\javamail\mail.jar
ZIP
文件: domino\servlet\sql.zip
Servlet
文件扩充 URL 文件扩展的列表,示意 Domino 某个 URL 引用了
servlet
。列表中的每个扩充必须通过 servlets.properties
文件中的指令映射到单一的
servlet
。缺省为无扩充。
以下设置控制 Java Servlet API HttpSession 接口的 Domino Servlet
Manager
的运行时间支持。不使用此接口的服务器小程序不受这些设
置的影响。
注释   HttpSession 接口支持与
Domino
中的 “HTTP 会话验证 功能是完全独立的。
设置 选项
会话状态跟踪 启用:(缺省) servlet 管理器定期检查所有
HttpSession
实例的用户活动。给定时间段内空闲的会话将被自动终止。
servlet
管理器调用实例的
HttpSession.invalidate()
成员函数通知 servlet 该会话已被终止。
禁用:不检查会话的活动状态。
空闲超时时间
等待用户不执行操作的分钟数,此后将终止会话。缺省为 30 分钟。
最大活动会话 允许同时进行的活动的会话数。缺省为 1,000
个会话。达到此限制时,空闲时间最长的会话将被终止。
会话持续 启用:退出 HTTP 任务时, servlet 管理器将把会话数据保存到 Domino
数据目录中一个名为 sessdata.ser 的磁盘文件中
。会话数据将在 HTTP 任务再次启动时重新载入。 Servlet
已经固定在会话中的对象如果执行   java.io.Serializable 接口,则该对象也将被
保存。
禁用:(缺省)退出 HTTP
任务时放弃所有会话数据。
JVM 加载程序装入 servlet
servlet
管理器类加载程序不会装入使用自身代码、创建定制类加载程序或执行其他某些受限制的操作的类。如果 servlet 所要求的类不能通
servlet
管理器装入,可以试用 Domino JVM 类加载程序进行装入。 JVM 加载程序通常用于从与 Domino 一起安装的 Java 归档 系统(特别

java.*
lotus.* 软件包)中装入类。通过将 servlet Servlet 管理者类路径移到 JVM 类路径,可以强制使用 JVM
加载程序而不使
servlet 管理器加载程序来装入服务器小程序。 JVM 类路径由 NOTES.INI 变量 JavaUserClasses
指定。
设置 servlet 的属性
单个 servlet 的特殊属性可以在位于 Domino 数据目录中名为
servlets.properties
的文本文件中指定。可以指定以下属性:
别名
初始化参数
URL
映射扩展
servlet
管理器启动时装载
这些属性是由 servlets.properties
文件中的指令来指定的。指令的通用语法是:
servlet(s).<name>.<property>=<value(s)>
指令是区分大小写的。 servlets.properties
文件还可以包含空行和以 “#” 号开头的注释行。 servlets.properties
文件不是必须进行设置的
Servlet 的缺省属性是:无别名、无初始化参数、无映射扩展并按需要装入 Servlet
Servlet
别名
别名指令的语法是:
servlet.<alias-name>.code=<class-name>
例如:
servlet.SQLQuery.code=sql.database.query.Servlet
出于安全性的考虑, Domino
不允许 servlet 名包含将要在 servlet URL 中使用的周期。这样能够防止恶意用户通过 servlet 管理器任意加
Java
包和类。如果服务器小程序有一个包名,则必须为其指定一个别名。以上的例子允许 sql.database.query.Servlet servlet 被诸如

http://acme.com/servlet/SQLQuery?month=june
URL 调用。别名在将 servlet
的实际名称对用户隐藏方面也很有用。
可以为 servlet 指定多个别名。 servlet 管理器在收到第一个指向所有别名的 URL 时会创建
servlet
的一个新实例。新实例创建时,
servlet
管理器将调用 servlet init()
成员函数。由于别名可用在属性文件的其他指令中,因此实例可以被赋予不同的属性。例如:可以
为每个别名指定相互独立的初始化参数。同样,由于即使创建了多个实例, servlet
类也只装入一次,因此 servlet 的实例可以通过使用静态
类变量来共享数据。
为安全起见,如果给 servlet 指定了别名,则该
servlet
URL 中就不能通过类名来引用。这样可以隐藏 servlet 的真名。
初始化参数
可以在属性文件中指定为 servlet
指定初始数据。 Servlet 可使用 ServletConfig.getInitParameter
成员函数来访问这些数据。初始化指令
的语法是:
servlet.<alias or class
name>.initArgs=<name1=value1>,<name2=value2>,...
可以指定多个参数并以逗号进行分隔。例如:

servlet.SQLQuery.initArgs=target=db2,user=Domino,cacheSize=30
URL
映射扩展
URL
映射扩展指令的语法是:
servlet.<alias or class
name>.extension=<extension> <extension> ...
可以给 servlet
指定多个扩展,相互之间以空格分隔。所有扩展都必须包含在 服务器 记录的 “Servlet file extensions” 设置中。例如
:无论何时 URL
指定扩展 “sql” “sq” ,都能使 Domino 调用 SQLQuery
servlet
,请将 “sql,sq” 添加到服务器设置中,并将这一指令添
加到属性文件中:
servlet.SQLQuery.extension=sql
sq
这允许用户调用含有类似以下 URL servlet
<A
href="http://acme.com/query.sql?month=june">http://acme.com/query.sql?month=june
启动时装入
缺省情况下, servlet
管理器在第一次接收到引用某个 servlet URL 时将此 servlet 的类文件装入内存。但是,可以指定 servlet
管理器
启动时就同时装入一个或多个 servlet 。这样可以防止用户在 URL
首次要求装入小程序时被延误。
启动指令的语法如下:
servlets.startup=<alias or class>
<alias or class> ...
请注意 “servlets” (服务器小程序)是复数形式, servlet
的名称必须使用空格分开。
如果给小程序指定了一个或多个别名,则可以在启动指令中包含这些别名。这样会使 servlet
管理器装入小程序类然后为每个别名创建一个实
例。
servlet
管理器装入 servlet 类之后,只要不是 Domino HTTP
任务由控制台命令 "tell http quit" 终止或由控制台命令 "tell http
restart"
重新启动,这些类将一直驻留在内存中。卸载服 +
务器小程序之前, servlet 管理器将为 servlet 的每个实例调用 destroy()
成员函数,以使其有机会清理资源。
JVM 类加载程序装入的类在 HTTP 任务终止之前将一直保持加载状态。 “tell http
restart”
命令不会将类卸载。
属性文件样例
以下是 servlets.properties 文件的样例:
# Properties
for the sql
servlet
servlet.SQLQuery.code=sql.database.query.Servlet
servlet.SQLQuery.initArgs=cache=30
servlet.SQLQuery.extension=sql
#
Properties for the mail
servlet
servlet.MailServlet.initArgs=mime=enabled,smime=disabled
# Both
servlets should be loaded at startup
servlets.startup=SQLQuery
MailServlet
# end of file
样例: Java servlet  
servlet 样例返回一个 HTML
页面,上面显示浏览器与服务器小程序请求一起发送的所有 HTTP 标头。
import java.util.*;
import
java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public
class ExampleServlet extends HttpServlet {
public void doGet
(HttpServletRequest request, HttpServletResponse response) throws
IOException
{
   
response.setContentType("text/html");
   ServletOutputStream ut =
response.getOutputStream();
   
   
out.println("<HTML><B>Headers sent with the
request:</B><BR>");
   for (Enumeration headers =
request.getHeaderNames();
   
headers.hasMoreElements();)
   {
      
String headerName = (String)
headers.nextElement();
      
out.println("<BR>" + headerName + ": " +
      
request.getHeader(headerName));
   }
   
} //
end of method
} // end of class
编好此代码后,请将 ExampleServlet.class 文件拷贝到服务器的
domino\servlet
中。由于此文件不需要特殊属性,因此不必创建
servlets.properties
文件。输入下面的
URL
(请使用自己的服务器名)即可从浏览器运行小程序:
<A
href="http://www.yourserver.com/servlet/ExampleServlet">http://www.yourserver.com/servlet/ExampleServlet
由服务器小程序返回的页面上的信息是由浏览器决定的。以下是使用
Netscape
浏览器返回的 HTML 页面:
<HTML><B>Headers received with the
request:</B><BR>
<BR>ACCEPT-LANGUAGE:
en
<BR>CONNECTION: Keep-Alive
<BR>ACCEPT: image/gif,
image/x-xbitmap, image/jpeg, image/pjpeg, image/png,
*/*
<BR>USER-AGENT: Mozilla/4.05 [en] (Win95; U
;Nav)
<BR>ACCEPT-CHARSET: iso-8859-1,*,utf-8
<BR>HOST:
test1
54
Domino 应用程序和 XML  
XML
最明显的优点之一就是因为这种新兴的技术建立在 HTML SGML
的标准之上,所以它代表数据共享技术的发展,这种发展不要求新的硬
件和软件。 XML Domino 应用程序结合得非常好。在 XML
提供了描述数据并通过网络共享功能的应用程序中, Domino 提供了使数据共享安
全、可靠且有效而需要的所有其他工具。除了提供用来编写 XML 数据和向
XML parser
供应 XML 数据的媒体外, Domino Designer
还提供:
强大的开发环境,包括一套可用于建立协作性的电子商务应用程序的编程工具
保护数据所需的安全层   
从数据库访问控制到单个域加密;使用户有效定位数据的搜索能力;工作流操作的消息处理,如定单确认、电子邮件
通知和文档评阅,除 Domino Designer
提供的开发工具之外,还可以得到连接服务,允许您将应用程序与以下主后端系统连接起来:
ERP
系统,如 SAP PeopleSoft Oracle JD
Edwards
关系数据库,如 DB2 Sybase Oracle
事务系统,如 IBM CICS MQ Series WebSphere
BEA Tuxedo
使用 XML 增强的应用程序
为了说明如何在 Designer 应用程序中集成
XML
,可以考虑一个售书的联机站点,其中:描述每本书的数据的 XML 标记是标准标记,如
<bookTitle>

<bookAuthor>
。处理书的数据的所有应用程序都可使用这些标准标记描述书的特定数据。应用程序可使用这种标准数据格式与
书的供应商以及购买者进行交互。
您可构思的任何应用程序都可使用
XML
。例如,可以构思一个自动供应商店,它维护具有自动部件的联机目录的一个电子商务站点。使用 XML

作为描述部件信息的公共语言,购买代理商可以从不同的供应商处将关于部件价格和可用性的信息直接放入 Domino
数据库。用户可以访问此
数据库来查找他们可联机定购的部件的最新信息。 Domino
然后提供所有必要工具来完成定购部件和管理库存的安全联机事务处理。
另一个样例是人力资源的 自助式服务 应用程序,雇员可使用它访问并管理自己的个人数据。例如,公司可以在
Intranet
站点上发布福利
信息,允许雇员使用 Notes 客户机或 Web 浏览器联机选择自己的福利。选择之后,雇员以 XML
格式将数据提交给服务器(如 IBM
WebSphere Application Server
)。服务器使用 Java servlet 将数据传递到
HR
后端系统(例如: Peoplesoft 数据库),并在事务完成后通
Domino XML 标记描述被传递的数据,使该数据在 Peoplesoft
数据库中代表的意义与在 Domino 应用程序中代表的相同。
Designer 应用程序中包括 XML 的方法
有几种方法可将 XML 包括在
Designer
应用程序中并将数据供应给 XML parser
可以在表单或页面上输入描述数据的 XML 标记。通过将表单或页面的内容作为 HTML
处理,可以向能够解释标记的 XML parser 供应 XML
XML
描述正在显示的数据。要为表单或页面上的数据定义格式和样式,可以使用通过扩展样式表语言 (XSL) 创建的样式表将数据转换为
HTML
,或者可以使用级联样式表 (CSS) 以直接在客户机上定义 XML 的样式。
还可以通过在列公式中包括 XML 标记以使用视图产生 XML
数据。要将视图传递到服务器,必须将它嵌入页面或视图以便在正确的 XML 文档定
义标记中覆盖整个视图。
可以使用代理或 servlet
动态生成或存储 XML 。代理用于在 Domino 应用程序中运行预定的过程。 Servlet 基于来自 Web 浏览器的请求在服
务器上运行。
关于
Domino DTD
和如何使用 Java 方法生成 XML 的详细信息,请参阅《 Programming
Guide
》中的第三章。
应用设计
在表单或页面中放入 XML  
表单是用于 XML 的最好工具。可以输入 XML
标记,并在数据的标记中包括域。结果是 XML 文档,带有传递到 XML parser 时非常有意义的数
据。还可以将 XML 放到页面上。 Domino
Designer
中的页面是显示信息的数据库设计元素。可对传统的应用程序内容使用页面(如主页),或
使用 XML
标记来描述页面上的数据。您将在关于在视图中使用 XML 一节中了解到,页面有助于嵌入视图并添加处理视图所需的 XML
标记。页
面还有助于创建可扩展的样式表 (XSL) 或级联样式表 (CSS) 以指导服务器或浏览器如何格式化使用 XML 标记描述的数据。
使用
XML
元素定义表单上的数据
当在表单或页面上使用 XML 元素时,必须遵循一定的规则以构建有效的 XML ,而且必须正确格式化 XML
标记。
XML
标记与 HTML 标记非常相似。但有一些不同的规则用于构建 XML 标记,当标记数据时必须遵循它们。例如,嵌入 XML 的要求比嵌入
HTML
标记的要求更严格。关于使用 XML 标记来标记数据的详细信息,请参阅 IBM XML Web 站点: <A
href="http://www.ibm.com/xml">http://www.ibm.com/xml
作为在表单上使用 XML
的样例,联机手册目录中每本书的输入项都可能是如下所示:
<?xml version="1.0"
encoding="UTF-8"?>
<BOOK>
<bookTitle>Chess for the
Master</bookTitle>
<bookCategory>Games</bookCategory>
<bookAuthor>Alice
B.
Charles</bookAuthor>
<bookPrice>10</bookPrice>
<bookListPrice>12</bookListPrice>
<bookISBN>0-980-38475-81</bookISBN>
<bookDatePublished>April
1997</bookDatePublished>
<bookAbstract>The authority on all the
latest chess moves, including the entire Big Blue
arsenal.</bookAbstract>
</BOOK>
XML 格式创建文档
  1.
新建一个表单或页面。
  2.
输入文档类型声明,如下所示:
<?xml version="1.0" ?>

可以选择性地添加编码参考,如下所示:
<?xml version="1.0" encoding="UTF-8"
?>
  3.
输入 XML 元素,一般是带有子元素的根元素。
  4.
输入存有要使用 XML
标记的数据的域。
  5.
选择 设计 ”“ 表单属性
  6.
高级 附签上,选择 将文档内容作为
HTML”

该属性通知 Domino 将所有文档文本传递给 HTTP 请求者,而不必生成 HTML 标记。
  7.
保存并关闭表单。
  8.
要查看从表单创建的文档,可创建一个使用表单公式的视图(该表单公式解析为 XML 表单名称)。
使用样式表格式化
XML
数据
XML
的属性之一是它只描述数据而不提及数据的外观。对于计算机到计算机的事务,外观并不重要,但如果要将数据显示给用户时(例如:将
其贴在 Web
站点上),外观就很重要。 XML 文档通常是依靠样式表来确定数据的布局和外观。一些浏览器为通俗元素(如 <;Para> <List>

<Item>
)提供简单的缺省样式,但通常情况下必须使用样式表来描述数据格式。随 XML 可以使用两种类型的样式表:
扩展样式表语言
(XSL)
描述如何将 XML 转换为 HTML 或另一种版本的 XML
级联样式表 (CSS) 直接在支持 CSS 的浏览器上定义 XML
的样式。
要使用样式表,可在文档类型声明之后和根元素之前直接插入样式表参考。例如:
<?xml version="1.0"
encoding="UTF-8"?>
<?xml-stylesheet type="text/css"
href="bookdisplay.css"?>
<BOOK>
如果在页面上创建了一个样式表,可设置页属性为 将页面内容作为
HTML”

将关于书的信息转换为 HTML XSL 样式表可能如下所示:
<?xml version="1.0"
?>
<xsl:stylesheet xmlns:xsl="<A
href="http://www.w3.org/TR/WD-xsl">http://www.w3.org/TR/WD-xsl" >

<xsl:template
pattern="BOOK">
<HTML>
<HEAD>
<TITLE><xsl:value-of
select="BOOKTITLE" /></TITLE>
</HEAD>
<BODY
bgcolor="F0FFF8">
<B><xsl:value-of
select="BOOKAUTHOR"/></B>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
<?xml:stylesheet
type="text/xsl" href="/roibooks.nsf/bookform.xsl"?>
级联样式表 (CSS) 并不将 XML
转换为 HTML ,而是直接向服务器提供如何格式化每个 XML 元素的指令。书的 CSS 可能如下所示:
BOOK {
  display:
block;
  border: 1px solid #cccccc;
}
BOOKTITLE {
display:
block;
float: left;
margin-right: 10px;
padding:
5px;
}
BOOKAUTHOR {
  display: block;
  font-style.
italic;
}
相关主题
Designer 应用程序中包括 XML
Domino
应用程序和 XML
XML
术语
应用设计
使用视图生成 XML  
视图使用户可以控制哪些文档以 XML 显示并可以跟踪信息和将其转换到 XML 中以通过
Intranet
或万维网分发。可以在 Lotus Web 站点
<A
href="http://www.lotus.com/xml">http://www.lotus.com/xml
上的 ROI Books
应用程序中找到此部分中描述的视图。
XML 标记映射到视图
为了使用视图产生 XML ,必须将 XML 标记从 DTD
映射到视图列中。一旦创建了视图并将 XML 标记映射到其中后,就可以将视图嵌入到页面中
。嵌入到页面中的视图在 Web 上保持了其在 Notes
客户机应用程序中的同样功能,并使用户可以控制视图显示的大小及外观。对于显示 XML
的视图,页面包含了 XML 声明和根元素。
样例
ROI
Books
应用程序使用列公式将文档中的每个元素和域分配给 “XML
视图 中的列。第一个子元素的列公式还包含打开父元素标记,而最后
一个子元素的列公式包含关闭父元素标记。例如,第一列的列公式为:
"<BOOK><BOOKTITLE>"+bookTitle+"</BOOKTITLE>"
父元素是
<BOOK>
,子元素是 <BOOKTITLE> bookTitle 是包含 <BOOKTITLE>
标记内容的域名。 <BOOK> 中有多个子元素包括在此视图中,所以
<BOOK>
元素直到添加了最后一个子元素后才关闭。在 ROI
Books
应用程序中,最后一个子元素被分配给视图的最后一列。最后一列的公式为

"<BOOKPUBLISHDATE>"+bookDatePublished+"</BOOKPUBLISHDATE></BOOK>"
“XML
视图 被嵌入到包含 XML 声明和根元素 <BOOKCATALOG> 的页面中。
XML 映射到视图
  1.
创建一个视图并打开。
  2.
选择 编辑 ”“ 属性 以打开 视图 属性框。
  3.
单击 高级 附签。
  
4.
“Web 访问 中,选择 将视图内容作为 HTML” 。如果未选择此属性, Domino 为视图内容生成
HTML
。另外,如果未选择此属性,
则嵌入页面中的视图内容不可见。
  5.
单击 对象 附签中的 “View
Selection”
并添加选择公式以定义哪些文档将包括在视图中。例如:用于联机书店的应用程序包含已
批准定单的视图。使用以下公式为视图选择文档:
SELECT
status="Approved"
  6.
单击 对象 附签中的 “Form. Formula” 并输入公式以选择模板表单。
  
7.
将列添加到视图中。
  8.
单击视图的第一列。
  9.
使用以下语法在 Script.
区域中输入列公式。
"<;PARENT><CHILD>"+fieldname+"<\CHILD>"
如果某列中有多个元素,在第一个列公式末尾添加一个分号
(;)
,并在下面为下一个元素添加列公式。
"<;PARENT><CHILD>"+fieldname+"<\CHILD>";
"<CHILD>"+fieldname+"<\CHILD>";
"<CHILD>"+fieldname+"<\CHILD>"
提示   
使用以下语法使域成为元素的一个属性。
"<CHILD
attributeName=\""+fieldname+"\">"+fieldname2+"</CHILD>
10.
单击第二列并使用以下语法将列公式键入到 Script.
区域中。
"<CHILD>"+fieldname+"<\CHILD>"
11.
对每个 XML 元素(最后一个除外)重复步骤
10

12.
对最后一个子元素使用以下语法。

"<LASTCHILD>"+fieldname+"<\LASTCHILD></PARENT>"
在页面中嵌入视图
  
1.
打开或创建一个页面。
  2.
选择 设计 ”“ 页面属性
  3.
单击 页面信息 附签。
  4.
“Web 访问 中,选择 将页面内容作为 HTML” ,然后关闭 页面 属性框。
  5.
在希望显示嵌入视图的位置之上键入 XML
声明。
  6.
将光标置于希望显示嵌入视图的位置。
  7.
选择 创建 ”“ 嵌入元素 ”“ 视图
  8.
(可选)如果不希望在所有环境中显示相同的视图,请单击 选择基于公式的视图 。单击 确定 关闭对话框后,在 编程 窗格
中编写公式以便显示适当的视图。
  
9.
(可选)单击嵌入视图,并选择 元素 ”“ 视图属性 ,更改对齐方式或样式,或在某个条件下隐藏此元素。
10.
在视图下键入一个闭合的根标记。
要删除嵌入视图,请单击 工作 窗格中的嵌入视图并选择 编辑 ”“ 清除
相关主题
Designer
应用程序中包括 XML
Domino
应用程序和 XML
XML
术语
在表单或页面中放入 XML
应用设计
使用代理生成
XML  
使用代理生成 XML 的最大优点之一是具有灵活性。可以基于事件或对 URL 命令的响应设置代理定时运行。这种灵活性对于创建自动
XML
应用
程序是很有必要的。例如:书店的 Web
站点包含一个数据库,其客户向每月一次的新闻简报投稿。其中有一个编辑和批准工作流进程,负责在
稿件被批准后将它们移到系统中。代理每小时都要运行以收集可以发表的稿件并将稿件转换成
XML
。然后该代理将稿件作为静态 XML 文档置于
另一个数据库中,订阅者可在此收集文档。
ROI Books
应用程序包含一个称为
createXML
的代理,此代理为视图中的每个文档生成 XML 并基于浏览器或服务器的请求将其发送出去。要
查看此代理的输出,在 Microsoft
Internet Explorer 5
中打开 ROI Books 应用程序并单击 XML Agent 链接,或使用 OpenAgent URL
命令
运行代理:
<A
href="http://host/roiBooks.nsf/createXML?OpenAgent">http://host/roiBooks.nsf/createXML?OpenAgent
编写的代理不仅可以打印输出,也可使用
LSO
DECS 连接器 API XML 输出保存在字符串变量中并将其写入静态 XML 文档或另一个数
据库系统中。
样例: XML
代理
此样例是 LotusScript. 代理,它在称为 XML 的视图中提取每个文档、根据其内容创建 XML 并打印输出。
Dim s As
New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim
view As NotesView
Set db = s.currentDatabase
Set view = db.GetView( "XML"
)
Set doc = view.GetFirstDocument
Print "Content-type:
text/xml"
'Prevents Domino from sending default headers.
Print
"<BOOKCATALOG>"
'BOOKCATALOG is the root element of the XML
document.
While Not ( doc Is Nothing )
'Loop as long as there are document
objects available.
   Print  "<BOOK>"
   
'Send the parent element for each book document.
   Print
"<bookTitle>"+doc.bookTitle(0)+"</bookTitle>"
   Print
"<bookAuthor>"+doc.bookAuthor(0)+"</bookAuthor>"
   
Print
"<bookPrice>"+doc.bookDiscountPrice(0)+"</bookPrice>"
   
Print
"<bookCategory>"+doc.bookCategory(0)+"</bookCategory>"
   
Print "</BOOK>"
   'Close the book element
tag.
   Set doc = view.GetNextDocument( doc )
   'Get
the next document in the view.
Wend
Print
"</BOOKCATALOG>"
'Closes the root element.
相关主题
Designer
应用程序中包括 XML
Domino
应用程序和 XML
XML
术语
应用设计
使用 Java servlet 生成
XML  
Servlet
是为响应 Web 浏览器的请求而运行的 Java 程序。与代理不同,当 Web 服务器启动且驻留在服务器上时
Servlet
才装载。它们通常
用于动态生成和更新 Web 页以及在不同的应用程序之间交换数据。可以扩展 Servlet 的功能,以使用 XML
作为应用程序之间的通用语言在应
用程序之间架起一座桥梁。 Java servlet 不仅能产生 XML 标记并传递到服务器以进行处理, Servlet
还可以与 LotusXSL 处理器进行交互作
用以格式化 XML 标记描述的数据。 XML XSL
配合使用,将为您提供一种定制数据传输的强大工具。
XML Servlet
应用程序的样例
作为 Servlet 如何促进 XML
传送定制数据包的样例,可考虑一个组织,其中的域销售代表使用不同的设备(如 Notes 客户机、浏览器或 PDA
)从 Domino
数据库下载信息。销售代表可向 Domino 应用程序请求所有与特定客户有关的信息。 Servlet 将来自不同数据源的信息集合到一
起并使用合适的 XML
标记将数据打包。 Servlet 还可以使用 LotusXSL processor 将样式应用于使用 XML
标记的数据并以最适合于连接设备
的格式传送数据。这种情况下,通过窄带电话线与 PDA 连接的销售代表比通过宽带网络连接与 Notes
客户机连接的销售代表获取的信息要少
以下图形显示连接设备、运行 Servlet Domino
应用程序以及后端数据库之间的关系:
在另一个关于 Servlet 如何提供有意义的定制数据的样例中,可考虑一个房地产应用程序,其所售房屋的数据存储在
Domino
数据库中。一个
房地产代理商或潜在的购买者使用 Web 浏览器向 Domino
应用程序请求所售房屋的信息。用户指定搜索标准,如所需的卧室间数。 Servlet
Domino
应用程序中运行,查找并装配与指定标准匹配的所有文档。 Servlet 动态折叠它在正确的 XML 标记(如 <HOUSE>
<HOUSETYPE>
)中
找到的数据。然后使用 LotusXSL processor 来应用 XSL 样式表中的样式并将 XML
标记的数据转换为 HTML ,将正确格式的数据推入请求的浏
览器。
创建和使用 Servlet
可以从头开始创建 Servlet ,通过 URL
引用现有的 Servlet ,或使用预置 Servlet 。每次修改 Servlet 时,必须重新启动服务器以查看所做
的改动。运行 Servlet
涉及到编写 Servlet 、在 Domino 中启用 Servlet 支持以及必要情况下设置 Servlet 属性等方面的内容。
关于在 Domino
服务器上运行 Servlet 的完整指导信息,请参阅 Domino Designer R5 的联机帮助。
关于 Java servlet
的综合信息,请访问 Sun Microsystems 站点: <A
href="http://www.java.sun.com">http://www.java.sun.com
Servlet 中包括
XML
要在 Java servlet 中包括 XML ,需要 LotusXSL Processor 。可以从 IBM AlphaWorks
站点
<A
href="http://alphaworks.ibm.com/formula/LotusXSL">http://alphaworks.ibm.com/formula/LotusXSL
)下载
LotusXSL Processor

相关主题
使用代理生成 XML

你可能感兴趣的:(常见问题)