java课程设计通讯录管理系统Word格式文档下载.docx
- 文档编号:22479158
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:17
- 大小:187.74KB
java课程设计通讯录管理系统Word格式文档下载.docx
《java课程设计通讯录管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java课程设计通讯录管理系统Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
3
四、详细设计·
1.数据结构设计·
2.系统模块设计·
10
五、运行结果·
13
一.设计题目
随着社会的进步与发展,通讯越来越密切。
希望能通过对java课程设计的学习和掌握来编写一个通讯录管理系统。
二.设计要求
(1)只能使用Java语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。
(2)程序必须与数据库进行通信。
(3)系统必须是图形用户界面的形式并连接数据库
三.总体设计
3.1系统总体功能框架图
3.2系统功能说明
(1)具有新用户注册功能。
(2)具有注册用户登录功能。
(3)具有数据的录入功能。
(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。
(5)具有按条件删除数据功能。
(6)具有统计功能
4.详细设计
4.1数据结构设计(java程序设计)
//登录系统
packagecom.ibm.etp.addressbook.action;
importjava.util.HashMap;
importjava.util.List;
importcom.ibm.etp.addressbook.pojo.User;
importcom.ibm.etp.addressbook.service.LoginService;
importcom.opensymphony.xwork2.ActionSupport;
publicclassLoginActionextendsActionSupport{
privatestaticfinallongserialVersionUID=1L;
publicStringusername;
publicStringpassword;
privateStringmessage;
@Override
publicStringexecute()throwsException{
HashMap<
Object,Object>
result=newHashMap<
();
List<
User>
list=null;
System.out.println(username);
if(username==null||username.trim().length()==0){
result.put("
success"
false);
msg"
"
login.username.empty"
);
}elseif(password==null||password.trim().length()==0){
login.password.empty"
}else{
LoginServicels=newLoginService();
list=ls.checkLogin(username);
}
if(list==null){
error.user.not.exist"
}elseif(list.get(0).getPassword().equals(password)){
true);
login.success"
error.password.wrong"
if((Boolean)result.get("
)){
message=(String)result.get("
return"
;
error"
}
publicStringgetMessage(){
returnmessage;
publicvoidsetMessage(Stringmessage){
this.message=message;
publicvoidsetUsername(Stringusername){
this.username=username;
publicvoidsetPassword(Stringpassword){
this.password=password;
publicStringgetUsername(){
returnusername;
publicStringgetPassword(){
returnpassword;
}
//增加记录
//删除记录
importjava.util.ArrayList;
importcom.ibm.etp.addressbook.pojo.Record;
importcom.ibm.etp.addressbook.service.DeleService;
publicclassDeleActionextendsActionSupport{
privateintid[];
publicStringmessage;
privatebooleansuccess=true;
publicbooleanisSuccess(){
returnsuccess;
privateArrayList<
Record>
list=newArrayList<
publicArrayList<
getList(){
returnlist;
publicintgetId(inti){
returnid[i];
publicint[]getId(){
returnid;
publicvoidsetId(int[]id){
this.id=id;
publicStringexecute()throwsException{
DeleServiceds=newDeleService();
list=ds.removeRecord(this);
try{
success=true;
returnSUCCESS;
}catch(Exceptione){
success=false;
returnERROR;
}
//修改记录
importcom.ibm.etp.addressbook.service.UpdateService;
publicclassUpdateActionextendsActionSupport{
privateintid;
privateStringname;
privateStringphone;
privateStringemail;
privateStringbirthday;
privateStringsex;
publicintgetId(){
publicvoidsetId(intid){
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
publicStringgetPhone(){
returnphone;
publicvoidsetPhone(Stringphone){
this.phone=phone;
publicStringgetEmail(){
returnemail;
publicvoidsetEmail(Stringemail){
this.email=email;
publicStringgetBirthday(){
returnbirthday;
publicvoidsetBirthday(Stringbirthday){
this.birthday=birthday;
publicStringgetSex(){
returnsex;
publicvoidsetSex(Stringsex){
this.sex=sex;
UpdateServiceus=newUpdateService();
if(us.setRecord(this)!
=null)
returnSUCCESS;
else{
returnERROR;
//查找记录行
importjava.sql.SQLException;
importcom.ibm.etp.addressbook.service.FindService;
publicclassFindActionextendsActionSupport{
privateStringfield;
privateStringinput;
privateintsize;
privateStringsort;
privateList<
list;
publicList<
publicvoidsetList(List<
list){
this.list=list;
}
publicStringgetField(){
returnfield;
publicvoidsetField(Stringfield){
this.field=field;
publicStringgetInput(){
returninput;
publicvoidsetInput(Stringinput){
this.input=input;
publicintgetSize(){
returnsize;
publicvoidsetSize(intsize){
this.size=size;
publicStringgetSort(){
returnsort;
publicvoidsetSort(Stringsort){
this.sort=sort;
publicStringexecute()throwsException{
FindActionfb=newFindAction();
fb.setField(field);
fb.setInput(input);
fb.setSize(size);
fb.setSort(sort);
FindServicefs=newFindService();
try{
list=fs.find(fb);
success=true;
returnSUCCESS;
}catch(SQLExceptione){
e.printStackTrace();
success=false;
4.2系统模块设计
图1-1登陆功能展示图
LoginAction类,封装的信息由密码和账户名,以及登录失败时抛出的异常方法。
Stringexecute()函数继承了Exception类,如果登录密码不匹配,则会抛出异常,提示Error登录失败。
在登录模块中有管理员用户和普通用户,管理员可以对系统中的信息添加,修改,删除等功能,普通用户只进行查找操作。
2、添加功能界面
图2-1添加功能展示图
LoginAction类继承ActionSuporrt类,封装有name,sex,birthday,email,tel属性,封装有成员函数set_name(),set_sex(),set_birthday(),set_email(),set_tel()用来添加各个属性值,提示操作失败信息用Stringexecute()函数抛出异常。
3、删除功能界面
图3-1删除功能展示图
DeleAction类继承ActionSuporrt类,get_name()方法用于得到所要删除的信息的主码。
封装的数据成员包括name,封装有isSuccess()函数,用于判断删除成功与否。
删除模块中,用户可以根据某一关键字或多个关键字进行删除,删除信息后会自动提示。
4、查询功能界面
图4-1查询功能展示图
FindAction类继承ActionSuporrt类的属性及方法,setInput()方法将输入的信息传递给FindAction类内的相应属性,getInput()方法用于返回输入值,封装的成员函数包括getlist()用于返回查询到的元组列表。
图5显示可以通过姓名,性别,出生日期,email地址对联系人进行查询。
五.运行结果
图5-1查询全部功能展示图
点击文件“编辑—查找全部”,则会弹出一个空白的查找结果界面,这是因为在程序设计中默认的是不显示所得的信息
然后点击“显示查询结果”,即可显示出全部查询结果。
如图4-19:
图5-2查询全部功能展示图
参考文献:
1)Eric.Java编程思想.第4版.机械工业出版社,机械工业出版社.
2)林信良.JSP&
Servlet学习笔记.清华大学出版社,2012年05月.
3)张峋,杨三成.关键技术JSP与JDBC应用详解.中国铁道出版社,2010年11月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 通讯录 管理 系统