java课程设计通讯录管理系统.docx

上传人:b****5 文档编号:6398611 上传时间:2023-01-06 格式:DOCX 页数:15 大小:187.57KB
下载 相关 举报
java课程设计通讯录管理系统.docx_第1页
第1页 / 共15页
java课程设计通讯录管理系统.docx_第2页
第2页 / 共15页
java课程设计通讯录管理系统.docx_第3页
第3页 / 共15页
java课程设计通讯录管理系统.docx_第4页
第4页 / 共15页
java课程设计通讯录管理系统.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

java课程设计通讯录管理系统.docx

《java课程设计通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《java课程设计通讯录管理系统.docx(15页珍藏版)》请在冰豆网上搜索。

java课程设计通讯录管理系统.docx

java课程设计通讯录管理系统

 

学院

计算机科学与技术系

 

课程设计报告

2013~2014学年第二学期

课程

面向对象课程设计

课程设计名称

通讯录程序

学生

XXX

学号

专业班级

XXXXX

指导教师

XXX

20年月

一、设计题目·················································1

二、设计要求·················································1

三、总体设计·················································1

3.1系统功能框架·········································1

3.2系统功能说明··········································3

四、详细设计···················································3

1.数据结构设计············································3

2.系统模块设计············································10

五、运行结果·················································13

 

一.设计题目

随着社会的进步与发展,通讯越来越密切。

希望能通过对java课程设计的学习和掌握来编写一个通讯录管理系统。

二.设计要求

(1)只能使用Java语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。

(2)程序必须与数据库进行通信。

(3)系统必须是图形用户界面的形式并连接数据库

三.总体设计

3.1系统总体功能框架图

 

3.2系统功能说明

(1)具有新用户注册功能。

(2)具有注册用户登录功能。

(3)具有数据的录入功能。

(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。

(5)具有按条件删除数据功能。

(6)具有统计功能

4.详细设计

4.1数据结构设计(java程序设计)

//登录系统

package.ibm.etp.addressbook.action;

importjava.util.HashMap;

importjava.util.List;

import.ibm.etp.addressbook.pojo.User;

import.ibm.etp.addressbook.service.LoginService;

import.opensymphony.xwork2.ActionSupport;

publicclassLoginActionextendsActionSupport{

privatestaticfinallongserialVersionUID=1L;

publicStringusername;

publicStringpassword;

privateStringmessage;

Override

publicStringexecute()throwsException{

HashMapresult=newHashMap();

Listlist=null;

System.out.println(username);

if(username==null||username.trim().length()==0){

result.put("success",false);

result.put("msg","login.username.empty");

}elseif(password==null||password.trim().length()==0){

result.put("success",false);

result.put("msg","login.password.empty");

}else{

LoginServicels=newLoginService();

list=ls.checkLogin(username);

}

if(list==null){

result.put("success",false);

result.put("msg","error.user.not.exist");

}elseif(list.get(0).getPassword().equals(password)){

result.put("success",true);

result.put("msg","login.success");

}else{

result.put("success",false);

result.put("msg","error.password.wrong");

}

if((Boolean)result.get("success")){

message=(String)result.get("msg");

return"success";

}else{

message=(String)result.get("msg");

return"error";

}

}

publicStringgetMessage(){

returnmessage;

}

publicvoidsetMessage(Stringmessage){

this.message=message;

}

publicvoidsetUsername(Stringusername){

this.username=username;

}

publicvoidsetPassword(Stringpassword){

this.password=password;

}

publicStringgetUsername(){

returnusername;

}

publicStringgetPassword(){

returnpassword;

}

}

//增加记录

package.ibm.etp.addressbook.action;

importjava.util.HashMap;

importjava.util.List;

import.ibm.etp.addressbook.pojo.User;

import.ibm.etp.addressbook.service.LoginService;

import.opensymphony.xwork2.ActionSupport;

publicclassLoginActionextendsActionSupport{

privatestaticfinallongserialVersionUID=1L;

publicStringusername;

publicStringpassword;

privateStringmessage;

publicStringexecute()throwsException{

HashMapresult=newHashMap();

Listlist=null;

System.out.println(username);

if(username==null||username.trim().length()==0){

result.put("success",false);

result.put("msg","login.username.empty");

}elseif(password==null||password.trim().length()==0){

result.put("success",false);

result.put("msg","login.password.empty");

}else{

LoginServicels=newLoginService();

list=ls.checkLogin(username);

}

if(list==null){

result.put("success",false);

result.put("msg","error.user.not.exist");

}elseif(list.get(0).getPassword().equals(password)){

result.put("success",true);

result.put("msg","login.success");

}else{

result.put("success",false);

result.put("msg","error.password.wrong");

}

if((Boolean)result.get("success")){

message=(String)result.get("msg");

return"success";

}else{

message=(String)result.get("msg");

return"error";

}

}

publicStringgetMessage(){

returnmessage;

}

publicvoidsetMessage(Stringmessage){

this.message=message;

}

publicvoidsetUsername(Stringusername){

this.username=username;

}

publicvoidsetPassword(Stringpassword){

this.password=password;

}

publicStringgetUsername(){

returnusername;

}

publicStringgetPassword(){

returnpassword;

}

}

//删除记录

package.ibm.etp.addressbook.action;

importjava.util.ArrayList;

import.ibm.etp.addressbook.pojo.Record;

import.ibm.etp.addressbook.service.DeleService;

import.opensymphony.xwork2.ActionSupport;

publicclassDeleActionextendsActionSupport{

privateintid[];

publicStringmessage;

privatebooleansuccess=true;

publicbooleanisSuccess(){

returnsuccess;

}

privateArrayListlist=newArrayList();

publicArrayListgetList(){

returnlist;

}

publicintgetId(inti){

returnid[i];

}

publicint[]getId(){

returnid;

}

publicvoidsetId(int[]id){

this.id=id;

}

publicStringgetMessage(){

returnmessage;

}

publicvoidsetMessage(Stringmessage){

this.message=message;

}

publicStringexecute()throwsException{

DeleServiceds=newDeleService();

list=ds.removeRecord(this);

try{

success=true;

returnSUCCESS;

}catch(Exceptione){

success=false;

returnERROR;

}

}

}

//修改记录

package.ibm.etp.addressbook.action;

import.ibm.etp.addressbook.service.UpdateService;

import.opensymphony.xwork2.ActionSupport;

publicclassUpdateActionextendsActionSupport{

privateintid;

privateStringname;

privateStringphone;

privateStringemail;

privateStringbirthday;

privateStringsex;

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

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;

}

publicStringexecute()throwsException{

UpdateServiceus=newUpdateService();

if(us.setRecord(this)!

=null)

returnSUCCESS;

else{

returnERROR;

}

}

}

//查找记录行

package.ibm.etp.addressbook.action;

importjava.sql.SQLException;

importjava.util.List;

import.ibm.etp.addressbook.pojo.Record;

import.ibm.etp.addressbook.service.FindService;

import.opensymphony.xwork2.ActionSupport;

publicclassFindActionextendsActionSupport{

privateStringfield;

privateStringinput;

privateintsize;

privateStringsort;

privateListlist;

privatebooleansuccess=true;

publicbooleanisSuccess(){

returnsuccess;

}

publicListgetList(){

returnlist;

}

publicvoidsetList(Listlist){

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;

returnERROR;

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月

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1