domino 调用java_java调用domino
用Java编写应用时,有时需要在程序中调用另一个现成的可执行程序或系统命令,这时可以通过组合使用Java提供的Runtime类和Process类的方法实现。下面是一种比较典型的程序模式: ... Process process = Runtime.getRuntime().exec(".//p.exe"); process.waitfo
java访问操作lotus domino数据库 有几种方式:
1、直接使用domino本身的jar文件接口,这种连接方式需要domino服务器启动diiop服务;
2、使用domino的lddj接口,接口可以到ibm的网站上去下载,这种连接方式只能在window环境下使用, 需要安装notes客户端,使用id来验证的,需要手动输入密码;
http://www-12.lotus.com/ldd/doc/drivers/jdbc/1.5/lddj_help.nsf
3、使用corba来访问domino,这个比较烦,我至今没有调通
http://www.oaunion.com/oaunion/o ... pendocument&skeyword=corba发表者:slzhang 是可以通过java来取得domino的资料.也可以通过jsp来读domino里的资料,只要你在domino上打开diiop服务就可以.
附一个jsp的例子如下:
page
c
language="java"%>
page
import="com.dragon.*"
%>
page
import="lotus.domino.*"
%>
session
sess;
database
db;
view
view;
document
doc;
string
host
=
"",user
=
"",
pawd
=
"";
%>
try{
sess
=
notesfactory.createsession("192.168.2.1","admin","12345678");
host
=
sess.getservername();
user
=
sess.getusername();
system.out.println("host:
"
+
host
+
";
user:
"
+user);
db
=
sess.getdatabase(host,"fawen\\sample.nsf",false);
view
=
db.getview("jsp");
doc
=
view.getfirstdocument();
out.println(db.gettitle());
}catch(notesexception
ne){
system.out.println("error:
"
+
ne.id
+
"
==>
"
+
ne.getmessage());
}
%>
jsp
get
domino
data
border="1"
bgcolor="#ff33cc">
姓名
性别生日职务职称
部门
while(doc!=null){
%>
doc.getitemvalue("jname")
%>
doc.getitemvalue("jsex")
%>
doc.getitemvalue("jbirth")
%>
doc.getitemvalue("jjob")
%>
doc.getitemvalue("jjobtitle")
%>
doc.getitemvalue("jdept")
%>
doc
=
view.getnextdocument(doc);
}
out.println("host:
"
+
host
+
";
user:
"
+user);
doc.recycle();
view.recycle();
db.recycle();
sess.recycle();
%>
发表者:cnhxjtoa 以前我写过domino5-->oracle8
以下是与domino建立链接的相关代码
import
lotus.domino.*;
try
{
system.out.println("开始notes数据源进行连接....");
session
s
=
notesfactory.createsession(noteshost,username,userpassword);
system.out.println("与notes数据源成功连接,现正在查找notes登录数据库oak.nsf");
//定义全局性变量
database
db
=
null;
database
namesdb=null;
view
view
=null;
document
doc
=
null;
string
namesuser="";
db
=
s.getdatabase(s.getservername(),
sysinf.notes_dir
+"/oak.nsf");
acl
acl
=
db.getacl();
aclentry
entry
=
acl.getfirstentry();
namesdb=s.getdatabase(s.getservername()
,"names.nsf")
;
view
=
namesdb.getview("groups");
do
{
//具体分析每一个对象
switch
(entry.getusertype())
{
case
aclentry.type_mixed_group
:
//混合组
system.out.println("混合组
"+entry.getname())
;break;
case
aclentry.type_person
:
RMI的概念 RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制。使用这种机制,某一台计算机上的对象可以调用另外一台计算机上的对象来获取远程数据。RMI是Enterprise JavaBeans的支柱,是建立分布式
//个人
namesuser=entry.getname().substring(3,entry.getname().indexof("/")
);
addnotesuser(namesuser);
system.out.println("个人
:
"+
namesuser)
;
break;
case
aclentry.type_person_group
:
//个人群组
system.out.println("个人群组:
"+entry.getname()
)
;
//names.nsf
中视图groups
文档members域有每一个用户
doc
=
view.getfirstdocument();
while
(doc
!=
null
&&
!doc.getfirstitem("listname").gettext().equals(entry.getname()
)
)
{
doc
=
view.getnextdocument(doc);
}
if
(doc!=null){
enumeration
values
=
doc.getfirstitem("members").getvalues().elements();
while
(values.hasmoreelements())
{
//将cn=administrator/o=autosoft只取它的名字administrator
namesuser=values.nextelement().tostring()
;
namesuser=namesuser.substring(3,namesuser.indexof("/")
)
;
addnotesuser(namesuser);
}
}
break;
case
aclentry.type_server
:
//服务器
system.out.println("服务器
"+entry.getname())
;break;
case
aclentry.type_server_group
:
//服务器组
system.out.println("服务器组
"+entry.getname())
;break;
case
aclentry.type_unspecified
:
//没有指定
if(entry.getname().indexof("/")>1
)
{
namesuser=entry.getname().substring(3,entry.getname().indexof("/")
);
addnotesuser(namesuser);
system.out.println("找到一个没有指定类型的用户
"+entry.getname().substring(3,entry.getname().indexof("/")))
;
break;
}
else
{
system.out.println("没有指定
"+entry.getname())
;
break;
}
}
}
while
((entry
=
acl.getnextentry(entry))
!=
null);
system.out.println("用户导入完成")
;
}
catch
(exception
ex)
{
ex.printstacktrace()
;
system.out.println("与notes数据源连接失败"
)
;
}
domino 调用java_java调用domino相关推荐
- 如何重装Domino服务器或者将Domino服务器从一台机器迁移到另外一台
由于硬件升级或其他原因,会有重装服务器或迁移服务器到另外一台机器的需求,如果方法不对,会造成很多潜在的问题,建议大家参考这个 如何重装Domino服务器或者将Domino服务器从一台机器迁移到另外一台 ...
- java调用怎么调用方法区_Java中的方法调用有多昂贵
java调用怎么调用方法区 我们都去过那儿. 在查看设计不良的代码的同时,听听作者对人们永远不应该牺牲性能而不是设计的解释. 而且,您不能说服作者摆脱其500行方法,因为链接方法调用会破坏性能. 好吧 ...
- php教程调用数据库,PHP数据库调用类调用实例,php数据库调用实例_PHP教程
PHP数据库调用类调用实例,php数据库调用实例 config("dns=aaa;uid=sa;pwd=sa;dbname=test"); //3.选择数据库 $dbname = ...
- C# 委托的三种调用示例(同步调用 异步调用 异步回调)
首先,通过代码定义一个委托和下面三个示例将要调用的方法: 复制代码 代码如下: public delegate int AddHandler(int a,int b); public clas ...
- java级联_Java构造器:级联调用,调用兄弟构造器
级联调用: classFather{ Father(){ System.out.println("Father birth"); }public voidannounce(){ S ...
- Qt调用Matlab库C#库dll调用C++调用C#库CSharp库lib invoke matlab library .net donet netframework
Qt调用Matlab库C#库dll调用C++调用C#库CSharp库lib invoke matlab library .net donet netframework 该文章是一篇说明c++/Qt调用 ...
- C++代码封装成dll供C#中调用、调用dll无可用源
C#工程不可以直接调用C++的头文件和Lib库等 所以在程序中C#需要调用的现象,先将C++的东西封装成动态链接库,再调用 若调用dll时显示:无可用源调用,说明导入的DLL路径不对. 静态库和动态库 ...
- dedecms顶级栏目列表、子栏目列表调用DEDECMS调用父栏目名称
dedecms顶级栏目列表.子栏目列表调用DEDECMS调用父栏目名称 怎么在dede栏目列表或者dede子栏目列表调用DEDE调用父栏目名称?DEDECMS调用父栏目名称.DEDECMS调用子栏目里 ...
- 子类重写父类方法,调用时会调用子类重写之后的方法
1, 以下代码执行的结果显示是多少( )? public class Demo {class Super{ int flag=1;Super(){test();}void test(){System. ...
最新文章
- C# .NET访问Oracle的三种方法(转)
- 疫情之后,出行市场的春天还有多远?
- 用python画钢铁侠_用自动铅笔素描画钢铁侠盔甲
- 将html表格导出到excel表格,table2excel-将HTML表格内容导出到Excel中_html/css_WEB-ITnose...
- DPABI advanced edition 文件夹组织形式
- 微信公众平台开发者原理图解
- bat中的[%~dp0]使用
- RHEL6配置yum源为网易镜像
- c语言专家编程,读书笔记
- 网易见外不能用?永久免费的软件送你 自动生成字幕,免费快速上字幕, 自动加字幕!自动加字幕!快读完成Pr的字幕制作srt字幕文件生成,AI智能语音生成字幕 视频字幕自动生成 语音转换字幕 极速上字幕
- JAVA 获取零时区时间
- android 层叠view,RecyclerView进阶之层叠列表(上)
- 搭建MYSQL的mmm架构出现 master/AWAITING_RECOVERY. Roles报错
- 终结者外传第二季大结局剧情及评论
- 计算机30秒自动更换的桌面软件,电脑壁纸自动更换(SyncWall)
- 大疆文档(8)-Android教程-模拟器App
- 自动化测试中的验证码问题
- 饮用水铁离子超标,各种溶液铁离子超标去除工艺
- 【ManageEngine卓豪】局域网监控的作用
- **网站市场运作计划书
热门文章
- 大部分有高学历的人比低学历的人强
- 深信服X计划-云计算基础1
- 极米Z6X Pro怎么样?极米Z6X Pro亮度如何?极米Z6X Pro值得入手吗?
- 退出手机QQ依然显示在线
- 不将visio的白色背景复制到ppt上
- 【Netty官方文档翻译】引用计数对象(reference counted objects)
- 【魔店】拼多多店群玩法是什么?如何运营店铺?
- POI导出excel出现excel无法打开文件“xxx.xlsx”,因为文件格式或文件扩展名无效的问题
- 怎么把PDF拆分开成一张一张的
- word文档打不开的常见原因?好的处理方法