通讯录课程设计 Java
Java通讯录管理系统设计报告
Java通讯录管理系统设计报告1. 引言随着社会发展和信息技术的进步,通讯录在人们的日常生活和工作中变得越来越重要。
Java通讯录管理系统是一种用于管理个人和组织联系信息的软件系统。
本篇文档将详细介绍Java通讯录管理系统的设计和实现。
2. 功能需求Java通讯录管理系统具有以下功能需求: - 添加联系人:用户可以添加新的联系人,包括姓名、电话号码、电子邮件等相关信息。
- 删除联系人:用户可以删除已存在的联系人。
- 编辑联系人:用户可以修改已存在联系人的信息。
- 搜索联系人:用户可以根据姓名、电话号码或其他关键字搜索联系人。
- 显示联系人列表:用户可以查看所有联系人的列表,并按照姓名或其他方式进行排序。
- 导入/导出联系人:用户可以将联系人导入/导出到文件中,以实现数据的备份和共享。
3. 系统设计3.1 技术栈选择Java通讯录管理系统采用Java语言进行开发,使用Java的面向对象特性来实现系统的各个功能模块。
系统使用MySQL数据库来存储联系人的信息。
3.2 系统架构Java通讯录管理系统采用三层架构,分为表示层、业务逻辑层和数据访问层。
•表示层:负责与用户的交互,包括图形界面和用户输入输出的处理。
•业务逻辑层:负责处理用户的请求,对联系人信息进行增加、删除、编辑、搜索等操作,并调用数据访问层进行数据的读写。
•数据访问层:负责与数据库交互,进行联系人信息的读写操作。
3.3 类设计在Java通讯录管理系统中,主要涉及以下类的设计: - Contact类:表示一个联系人,包含姓名、电话号码、电子邮件等属性。
- ContactDAO接口:定义对联系人的增删改查等操作。
- ContactDAOImpl类:实现ContactDAO接口,负责与数据库进行交互。
- ContactService类:负责处理业务逻辑,调用ContactDAOImpl 类进行联系人信息的操作。
- ContactConsole类:表示层的用户界面,处理用户输入输出和展示联系人信息。
JAVA语言课程设计报告(电话号码查询系统)
摘要系统主要功能包括:实现添加联系人的姓名和手机号码家庭电话号码和办公号码,并且连接进数据库,将信息储存进数据库文件中去,添加成功弹出添加成功的对话框,对话框中的信息可以重置。
消息对话框负责显示消息,调用其静态方法显示警告信息。
要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
添加姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2005数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
修改姓名,手机号码,家庭电话,办公电话等信息到数据库中,同样需要连接SQLSERVER2005数据库,用户的图形界面要求在文本框中显示姓名,手机号码,家庭电话,办公电话等用户信息。
对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,模糊查询允许用户用较为模糊的查询条件,比如信息的姓来进行查询。
实现了满足用户需求的多样化。
对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,整体查询允许用户用整体的查询条件,比如信息的姓来进行查询。
实现了满足用户需求的多样化。
本论文内容主要是运用软件工程的知识,先进行系统需求分析,之后是系统概要设计,详细设计,并且详细介绍了各个功能模块的具体实现和数据库的设计。
关键字:Java语言,SQLSERVER2005,JVM,添加,删除,查询和排序目录1、系统需求分析 (3)1.1系统名称: (3)1.2系统介绍: (3)1.3开发背景 (3)1.4.系统面向的用户群体 (4)1.5开发环境 (4)2.系统总体设计 (4)2.1系统功能结构图 (4)2.2系统数据流程图 (5)3 系统详细设计 (5)3.1数据库实体E-R图设计 (6)3.2数据库表的设计 (7)3.3.详细设计 (8)4软件测试 (17)5 系统总结 (17)6系统设计心得体会 (18)参考文献.................................................................. 错误!未定义书签。
软件工程课程设计--通讯录管理系统
根据该系统的目标来衡量的技术是否具备,一般可从硬件的性能要求、环境条件、操作人员水平和数量等方面去考虑和分析。考虑到系统实施的可行性,在软件方面选择了如今较流行的Myeclipes6.0.1来进行开发管理平台的设计,使用SQL Server2000数据库存储数据。
在硬件方面,则选择空间较大,只要是Pentium Ⅳ系列及以上的计算机,内存在512MB以上,硬盘在20GB,都可以满足系统的开发需要。当然,硬件的配置越高,系统的开发与运行会更流畅,考虑到如今的家用电脑硬件的整体配置水平,系统在硬件方面是可行的。在软件方面,由于Myeclipes6.0.1和SQL Server2000都是两个非常成熟的开发工具,无论在安全性、可用性、可靠性方面都毫无置疑,因此软件方面是可行的。
本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用。本文也是项目完成后系统验收的依据。
3.1.2
本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统,要求应用程序功能完备,易使用等特点。
3
3.1
以工程的方法来设计项目中的各个功能模块,解决遇到的问题。软件工程设计原则:①选取合适的开发模型②选取合适的设计方法③选取高质量的工程支持④重视软件工程的管理。
3.1.1
在完成了针对通讯录管理系统的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。
使用权限:用户;
6.3)名称:用户类别信息文件。
小小通讯录-java课程设计报告
凯里学院Java课程设计报告题目小小通讯录所在院系计科院学生姓名潘万鹏、余冬林专业计算机科学与技术班级计09本(1)学号2009406028 20094060312011年12月22日一、系统分析与设计1、系统功能分析本系统通过连接数据库,查询出计09本(1)班同学的联系方式及家庭住址。
2、本系统共包括1个Java源文件,1个Main主类。
3、Java源文件及其功能如表1.1所示。
表1.1 文件清单二、系统实现1、成员变量如表2.1所示2、方法如表2.2所示表2.2 方法3、源文件Main.java代码如下给出。
import java.awt.*;import java.awt.event.*;import java.sql.*;public class Main extends Frame implements ActionListener { //主类// Toolkit.getDefaultToolkit()→获取默认工具包public Toolkit tool = Toolkit.getDefaultToolkit();Label lab1, lab2, lab3, lab4, lab5, lab6;TextField txt1, txt2, txt3, txt4, txt5, txt6;Button but1, but2, but3;public void showWindow() { //显示窗体类// 获取屏幕的x,y坐标int x = tool.getScreenSize().width;int y = tool.getScreenSize().height;setBounds(x / 2 - 250, y / 2 - 275, 500, 450);setLayout(null);lab1 = new Label("学号:");lab2 = new Label("姓名:");lab3 = new Label("性别:");lab4 = new Label("电话:");lab5 = new Label("QQ:");lab6 = new Label("住址:");add(lab1);add(lab2);add(lab3);add(lab4);add(lab5);add(lab6);lab1.setBounds(getWidth() - 450, getHeight() - 400, 50, 30);lab2.setBounds(getWidth() - 450, getHeight() - 350, 50, 30);lab3.setBounds(getWidth() - 450, getHeight() - 300, 50, 30);lab4.setBounds(getWidth() - 450, getHeight() - 250, 50, 30);lab5.setBounds(getWidth() - 450, getHeight() - 200, 50, 30); lab6.setBounds(getWidth() - 450, getHeight() - 150, 50, 30);txt1 = new TextField("2009406001");txt2 = new TextField();txt3 = new TextField();txt4 = new TextField();txt5 = new TextField();txt6 = new TextField();// 设置文本框位置setBounds(int x,int y,int w,int h);txt1.setBounds(getWidth() - 400, getHeight() - 400, 350, 30); txt2.setBounds(getWidth() - 400, getHeight() - 350, 350, 30); txt3.setBounds(getWidth() - 400, getHeight() - 300, 350, 30); txt4.setBounds(getWidth() - 400, getHeight() - 250, 350, 30); txt5.setBounds(getWidth() - 400, getHeight() - 200, 350, 30); txt6.setBounds(getWidth() - 400, getHeight() - 150, 350, 30);add(txt1);add(txt2);add(txt3);add(txt4);add(txt5);add(txt6);// 添加按钮but1 = new Button("上一个");but2 = new Button("查询");but3 = new Button("下一个");but1.setBounds(getWidth() - 450, 380, 100, 30);but2.setBounds(getWidth() / 2 - 50, 380, 100, 30);but3.setBounds(getWidth() / 2 + 110, 380, 100, 30);add(but1);add(but2);add(but3);// 添加事件驱动but1.addActionListener(this);but2.addActionListener(this);but3.addActionListener(this);txt1.addActionListener(this);addWindowListener(new WindowAdapter(){ //添加关闭监视器public void windowClosing(WindowEvent e){System.exit(0);}});setVisible(true);validate();setResizable(false);but1.setVisible(false);but3.setVisible(false);}public void actionPerformed(ActionEvent e) { //添加动作监听// 连接数据库,并进行编程if (e.getActionCommand() == "上一个") {//上一个代码开使String a=txt1.getText();int i=Integer.parseInt(a);i=i-1;Connection con;Statement sql;ResultSet rs;try{con=DriverManager.getConnection("jdbc:odbc:小小通讯录","admin","admin");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM information where 学号 = '"+i+"' ");while(rs.next()){String number1=rs.getString(1);//学号String number2=rs.getString(2);//姓名String number3=rs.getString(3);//性别String number4=rs.getString(4);//联系电话String number5=rs.getString(5);//联系QQString number6=rs.getString(6);//家庭住址txt1.setText(number1);txt2.setText(number2);txt3.setText(number3);txt4.setText(number4);txt5.setText(number5);txt6.setText(number6);}con.close();}catch(SQLException e1){System.out.println(e1);}//上一个代码结束}if (e.getActionCommand() == "查询") {//如果单击“查询”按钮则:but1.setVisible(true);but3.setVisible(true);String a=txt1.getText();Connection con;Statement sql;ResultSet rs;try{con=DriverManager.getConnection("jdbc:odbc:小小通讯录","admin","admin");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM information where 学号 = '"+a+"' ");while(rs.next()){String number2=rs.getString(2);//姓名String number3=rs.getString(3);//性别String number4=rs.getString(4);//联系电话String number5=rs.getString(5);//联系QQString number6=rs.getString(6);//家庭住址txt2.setText(number2);txt3.setText(number3);txt4.setText(number4);txt5.setText(number5);txt6.setText(number6);}con.close();}catch(SQLException e1){System.out.println(e1);//查询代码结束}}if (e.getActionCommand() == "下一个"){//单击按钮“下一个”//下一个开始String a=txt1.getText();int i=Integer.parseInt(a);i=i+1;Connection con;Statement sql;ResultSet rs;try{con=DriverManager.getConnection("jdbc:odbc:小小通讯录","admin","admin");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM information where 学号 = '"+i+"' ");while(rs.next()){String number1=rs.getString(1);//学号String number2=rs.getString(2);//姓名String number3=rs.getString(3);//性别String number4=rs.getString(4);//联系电话String number5=rs.getString(5);//联系QQString number6=rs.getString(6);//家庭住址txt1.setText(number1);txt2.setText(number2);txt3.setText(number3);txt4.setText(number4);txt5.setText(number5);txt6.setText(number6);}con.close();}catch(SQLException e1){System.out.println(e1);}//下一个结束}}public static void main(String args[]) { //main方法Main m = new Main();m.showWindow();}}三、系统测试图3.1程序运行,可得出此效果图。
Java课程设计通讯录管理系统
摘要随着社会的发展,人际关系变来越重要,为了保持良好的人际关系,必须常与亲戚朋友,同学同事保持联系,但有时候存在许多限制条件,因此我们需要为了快速查找联系人的信息,节省查找时间,开发通讯录管理系统。
通讯录管理系统是一个基于C/S模式的个人通讯录管理系统,它是将自己的联系人的具体信息集中处理,成为一个方便人们使用的小软件。
在开发过程中应用java,JDK,MYSQL,SWING等技术,由于开发工具与数据库之间的良好使用,可以为开发带来方便,使之成为可视性的系统。
通过采用相关技术,将系统设计的功能全部实现。
功能包括:用户登录,添加联系人信息,修改联系人信息,删除联系人信息,查询联系人信息,可以浏览全部通讯录联系人,可以根据数据表的歌字段来查询你要找的联系人等功能。
关键字:C/S架构,联系信息,通讯录,数据库目录一、需求分析 (2)二、系统总体规划 (2)三、程序流程 (2)四、设计步骤 (5)1.数据库表的设计 (5)2.详细设计 (5)五、设计总结 (9)六、结束语 (10)六、参考文献 (11)七、程序清单 (12)1一需求分析通讯录在当今的日常生活工作中的应用是十分普及的,每个人都拥有大量的通讯录资料信息,当前大家一般都用手工来记录所有的通讯录信息。
但随着时代的发展,人们的联系方式及信息变得复杂多样,通讯录信息大量增加,导致管理这些信息资料就成了问题。
直接操作来查找,添加,修改,删除这些信息,由于数据多,工作量十分巨大,查找,编辑都很困难,而且极易出错,容易造成资料的混乱或丢失。
在各种手机,上午通内设的电话簿尽管携带方便却又存在“记录量少,界面小,浏览不方便,记录信息不全面”的缺点。
有人利用Excel或Word编制通讯录,虽然数据比较全面,信息比较充分,可是查找及其不便,维护起来也麻烦,所以运用文件或数据库技术建立一个通讯录管资料理系统十分必要,使通讯录资料管理工作规范化,系统化,程序化,避免资料管理中的混乱。
学生通讯录管理系统数据结构课程设计
学生通讯录管理系统数据结构课程设计一、需求分析在学生通讯录管理系统中,我们需要实现以下功能:1.学生信息的录入与管理2.通讯录信息的增删查改3.数据的持久化存储二、系统设计1. 数据结构设计为了实现学生通讯录管理系统的功能,我们需要设计以下数据结构:•学生信息结构体包括学号、姓名、性别、年龄等字段•通讯录信息结构体包括联系人姓名、电话号码、邮箱等字段2. 算法设计2.1 添加学生信息当用户选择添加学生信息时,系统会要求用户输入学号、姓名、性别、年龄等信息,然后将这些信息存储在学生信息的数据结构中。
void addStudentInfo() {// 读取用户输入的学生信息// 将学生信息存储在学生信息结构体中}2.2 修改通讯录信息用户可以根据联系人姓名查找通讯录信息,并进行修改操作,比如修改电话号码、邮箱等内容。
void modifyContactInfo() {// 根据联系人姓名查找通讯录信息// 用户进行修改操作}2.3 删除通讯录信息用户可以根据联系人姓名删除通讯录信息。
void deleteContactInfo() {// 根据联系人姓名删除通讯录信息}3. 数据存储设计为了持久化存储数据,我们可以选择使用文件存储或数据库存储。
在本系统中,我们选择文件存储的方式,数据以文本的形式存储在文件中。
三、系统实现通过以上设计,我们可以开始实现学生通讯录管理系统。
在实现过程中,我们需要注意保证数据结构的正确性和数据操作的合法性,从而确保系统的稳定性和可靠性。
四、总结通过本次数据结构课程设计,我们深入了解了学生通讯录管理系统的实现原理和功能设计。
在接下来的学习中,我们将继续努力提升自己的编程能力,不断完善系统的功能和性能,为实现更多复杂系统打下坚实的基础。
通讯录管理系统数据库课程设计
通讯录管理系统数据库课程设计一、课程设计背景随着互联网和智能手机的普及,通讯录成为人们日常生活中不可或缺的一部分。
而对于企业和组织来说,通讯录更是必不可少的管理工具。
为了提高学生对数据库课程的实际应用能力,本课程设计旨在设计一个通讯录管理系统数据库,作为学生课程设计的项目,帮助学生深入理解数据库的概念和操作。
二、课程设计目标本课程设计的目标是让学生通过实际设计一个通讯录管理系统数据库,掌握数据库设计的基本原理和方法,包括数据库的规范化、关系模式的设计、SQL语言的应用等方面的知识。
通过完成课程设计,学生将能够提高解决问题的能力,锻炼团队合作和交流能力。
三、课程设计内容1. 系统需求分析1.1 确定系统的功能和性能需求1.2 确定系统的使用环境和用户特点2. 数据库设计2.1 确定数据库的实体和关系2.2 设计数据库的表结构和约束条件2.3 进行数据库规范化设计3. 系统实现3.1 使用MySQL或Oracle等数据库管理系统搭建数据库3.2 使用Java、C#等编程语言编写系统的界面和逻辑代码3.3 实现系统的基本功能,包括添加通信人、编辑通信人信息、查找通信人、删除通信人等功能4. 系统测试4.1 对系统进行功能测试和性能测试4.2 修复系统中出现的bug和问题5. 系统部署5.1 部署系统到本地服务器或云服务器5.2 进行系统的上线和维护四、课程设计流程1. 分组确定课程设计题目学生按照班级和兴趣分组,确定课程设计的具体题目和要求。
2. 系统需求分析学生对系统的功能和性能需求进行分析,编写系统需求规格说明书。
3. 数据库设计学生根据系统需求规格,设计系统的数据库结构和约束条件,完成数据库设计文档。
4. 系统实现学生根据数据库设计文档,使用相应的数据库管理系统搭建数据库,编写系统的界面和逻辑代码。
5. 系统测试学生对系统进行功能测试和性能测试,并记录测试结果,修复系统中出现的bug和问题。
6. 系统部署学生将完成的系统部署到本地服务器或云服务器,并进行上线和维护。
java课程设计通讯录
java 课程设计通讯录一、教学目标本章节的教学目标是使学生掌握Java编程语言的基本语法和面向对象编程思想,通过实现一个简单的通讯录应用程序,培养学生解决实际问题的能力。
具体目标如下:1.掌握Java基本数据类型、运算符、控制结构。
2.理解面向对象编程的基本概念,如类、对象、封装、继承、多态。
3.熟悉Java常用类库,如String、ArrayList、HashMap等。
4.能够使用Java编写简单的程序,实现基本的数据处理和算法。
5.能够运用面向对象编程思想设计和实现应用程序。
6.掌握基本的调试和排错技巧。
情感态度价值观目标:1.培养学生对编程的兴趣和热情,提高学生解决问题的自信心。
2.培养学生团队协作、自主学习的习惯。
3.培养学生对编程事业的尊重和敬业精神。
二、教学内容本章节的教学内容主要包括以下几个部分:1.Java基本语法:数据类型、运算符、控制结构。
2.面向对象编程:类、对象、封装、继承、多态。
3.Java常用类库:String、ArrayList、HashMap等。
4.通讯录应用程序设计:需求分析、系统设计、编码实现、测试与调试。
三、教学方法为了达到本章节的教学目标,将采用以下几种教学方法:1.讲授法:讲解Java基本语法、面向对象编程思想和通讯录应用程序设计。
2.案例分析法:分析实际案例,让学生更好地理解面向对象编程思想和应用程序设计。
3.实验法:让学生动手编写和调试程序,提高学生的实际操作能力。
4.讨论法:学生进行小组讨论,培养学生的团队协作和沟通能力。
四、教学资源为了支持本章节的教學,将准备以下教学资源:1.教材:《Java编程思想》、《Java核心技术》。
2.参考书:提供相关领域的经典教材和在线资源。
3.多媒体资料:制作PPT、视频教程等,帮助学生更好地理解教学内容。
4.实验设备:为学生提供必要的编程环境和实验设备。
五、教学评估本章节的教学评估将采用多元化的评价方式,以全面、客观、公正地评估学生的学习成果。
基于JAVA的学生通讯录管理系统设计和实现[文献综述]
毕业论文文献综述信息与计算科学基于JAVA的学生通讯录管理系统设计和实现一、前言部分Java是由Sun公司于1995年5月推出的Java程序设计语言和Java平台的总称。
它具有简洁、安全、面向对象、动态、体系结构中立、可移植、分布式、平台无关性等多个优点,被广泛地运用到计算机、便携式计算机、电视、电话、手机和其他大量设备上。
Java 的前景被广泛地看好,并有许多相关机构和人员在解决其运行速度等瑕疵[1]。
二、主题部分一、Java简介Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet[2]。
(一)平台架构Java平台由Java虚拟机(Java Virtual Machine)和Java应用编程接口(Application Programming Interface、简称API)构成。
Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。
在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。
现在Java平台已经嵌入了几乎所有的操作系统。
这样Java程序可以只编译一次,就可以在各种系统中运行。
Java分为JavaSE,JavaEE,JavaME三个体系[3]。
Java SE允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序,它包含了支持Java Web服务开发的类,并为Java Platform,Enterprise Edition (Java EE)提供基础。
Java EE帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序,它是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(SOA)和Web 2。
java课程教学设计(通讯录管理方案系统)
合肥学院计算机科学与技术系课程设计报告2013~2014 学年第二学期课程面向对象课程设计课程设计名称通讯录程序学生姓名XXX学号专业班级XXXXX指导教师 XXX20 年月目录一、设计题目 (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 com.ibm.etp.addressbook.action;import java.util.HashMap;import java.util.List;import er;import com.ibm.etp.addressbook.service.LoginService;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private static final long serialVersionUID = 1L;public String username;public String password;private String message;@Overridepublic String execute() throws Exception {HashMap<Object, Object> result = new HashMap<Object, Object>();List<User> list = null;System.out.println(username);if(username == null || username.trim().length() == 0){ result.put("success", false); result.put("msg","ername.empty");} else if(password == null || password.trim().length() == 0){ result.put("success", false);result.put("msg", "login.password.empty");} else {LoginService ls = new LoginService();list = ls.checkLogin(username);}if(list == null) {result.put("success", false); result.put("msg","er.not.exist");} else if(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";}}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public void setUsername(String username) {ername = username;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public String getPassword() {return password;}}// 增加记录package com.ibm.etp.addressbook.action;import java.util.HashMap;import java.util.List;import er;import com.ibm.etp.addressbook.service.LoginService;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport { private static final long serialVersionUID = 1L; public String username;public String password;private String message;public String execute() throws Exception {HashMap<Object, Object> result = new HashMap<Object, Object>();List<User> list = null;System.out.println(username);if(username == null || username.trim().length() == 0){ result.put("success", false);result.put("msg", "ername.empty");} else if(password == null || password.trim().length() == 0){ result.put("success", false);result.put("msg", "login.password.empty");} else {LoginService ls = new LoginService(); list = ls.checkLogin(username);}if(list == null) { result.put("success", false); result.put("msg", "er.not.exist");} else if(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";}}public String getMessage() {return message;}public void setMessage(Stringmessage) { this.message = message;public void setUsername(String username) { ername = username;}public void setPassword(String password) { this.password = password;}public String getUsername() { return username;}public String getPassword() { return password;}}// 删除记录package com.ibm.etp.addressbook.action;import java.util.ArrayList;import com.ibm.etp.addressbook.pojo.Record; importcom.ibm.etp.addressbook.service.DeleService;import com.opensymphony.xwork2.ActionSupport; public class DeleAction extends ActionSupport {private int id[];public String message; private boolean success=true;public boolean isSuccess() { return success;}private ArrayList<Record> list= new ArrayList<Record>(); publicArrayList<Record> getList() {return list;}public int getId(int i){ return id[i];}public int[] getId() { return id;}public void setId(int[] id) { this.id = id;public String getMessage() {return message;}public void setMessage(Stringmessage) { this.message = message;}public String execute() throws Exception { DeleService ds=new DeleService(); list=ds.removeRecord(this);try {success=true;return SUCCESS;}catch (Exception e) { success=false; return ERROR;}}}// 修改记录package com.ibm.etp.addressbook.action;import com.ibm.etp.addressbook.service.UpdateService;import com.opensymphony.xwork2.ActionSupport;public class UpdateAction extends ActionSupport { private int id;private String name;private String phone;private String email;private String birthday;private String sex;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;} public String getPhone() { return phone;}public void setPhone(Stringphone) { this.phone = phone;}public StringgetEmail() { returnemail;}public void setEmail(Stringemail) { this.email = email;} public String getBirthday() { return birthday;}public void setBirthday(Stringbirthday) { this.birthday =birthday;} public String getSex() { return sex;}public void setSex(Stringsex) { this.sex = sex;}public String execute() throwsException { UpdateService us=newUpdateService();if(us.setRecord(this)!=null) returnSUCCESS;else{ return ERROR;}}}// 查找记录行package com.ibm.etp.addressbook.action; import java.sql.SQLException;import java.util.List;import com.ibm.etp.addressbook.pojo.Record;import com.ibm.etp.addressbook.service.FindService; importcom.opensymphony.xwork2.ActionSupport; public class FindAction extends ActionSupport { private String field;private String input;private int size;private String sort;private List<Record> list ;private boolean success=true;public boolean isSuccess() { return success;}public List<Record> getList() {return list;}public void setList(List<Record> list) {this.list = list;}public String getField() {return field;}public void setField(Stringfield) { this.field = field;}public String getInput() {return input;}public void setInput(Stringinput) { this.input = input;}public int getSize() {return size;}public void setSize(intsize) { this.size = size;}public String getSort() {return sort;public void setSort(String sort) {this.sort = sort;}public String execute() throws Exception {FindAction fb = new FindAction(); fb.setField(field);fb.setInput(input);}fb.setSize(size);fb.setSort(sort);FindService fs = new FindService(); try { list = fs.find(fb);success=true; return SUCCESS;} catch (SQLException e) { e.printStackTrace(); success=false; return ERROR;4.2系统模块设计图1-1 登陆功能展示图LoginAction 类,封装的信息由密码和账户名,以及登录失败时抛出的异常方法。
通讯录查询系统课程设计
《数据结构》课程设计报告信息工程学院计算机科学与技术专业单位员工通讯录管理系统(线性表应用)计算机093班第2组组员:姓名:林鸿学号:0906210319姓名:张明学号:0909310238姓名:周龙学号:0906210335指导教师:郭晓利日期:2011年1月2日程序设计书目录一、程序设计目标二、问题描述三、需求分析(说明课程设计的任务)四、概要设计(说明课程设计中用到的抽象数据类型的定义、主程序的流程以及各程序模块之间的调用关系等)五、详细设计(实现程序模块的具体算法)六、软件说明书(给出软件应如何使用,使用时的具体事项)七、源程序清单(要求400行以上,要有注释说明)八、测试报告(调试过程中遇到的问题以及解决方法,并列出测试结果,包括输入和输出)九、课程设计总结一:程序设计目标通过对通讯录管理链表的课程设计,加深对程序设计的理解,熟练掌握和加深c语言的基本知识和语法规范,同时更进一步地理解数据结构对单链表知识的应用,培养我们调查研究、查阅技术文献、资料、手册以及编写程序的能力,同时也考验我们善于思考,互相帮助的团队精神。
本程序是学会建立通讯录,使人员之间联系更加方便快捷,增加办事效率。
二:问题描述为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话、手机号及电子邮箱。
其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除、以及整个通讯录的输出。
三:需求分析想要建立一个单位员工通讯录的管理系统,方便查询其每个员工的一些信息。
首先,应运用c语言中结构体的知识。
把员工的各项信息储存到结构体的链表中,定义一个新的结构体类型struct(struct是声明结构体时所必须使用的关键字)它向编译系统声明这是一个“结构体类型”,它包括num, name ,phone等不同类型的数据项。
其次:运用数据结构中线性表的知识。
线性表的存储结构分为线性表的线性存储结构和线性表的链式存储结构,线性表的顺序存储结构是指用一组地址连续的存储单元一次存储线性表的数据元素。
java通讯录课程设计报告
课程设计报告:Java通讯录一、引言本次课程设计是关于Java通讯录的开发,旨在让我们更深入地理解Java编程语言在现实生活中的应用。
通讯录是一种常见的应用程序,它可以帮助我们管理联系人信息,方便我们与朋友和家人保持联系。
二、需求分析本次课程设计的目标是根据用户需求,设计并实现一个功能齐全的Java通讯录应用程序。
具体需求如下:用户可以添加联系人信息,包括姓名、电话号码、电子邮件地址等。
用户可以删除联系人信息。
用户可以编辑联系人信息。
用户可以按姓名、电话号码或电子邮件地址搜索联系人信息。
用户可以查看所有联系人信息。
三、设计数据库设计为了存储联系人信息,我们选择使用Java内置的ArrayList类作为数据库。
ArrayList是一个动态数组,可以根据需要自动增长。
我们将使用ArrayList的add()方法添加联系人信息,使用get()方法获取联系人信息,使用remove()方法删除联系人信息。
界面设计我们使用Java Swing库来创建用户界面。
界面包括以下组件:JLabel:显示提示信息和标题。
JTextField:用于输入和编辑联系人信息。
JButton:用于触发添加、删除、编辑和搜索等操作。
JTable:用于显示所有联系人信息。
JComboBox:用于选择搜索条件。
四、实现添加联系人信息当用户点击“添加”按钮时,程序会创建一个新的联系人对象,并将用户输入的信息设置到该对象中。
然后,程序将该对象添加到ArrayList中。
删除联系人信息当用户选择要删除的联系人并点击“删除”按钮时,程序会从ArrayList中删除该联系人对象。
编辑联系人信息当用户选择要编辑的联系人并点击“编辑”按钮时,程序会将该联系人的信息显示在文本框中,以便用户进行修改。
修改完成后,程序会将修改后的信息保存到ArrayList中。
搜索联系人信息当用户选择搜索条件并输入搜索关键字时,程序会在ArrayList 中查找符合条件的联系人对象,并将其显示在表格中。
通讯录管理系统java课程设计源代码
通讯录管理系统简介通讯录是一种记录联系人信息的工具,用于存储和管理与个人、组织或机构相关的联系信息。
通讯录管理系统是一个用于创建、编辑、查找和删除联系人信息的软件应用程序。
本文将介绍一个使用Java编写的通讯录管理系统的设计源代码。
功能需求通讯录管理系统需要具备以下功能: 1. 添加联系人:用户可以输入联系人的姓名、电话号码、电子邮件地址等信息,并将其添加到通讯录中。
2. 编辑联系人:用户可以选择要编辑的联系人,并可以修改其姓名、电话号码、电子邮件地址等信息。
3. 查找联系人:用户可以输入关键字进行搜索,系统将根据关键字在通讯录中查找匹配的联系人并显示出来。
4. 删除联系人:用户可以选择要删除的联系人,并将其从通讯录中删除。
5. 显示所有联系人:系统可以列出所有已存储在通讯录中的联系人信息。
设计思路数据结构为了实现上述功能,我们需要设计合适的数据结构来存储联系人信息。
在这里,我们可以使用一个类来表示每个联系人,其中包含姓名、电话号码和电子邮件地址等属性。
然后,我们可以使用一个集合(如ArrayList)来存储所有的联系人对象。
用户界面为了方便用户操作,我们可以使用命令行界面(CLI)来实现通讯录管理系统。
用户可以通过输入不同的命令来执行相应的操作,如添加联系人、编辑联系人、查找联系人等。
功能实现1.添加联系人:用户输入联系人的姓名、电话号码和电子邮件地址,系统创建一个联系人对象,并将其添加到集合中。
2.编辑联系人:用户选择要编辑的联系人,并输入要修改的信息,系统更新该联系人对象的属性。
3.查找联系人:用户输入关键字,系统遍历所有联系人对象并检查是否包含该关键字,将匹配的结果显示出来。
4.删除联系人:用户选择要删除的联系人,系统从集合中移除该对象。
5.显示所有联系人:系统遍历集合中的所有联系人对象,并将其属性逐个显示出来。
代码实现import java.util.ArrayList;import java.util.Scanner;class Contact {private String name;private String phoneNumber;private String email;public Contact(String name, String phoneNumber, String email) { = name;this.phoneNumber = phoneNumber;this.email = email;}public String getName() {return name;}public void setName(String name) { = name;}public String getPhoneNumber() {return phoneNumber;}public void setPhoneNumber(String phoneNumber) {this.phoneNumber = phoneNumber;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}}public class AddressBook {private ArrayList<Contact> contacts;public AddressBook() {contacts = new ArrayList<>();}public void addContact(Contact contact) {contacts.add(contact);System.out.println("Contact added successfully!");}public void editContact(int index, Contact contact) {if (index >= 0 && index < contacts.size()) {contacts.set(index, contact);System.out.println("Contact edited successfully!");} else {System.out.println("Invalid index!");}}public void searchContacts(String keyword) {boolean found = false;for (Contact contact : contacts) {if (contact.getName().contains(keyword) || contact.getPhoneNumber ().contains(keyword)|| contact.getEmail().contains(keyword)) {System.out.println(contact.getName() + " | " + contact.getPhon eNumber() + " | " + contact.getEmail());found = true;}}if (!found) {System.out.println("No matching contacts found.");}}public void deleteContact(int index) {if (index >= 0 && index < contacts.size()) {contacts.remove(index);System.out.println("Contact deleted successfully!");} else {System.out.println("Invalid index!");}}public void displayAllContacts() {for (Contact contact : contacts) {System.out.println(contact.getName() + " | " + contact.getPhoneNum ber() + " | " + contact.getEmail());}}public static void main(String[] args) {AddressBook addressBook = new AddressBook();Scanner scanner = new Scanner(System.in);while (true) {System.out.println("\nAddress Book Management System");System.out.println("1. Add Contact");System.out.println("2. Edit Contact");System.out.println("3. Search Contacts");System.out.println("4. Delete Contact");System.out.println("5. Display All Contacts");System.out.println("6. Exit");System.out.print("\nEnter your choice: ");int choice = scanner.nextInt();switch (choice) {case 1:scanner.nextLine(); // Consume newline characterSystem.out.print("Enter name: ");String name = scanner.nextLine();System.out.print("Enter phone number: ");String phoneNumber = scanner.nextLine();System.out.print("Enter email address: ");String email = scanner.nextLine();Contact contact = new Contact(name, phoneNumber, email);addressBook.addContact(contact);break;case 2:System.out.print("Enter index of the contact to edit: ");int indexToEdit = scanner.nextInt();if (indexToEdit >= 0 && indexToEdit < addressBook.contacts. size()) {scanner.nextLine(); // Consume newline characterSystem.out.print("Enter name: ");String newName = scanner.nextLine();System.out.print("Enter phone number: ");String newPhoneNumber = scanner.nextLine();System.out.print("Enter email address: ");String newEmail = scanner.nextLine();Contact newContact = new Contact(newName, newPhoneNumb er, newEmail);addressBook.editContact(indexToEdit, newContact);} else {System.out.println("Invalid index!");}break;case 3:scanner.nextLine(); // Consume newline characterSystem.out.print("Enter keyword to search contacts: ");String keyword = scanner.nextLine();addressBook.searchContacts(keyword);break;case 4:System.out.print("Enter index of the contact to delete: "); int indexToDelete = scanner.nextInt();addressBook.deleteContact(indexToDelete);break;case 5:addressBook.displayAllContacts();break;case 6:System.exit(0);break;default:System.out.println("Invalid choice!");}}}}总结通过以上的设计和实现,我们创建了一个简单的通讯录管理系统。
通讯录管理系统课程设计报告Java
通讯录管理系统课程设计报告Java1. 简介通讯录管理系统是一种方便用户存储和管理联系人信息的工具。
本课程设计将使用Java语言开发一个简单的通讯录管理系统,实现对联系人信息的增删改查功能。
通过本项目的实践,学习者将掌握Java编程语言的基础知识和面向对象编程的技巧。
2. 功能需求通讯录管理系统应包含以下功能: - 添加联系人信息:用户可以输入联系人的姓名、电话号码、邮箱等信息添加到通讯录中。
- 显示所有联系人信息:系统能够展示所有已保存在通讯录中的联系人信息。
- 查找联系人信息:用户可以通过姓名或电话号码查找特定联系人的信息。
- 修改联系人信息:用户可以对已保存的联系人信息进行修改。
- 删除联系人信息:用户可以删除通讯录中的联系人信息。
实现以上功能需要设计相应的数据结构和算法,以及编写用户交互界面。
3. 技术实现3.1 数据结构在Java中,可以使用ArrayList或HashMap等数据结构来存储联系人信息。
ArrayList适用于有序的联系人列表,而HashMap适用于根据键值快速查找联系人信息。
3.2 用户交互界面用户交互界面可以通过Java的Swing或JavaFX等GUI工具包来实现。
设计一个简洁明了的界面,包含菜单栏、输入框、按钮等组件,以方便用户操作。
3.3 功能实现•添加联系人信息:用户输入信息后,将联系人信息添加到数据结构中。
•显示所有联系人信息:遍历数据结构,将所有联系人信息展示在界面上。
•查找联系人信息:根据用户输入的查询条件,在数据结构中查找对应的联系人信息。
•修改联系人信息:根据用户输入的修改信息,更新数据结构中相应的联系人信息。
•删除联系人信息:根据用户输入的删除条件,从数据结构中移除对应的联系人信息。
4. 总结通讯录管理系统是一个简单实用的应用程序,能够帮助用户有效管理联系人信息。
通过本课程设计,学习者将学习如何使用Java语言开发基本的应用程序,掌握面向对象编程的基本原理和技巧。
JAVA实验通讯录 实验报告
这次实验收获非常大对第六章的加深了理解更动手实践了有关事件监听器的操作这让本来在上课时听得懵懂的内容如事件监听器的响应等理解的更深刻了书上介绍的三种布局管理器也得到了实际的应用上课时没注意到的组件也应用到了实验中
集中上机实习报告
实验题目 用java实现简单功能的学生通讯录
实验题目
用java实现简单功能的学生通讯录;
这次实验收获非常大,对第六章的加深了理解,更动手实践了 有关事件监听器的操作,这让本来在上课时听得懵懂的内容如事件 监听器的响应等理解的更深刻了,书上介绍的三种布局管理器也得 到了实际的应用,上课时没注意到的组件也应用到了实验中。总体 来说,受益匪浅。
构造了
JFrame mainFrm 为主窗口,
JTextField name 为姓名输入框,
JTextField tel 为电话输入框,
JTextField add 为地址输入框,
JList dataList 为列表组建,
String[] ming 为姓名数组,
String[] phone 为电话数组,
String[] addr 为地址数组。
在实现过程中,定义 PhoneBook 类继承了 MouseAdapter 类与 ActionListener 接口,就可以用 Book 类来实现按钮命令监听器和鼠标事件监听 器。如果出现错误操作,会在控制台出现异常,且操作无效。
学生通讯录管理系统课程设计报告
学生通讯录管理系统课程设计报告一、课程设计背景学生通讯录管理系统是一个旨在帮助学生和教师更好地管理个人信息和通讯录的软件系统。
随着信息技术的不断发展,现代教育领域对教学、管理和学习等方面的要求越来越高,传统的纸质通讯录管理方式已经无法满足教育机构的需求。
因此,开发一个便捷、高效的学生通讯录管理系统成为当今教育信息化的重要课题。
二、需求分析学生通讯录管理系统主要包括以下功能模块:1.学生信息管理:用于录入、修改和删除学生个人信息,包括姓名、学号、性别、联系方式等;2.通讯录管理:实现通讯录的分类、查找、添加和删除功能,方便学生和教师进行联系;3.用户权限管理:设置不同权限等级的用户,如学生、教师和管理员,确保信息安全性;4.数据备份与恢复:对系统中的重要数据进行定期备份,保障数据的安全性;5.界面友好性:系统界面简洁明了,操作便捷,用户体验良好。
三、系统设计1. 系统架构学生通讯录管理系统采用客户端-服务器架构,客户端提供给学生和教师使用,服务器端用于存储核心数据和处理业务逻辑。
2. 数据库设计系统采用关系型数据库,主要包括以下表:•学生表(Student):包含学生的基本信息;•教师表(Teacher):包含教师的基本信息;•通讯录表(Contact):记录学生或教师之间的联系方式;•用户表(User):存储系统用户的账号信息和权限。
3. 功能实现(1)学生信息管理学生信息管理模块提供学生信息的增删改查功能,管理员可以对学生信息进行修改和删除,学生可以查看、修改自己的个人信息。
(2)通讯录管理通讯录管理模块支持对通讯录的分类和搜索功能,学生和教师可以添加、删除通讯录条目,并对通讯录进行管理。
(3)用户权限管理系统设定不同权限等级的用户,管理员有最高权限,可以管理用户账号和角色,确保系统的安全性。
四、系统实现系统采用Java语言进行开发,前端界面使用JavaFX技术,后端采用Spring框架实现业务逻辑,数据库连接采用JDBC等技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
攀枝花学院课程设计题目:通讯录院(系):数学与计算机学院年级专业: 12网络工程*名:**学号: ************ 指导教师:***二〇一三年十二月三十日攀枝花学院教务处制攀枝花学院本科学生课程设计任务书注:任务书由指导教师填写。
摘要通讯工具在平常百姓家中已经是非常常见。
用Java语言开发这个强大通讯录以实现我们对大量的人员的通信信息予以记录。
以便我们使用方便。
我们可以往这个通信录系统中添加数据,也可以对记录进行修改,删除。
这样大大提高了我们的通信管理效率。
随着人们生活水平的提高,通讯工具在平常百姓家中已经是非常常见。
要记住所有的联系方式似乎有些困难,所以我们希望设计一个通讯录系统,记录所有的联系方式,并且能方便的查找,增加和删除,方便大家记录联系人。
当前计算机软件技术和网络技术正飞速发展,软件系统日趋大型化、复杂化,软件对于一个计算机系统是至关重要的。
因此社会对软件开发者提出了比以往更高的要求,相应的系统要求也有了很大的提高。
本系统用C++作为程序语言,设计出的系统功能强大,操作方便灵活。
关键词:通讯录;java; 数据;查询;-Ⅰ-目录摘要 (Ⅰ)1需求分析 (6)1.1需求来源 (6)1.2设计目的 (6)1.3设计要求 (6)2 功能需求描述 (6)3 总体设计 (6)3.1 功能介绍 (7)3.2 系统模块结构 (7)3.3 系统总设计流程图 (7)4 概要设计 (8)4.1登录功能界面 (8)4.2添加功能界面 (9)4.3删除功能界面 (9)4.4查询功能界面 (10)4.5统计功能界面 (10)5程序与分析 (11)5.1登陆系统 (11)5.2增加纪录 (13)5.3 删除记录 (14)5.4修改记录 (15)5.5查找记录 (17)致谢 (18)参考文献 (19)1 需求分析1.1需求来源随着人们生活水平的提高,通讯工具在平常百姓家中已经是非常常见。
要记住所有的联系方式似乎有些困难,所以我们希望设计一个通讯录系统,记录所有的联系方式,并且能方便的查找,增加和删除,方便大家记录联系人。
1.2设计目的本课程设计是java语言学习中很重要的实践性环节之一,是在学习完java 课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力。
通过课程设计,提高我们理论联系实际解决实际问题的能力;也使提高对基于面向对象的理论,在进行系统设计过程中的诸多具体问题有感性的认识和深入的理解。
1.3设计要求(1)能够建立、修改和删除联系人。
(2)能够按多种方式进行查询。
(3)可以使用数据库,或者使用文件进行数据持久化。
(4)界面友好,易于操作。
2 功能需求描述随着人们生活水平的提高,通讯工具在平常百姓家中已经是非常常见。
有些家庭人员众多,有的家庭成员甚至有好几个联系方式,在这种情况下,要记住所有的联系方式似乎有些困难,所以我们希望设计一个家庭通讯录,记录所有家庭成员的联系方式,并且能方便的查找,增加和删除。
3 总体设计3.1 功能介绍(1)具有新用户注册功能。
(2)具有注册用户登录功能。
(3)具有数据的录入功能。
(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。
(5)具有按条件删除数据功能。
(6)具有统计功能3.2系统模块结构图3-2-13.3系统总设计流程图图3-3-13.4数据库表的设计(1)普通用户数据表的设计,如表1列名数据类型长度是否为空username(keyvarchar 20 否)password char 10 是(2)记录信息数据表,如表2列名数据类型长度是否为空name(key) varchar 20 否sex char 20 是birthday datatime 8 是Email char 20 是tel char 8 否4 模块设计4.1登录功能界面图4-1-1图4-1-1LoginAction类,封装的信息由密码和账户名,以及登录失败时抛出的异常方法。
String execute()函数继承了Exception类,如果登录密码不匹配,则会抛出异常,提示Error登录失败。
在登录模块中有管理员用户和普通用户,管理员可以对系统中的信息添加,修改,删除等功能,普通用户只进行查找操作。
4.2 添加功能界面图4-2-1LoginAction类继承ActionSuporrt类,封装有name,sex,birthday,email,tel属性,封装有成员函数set_name(),set_sex(),set_birthday(),set_email(),set_tel()用来添加各个属性值,提示操作失败信息用String execute()函数抛出异常。
4.3删除功能界面图4-3-1DeleAction类继承ActionSuporrt类,get_name()方法用于得到所要删除的信息的主码。
封装的数据成员包括name,封装有isSuccess()函数,用于判断删除成功与否。
删除模块中,用户可以根据某一关键字或多个关键字进行删除,删除信息后会自动提示。
4.4查询功能界面图4-4-1FindAction类继承ActionSuporrt类的属性及方法,setInput()方法将输入的信息传递给FindAction类内的相应属性,getInput()方法用于返回输入值,封装的成员函数包括getlist()用于返回查询到的元组列表。
图5显示可以通过姓名,性别,出生日期,email地址对联系人进行查询。
4.5统计功能界面图4-5-1点击文件“编辑—查找全部”,则会弹出一个空白的查找结果界面,这是因为在程序设计中默认的是不显示所得的信息然后点击“显示查询结果”,即可显示出全部查询结果。
如图:图4-5-25程序与分析5.1登陆系统package com.ibm.etp.addressbook.action;import java.util.HashMap;import java.util.List;import er;import com.ibm.etp.addressbook.service.LoginService;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private static final long serialVersionUID = 1L;public String username;public String password;private String message;@Overridepublic String execute() throws Exception {HashMap<Object, Object> result = new HashMap<Object, Object>();List<User> list = null;System.out.println(username);if(username == null || username.trim().length() == 0) { result.put("success", false);result.put("msg", "ername.empty");} else if(password == null || password.trim().length() == 0) { result.put("success", false);result.put("msg", "login.password.empty");} else {LoginService ls = new LoginService();list = ls.checkLogin(username);}if(list == null) {result.put("success", false);result.put("msg", "er.not.exist");} else if(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";}}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public void setUsername(String username) {ername = username;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public String getPassword() {return password;}}5.2增加纪录package com.ibm.etp.addressbook.action;import java.util.HashMap;import java.util.List;import er;import com.ibm.etp.addressbook.service.LoginService;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private static final long serialVersionUID = 1L;public String username;public String password;private String message;public String execute() throws Exception {HashMap<Object, Object> result = new HashMap<Object, Object>();List<User> list = null;System.out.println(username);if(username == null || username.trim().length() == 0) {result.put("success", false);result.put("msg", "ername.empty");} else if(password == null || password.trim().length() == 0) { result.put("success", false);result.put("msg", "login.password.empty");} else {LoginService ls = new LoginService();list = ls.checkLogin(username);}if(list == null) {result.put("success", false);result.put("msg", "er.not.exist");} else if(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";}}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public void setUsername(String username) {ername = username;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public String getPassword() {return password;}}5.3删除记录package com.ibm.etp.addressbook.action;import java.util.ArrayList;import com.ibm.etp.addressbook.pojo.Record;import com.ibm.etp.addressbook.service.DeleService; import com.opensymphony.xwork2.ActionSupport;public class DeleAction extends ActionSupport { private int id[];public String message;private boolean success=true;public boolean isSuccess() {return success;}private ArrayList<Record> list= new ArrayList<Record>();public ArrayList<Record> getList() {return list;}public int getId(int i){return id[i];}public int[] getId() {return id;}public void setId(int[] id) {this.id = id;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public String execute() throws Exception {DeleService ds=new DeleService();list=ds.removeRecord(this);try {success=true;return SUCCESS;}catch (Exception e) {success=false;return ERROR;}}}5.4修改记录package com.ibm.etp.addressbook.action;import com.ibm.etp.addressbook.service.UpdateService;import com.opensymphony.xwork2.ActionSupport;public class UpdateAction extends ActionSupport { private int id;private String name;private String phone;private String email;private String birthday;private String sex;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public String getPhone() {return phone;}public void setPhone(String phone) { this.phone = phone;}public String getEmail() {return email;}public void setEmail(String email) { this.email = email;}public String getBirthday() {return birthday;}public void setBirthday(String birthday) { this.birthday = birthday;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String execute() throws Exception { UpdateService us=new UpdateService();if(us.setRecord(this)!=null)return SUCCESS;else{return ERROR;}}}5.5查找记录package com.ibm.etp.addressbook.action;import java.sql.SQLException;import java.util.List;import com.ibm.etp.addressbook.pojo.Record;import com.ibm.etp.addressbook.service.FindService; import com.opensymphony.xwork2.ActionSupport; public class FindAction extends ActionSupport { private String field;private String input;private int size;private String sort;private List<Record> list ;private boolean success=true;public boolean isSuccess() {return success;}public List<Record> getList() {return list;}public void setList(List<Record> list) {this.list = list;}public String getField() {return field;}public void setField(String field) {this.field = field;}public String getInput() {return input;}public void setInput(String input) {this.input = input;}public int getSize() {return size;}public void setSize(int size) {this.size = size;}public String getSort() {return sort;}public void setSort(String sort) {this.sort = sort;}public String execute() throws Exception { FindAction fb = new FindAction();fb.setField(field);fb.setInput(input);fb.setSize(size);fb.setSort(sort);FindService fs = new FindService();try {list = fs.find(fb);success=true;return SUCCESS;} catch (SQLException e) {e.printStackTrace();success=false;return ERROR;致谢通过这次课程设计,我们不仅深入学习了整个课题,并且有很多收获和体会。