壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1703|回复: 5

[Domino B/S开发] [转帖]Domino Servlet开发

[复制链接]
发表于 2003/8/5 15:18:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
Domino R5对Java Servlet的支持使您在开发Notes应用时有了更多的选择。例如,您可以使用Servlet代替Domino代理(Agent)访问Domino对象,完成服务器端的处理。
本篇文章提供了有关Domino Servlet 的开发和运行配置,包括:

Servlet 的特点,与Agent的区别,Domino对Servlet的支持
Domino服务器运行servlet的配置,Servlet properties 文件

本篇文章设想读者熟悉Java,了解Domino应用程序设计。

1. Servlet特点以及与Agent的区别

Servlet是运行在服务器上的Java程序,提供类似于CGI应用和Domino Agent的功能。Servlet的主要优点是只装载入内存一次,而Agent和CGI程序是每次调用时都需装载入内存。Servlet一次装载入内存后,以后所有调用都使用该实例。例如,针对连接数据库的任务,您可以选择Servlet来保持一个永久连接传输数据,提高运行效率。

尽管Agent和Servlet提供类似功能,但它们的实现差别很大。Agent存在于Domino数据库而Servlet在文件系统下。这立即带来了两个问题:分布和安全。Agent可以充分利用它所在的数据库,因此,可通过复制分布到其它服务器。同样,Domino安全模式控制Agent的访问。相反,Servlet存在于文件系统,因此由服务器、文件和目录安全来控制Servlet访问。Servlet缺省是以服务器安全权限来运行,但也可以某一特定用户的名字和口令来运行。最后,除非使用WNT目录复制,您必须拷贝或安装Servlet到其它需要的服务器。

2. 关于Servlet开发环境JSDK

标准Domino Designer的开发环境并不支持Servlet开发,因此您必须使用第三方IDE或SUN命令行JDK开发Servlet代码。

开发Servlet所需的JSDK可从SUN免费得到,另外JSDK是Domino安装的标准部分,jsdk.jar位于安装服务器的程序目录。例如,您的Domino服务器安装在D盘的r5server目录下,则JSDK在D:\r5server\jsdk.jar。

注意:Jar文件是标准JAVA文件的压缩。类似于Winzip,PKZip或Windows CAB文件。
Domino 4.6.x 支持 JSDK 1.x. Domino 5.0 从 5.0.2b 以后版本支持 JSDK 2.0. 目前版本不支持JSDK 2.0以后版本。最新版本支持情况请参考随软件的产品发布信息。

3. 设置Domino服务器运行Servlet

请参阅“如何管理Domino Servlet”文档,设置Domino服务器运行Servlet。
一旦Domino服务器配置成“启用”Servlet,以下与Servlet有关的行将出现在Domino数据目录下的Domino配置文件(domino.cnf) 中:


# Java Servlet Settings
ServerInit servlet:ServletInit d:\r5server\Data
Service /servlet/* servlet:ServletService*
ServerTerm servlet:ServletTerm

Domino servlet 支持JVM和Servlet Manager。当Servlet“启用”时,JVM在HTTP服务器启动之前装载;如果使用Domino Servlet Manager,在JVM装载之后装载它;如果使用第三方Servlet Manager,则只装载JVM。

用户从浏览器访问servlet 时,URL为:http://myserver/servlet/ servletname。例如,输入 http://myserver/servlet/HelloWorld 运行 HelloWorld servlet 。

WEB服务器启动时装载Servlet,此刻后Servlet将在内存中,开始工作。但是,Servlet代码改变后,Domino HTTP服务器必须退出并重新启动,新代码才会起作用。 4. Servlet properties 文件

Servlet可由两种方法装载:Servlet Manager 在HTTP启动时按servlets.properties 文件指定的参数装载Servlet,或客户第一次调用Servlet时装载Servlet。Servlet在HTTP任务停止运行时从内存被清除。

您应当尽可能使用Servlet Manager 和servlets.properties 。在HTTP任务启动时就装载Servlet,以后用户请求不用再装载,相应时间和延迟就小。

servlets.properties是一个TXT格式的配置文件,用来指定装载Servlet时的标准参数,位于Domino数据目录,例如:D:\r5server\data\servlets.properties。您可以使用TXT编辑器创建它。

servlet properties 文件包括Servlet别名,初始化参数,URL扩展映射,WEB服务器启动时需装载的Servlet。

语法如下:


Servlet 别名---- servlet.<alias-name>.code=<class-name>
初始化参数------ servlet.<alias or class name>.initArgs=<name1=value1>,<name2=value2>Servlet代码中可以使用ServletConfig.getInitParameter方法访问这些数据。
URL 扩展映射---- servlet.<alias or class name>.extension=<extension> <extension> ...
启动时装载------ servlets.startup=<alias or class> <alias or class> ...

以下是一个servlets.properties 文件,这里指定Test为HelloWorld.class Servlet的别名,指定了初始化参数,启动时装载。


# Example servlets.properties file
servlet.Test.code = HelloWorld
servlet.Test.initArgs = 1, 2, 3
servlets.startup = Test

有关Servlet配置文件经常出现的错误有:
(1)文件目录放置错误,它必须是在您的Domino数据目录下。
(2)文件扩展名错误,许多编辑器例如Notepad使用TXT扩展名
(3)使用错误文件名,文件名必须是servlets.properties
(4)大小写错误,文件名如同Servlet名字是大小写敏感的。


发表于 2003/8/5 15:57:40 | 显示全部楼层
发表于 2003/8/6 09:52:18 | 显示全部楼层
不错 不错 支持,顶一下。我现在也在研究这方面的内容,不过要先学好java
发表于 2003/8/13 10:39:10 | 显示全部楼层
发表于 2003/10/10 19:28:57 | 显示全部楼层
感觉Domino对JAVA的支持不是很好!
例如不支持Servlet的热部署,重新编译Servlet后要重启Domino后Domino才起作用!
发表于 2003/10/11 11:13:03 | 显示全部楼层
在r6上对Java的支持可能更好些,支持servlet2.3,jsp1.2
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 16:22 , Processed in 0.014288 second(s), 16 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表