Java代理程序实现web方式管理邮件组成员

简介:

说到java大家并不陌生,java对于开发人员来说基础最早的开发语言之一,也是应用最多的,同时我们也知道,domino跟java是完美结合,domino可以根据自己的需求能优化很多功能级应用,同时我们介绍一下,通过B/S方式管理邮件组成员,添加程序后,如果添加的人员不在domino目录下,在保存的时候会在控制台输出,方便查找邮件投递故障。具体见下:

1.我们首先创建用户

clip_image002

创建邮件组,并且在邮件组内添加人员。

clip_image004

我们将user01、user02添加到group-01组内。

clip_image006


编辑好代理程序后,我们需要创建表单

clip_image008


然后

clip_image010

确认完以上信息后,接下来我们创建代理程序,在此我们通过java程序来实现。

为了保证不影响应用系统,建议创新新的数据库来新建表单及代理程序。

然后用desinger打开该数据库

clip_image012

编辑代理程序

clip_image014

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import lotus.domino.*;
import java.io.PrintWriter;
import java.util.Vector;
import java.lang.StringBuffer;
public  class  JavaAgent extends AgentBase {
public  void  NotesMain() {
try  {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Document note=agentContext.getDocumentContext();
String querystring=note.getItemValueString( "query_string" );
String[] queryArray=querystring.split( "&" );
querystring=queryArray[1].split( "=" )[1];
System.out.println( "请求内容是:" +querystring);
Database db=session.getDatabase(agentContext.getCurrentDatabase().getServer(),  "names.nsf" );
if (db.isOpen()){
}
View personview=db.getView( "_People" );
View groupview=db.getView( "Groups" );
Document doc=groupview.getFirstDocument();
Document tempdoc=null;
Document persondoc=null;
StringBuffer sb= new  StringBuffer();
while (doc!=null){
tempdoc=doc;
if (doc.getItemValueString( "ListName" ).equals(querystring)){
doc.appendItemValue( "CN=Gavin/O=gavi000" );
doc.save();
Vector v=session.evaluate( "@name([ABBREVIATE];members)" ,doc);
/*
for(int i=0;i<v.size();i++){
persondoc=personview.getDocumentByKey(v.get(i),true);
if(persondoc==null){
//MsgBox tempdoc.ListName(0) &"组下的"& key2(1) &"不在domino列表里!"
System.out.println(doc.getItemValueString("ListName")+"组下的"+v.get(i)+"不在domino列表里!");
}else{
}
}*/
if (v.size()>0){
for ( int  i=0;i<v.size()-1;i++){
sb.append(v.get(i)+ "," );
}
sb.append(v.get(v.size()-1));
}
break ;
}
doc=groupview.getNextDocument(doc);
tempdoc.recycle();
}
PrintWriter pw = getAgentOutput();
pw.println( "Content-Type:text/plain;charset=gbk" );
pw.println(sb.toString());
// (Your code goes here)
catch (Exception e) {
e.printStackTrace();
}
}
}

首先我们要通过web去访问的话,先要创建表单及内部自定义的信息

新建名称为web_group的表单

定义显示主题,因为我们主题需要在页面居中,所以应用到了center参数,

<center>显示内容</center>

编辑好,显示内容将在也面的中间显示;

接着定义需要搜索的的邮件组输入框---域值,然后显示邮件组成员的maillist,及搜索键、保存键盘

clip_image016

Maillist定义文本及文本框的大小

clip_image018

文本需要换行来输入信息,可根据自己的需求来定义

clip_image020

定义搜索键的参数

clip_image022


1
2
3
4
5
6
7
8
9
10
11
xmlhttp=createXMLHttpRequest();
if (xmlhttp){
xmlhttp.open( "GET" , "javajson?openagent&query=" +document.forms[0].Mailgroup.value+ "&t=" +Math.random(), true );
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.forms[0].Maillist.value=xmlhttp.responseText.replace(/,/g, "\r\n" );
}
}
xmlhttp.send();
} else
alert( "xmlhttp no found" );


clip_image024


1
2
3
4
5
function  createXMLHttpRequest(){
//var h=new ActiveXObject("Msxml2.XMLHTTP");
var  h =  new  XMLHttpRequest();
return  h;
}

clip_image026

Document forms[0].submit();

接下来我们访问

clip_image028


clip_image030


clip_image032


clip_image034

接下来我们添加用户,然后如果添加的用户不在domino目录下保存,就会在控制台提示

clip_image036

clip_image038



本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1401225,如需转载请自行联系原作者

相关文章
|
12天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
15天前
|
存储 Java 关系型数据库
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
24 1
|
5天前
|
Java Maven
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
23 3
|
1天前
|
Web App开发 Java 应用服务中间件
【Java Web】在 IDEA 中部署 Tomcat
【Java Web】在 IDEA 中部署 Tomcat
7 0
|
1天前
|
JavaScript Java 测试技术
基于Java的物流配送人员车辆调度管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的物流配送人员车辆调度管理系统的设计与实现(源码+lw+部署文档+讲解等)
7 0
|
1天前
|
人工智能 小程序 Java
java中小学校智慧校园电子班牌管理系统源码
使用springboot框架Java+vue2 B/S架构
16 3
|
5天前
|
JavaScript Java 测试技术
基于Java的智能社区管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的智能社区管理系统的设计与实现(源码+lw+部署文档+讲解等)
6 0
|
6天前
|
JavaScript Java 测试技术
基于Java的校园跑腿管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的校园跑腿管理系统的设计与实现(源码+lw+部署文档+讲解等)
17 0
|
6天前
|
JavaScript Java 测试技术
基于Java的高校就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的高校就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
22 2
|
13天前
|
JavaScript Java 关系型数据库
基于 java + Springboot + vue +mysql 大学生实习管理系统(含源码)
本文档介绍了基于Springboot的实习管理系统的设计与实现。系统采用B/S架构,旨在解决实习管理中的人工管理问题,提高效率。系统特点包括对用户输入的验证和数据安全性保障。功能涵盖首页、个人中心、班级管理、学生管理、教师管理、实习单位管理、实习作业管理、教师评分管理、单位成绩管理和系统管理等。用户分为管理员、教师和学生,各自有不同的操作权限。