jsp实现通讯录系统
基于JSP网络通讯录设计文档

JSP网络通讯录设计课题名称基于JSP技术的网络通讯录院系专业班级学号学生姓名指导教师:2011 年 6 月 18日摘要随着科技日新月异,各种通讯方式也越来越多,我们要记住所有人的通讯方式是不可能的。
而纸质或电子通讯录有记录不方便、易丢失、携带不方便等缺点。
网络通讯录则刚好弥补了这些缺点。
JSP是基于Java Servlet以及整个Java体系的Web开发技术,利用这一技术可以建立安全、跨平台的先进动态网站。
它一Java技术为基础,又在许多方面做了改进,具有动态页面与静态页面分离、能够脱离硬件平台的束缚以及编译后运行等优点。
通过一个学期对JSP的学习,我对它有了一定的了解,所以使用JSP作为这次Web程序设计的前台实现语言本课程设计通过使用JSP实现了一个简单的网络通讯录。
采用MVC模式实现各个模块。
用户在通过登陆验证之后,可对通讯录添加联系人,或对已有联系人进行查找、删除操作。
目录目录 (2)1.Java Web 应用背景介绍 (3)1.1 什么是Web编程 (3)1.2 JSP简介 (3)1.3 JSP的优点 (3)1.3.1 跨平台运行 (3)1.3.2 执行效率高 (3)1.3.3 服务器端组件支持 (4)1.3.4 数据库支持 (4)2. 网络通讯录的实现 (4)2.1 需求分析 (4)2.2在线通讯录的实体类设计 (4)2.3在线通讯录的功能 (5)2.4在线通讯录MVC模式设计 (5)2.5 各阶段具体实现过程 (6)2.5.1 用户登录的实现 (6)2.5.2 通讯录名片的插入操作 (6)2.5.3通讯录名片的查看操作 (7)2.5.4通讯录名片的删除操作 (8)2.5.5通讯录名片的分类查询操作 (8)3. 个人总结 (9)1.Java Web 应用背景介绍WWW是目前Internet上的主要服务类型之一,WWW的基础是基于HTML的页面,使用在HTML基础上的脚本语言进行应用程序开发,可以创建动态生成内容的Web页面。
基于JSP的通讯录管理系统

《网络编程(JSP)》课程大作业报告项目名称:基于JSP技术设计与实现的通讯录管理系统专业名称:班级名称:小组成员:完成时间:2019年6月2018-2019学年2学期目录1.概述 (3)1.1项目背景 (3)1.2研究的主要内容 (3)1.3项目分工(说明各小组成员在项目中承担的工作) (3)2.相关技术 (3)3.系统分析 (4)4.系统设计 (4)4.1功能模块的流程说明 (4)4.2数据库设计 (5)5.系统实现 (6)5.1系统注册页面设计 (7)5.2系统登录页面设计 (7)5.3主页面设计 (7)5.4添加联系人页面设计 (7)5.5联系人管理界面设计 (7)5.6修改联系人界面设计 (7)5.7退出系统 (7)6.总结 (8)1.概述1.1 项目背景JSP是微软公司的重要产品之一, 是一种功能强大行之有效的可视化编程工,使用户可以方便的开发自己想实现的功能,JSP的功能特点。
JSP技术使用JA V A编程语言编写类XML 的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
本通讯录信息管理系统用计算机正是基于jsp技术的一种应用程序,它方便了用户对朋友们信息的储存和快速查阅的功能,大大减少了查找过程时间,在轻松快捷中沟通你我。
1.2 研究的主要内容(1)登录与注册系统的登录和注册功能。
(2)基本信息管理模块系统中对基本信息的管理包括:个人的姓名、性别、电话号码等。
(3)系统操作添加、修改、删除、查询、修改密码、退出系统。
1.3 项目分工:1.联系人信息修改模块;2.联系人信息删除模块;3.课程大作业报告:1.联系人信息添加模块;2.页面设计:1.密码修改模块;2.课程大作业报告:1.注册模块;2.登录模块2.相关技术①JSP以及Servlet的基本知识;②原生JDBC实现数据库的增删改查;③HTML基本知识以及H5最新属性的使用;④Foundation框架的使用;⑤TOMCAT 目录结构;⑥通过对数据库的基本操作实现用户注册、登录模块、显示模块、查询模块、添加模块和删除模块;⑦ 利用JavaBean技术实现数据封装。
基于互联网的手机通讯录的研究与实现

基于互联网的手机通讯录的研究与实现林俊存;张华;谭伟【摘要】本系统采用Eclipse+Android+sdk+Cordova集成开发环境,运用Java 语言编程,使得用户只需通过手机浏览器就能实现任何时间,任何地方,任何手机拨打您所急需的联系人,一般使用时不需要下载任何手机app,主要解决了手机丢失,手机不在,手机关机等各种情况下需要对联系人进行及时的拨打,新建或者分享他人等需求.及解决了我们对手机客户端的依赖及手机系统的跨平台性,是一个面向所有用户的WebApp网页软件,使我们对联系人的获取及其他功能的操作变得更简单,更实用,更及时.【期刊名称】《电子世界》【年(卷),期】2016(000)023【总页数】2页(P9-10)【关键词】SSH整合;Cordova;JAVA语言;手机通讯录;移动互联网【作者】林俊存;张华;谭伟【作者单位】湖北民族学院信息工程学院;湖北民族学院信息工程学院;湖北民族学院信息工程学院【正文语种】中文如今在互联网技术的带动下,大数据及云端技术得到了快速发展,而手机面向这种技术将成为手机科技发展的必定趋势,手机是人们在生活中必不可少的工具,其设计的最初目的与最为重要的功能是为了方便联系。
我们不得不承认百度云盘的出现是一件多么美妙的事,但我们并不想下载手机客户端来存放我们的联系人,在某种情况下它是没有多大意义的。
近几年来,随着移动通信智能终端的普及和通信终端功能的不断增强,用户已经可以随时随地使用移动终端登录和访问互联网上的各种社区网站;另外,移动通信终端都存储有通讯录,现在大部分基于手机通讯录的应用也主要是针对因用户手机丢失而引起用户信息损失的通讯录备份功能,完全忽视了通讯录所代表和隐藏的潜在的社会网络关系。
手机通讯录可以说是我们手机中最重要的应用功能之一,特别是我们在更换手机的时候,首先要做的就是把旧手机上面的联系人更新到新手机上面去,以前碰到这个问题我们可能用得最多的是通过复制到SIM卡,再从SIM卡复制到新手机的方式,但是这个方法往往会受到数量以及新旧手机联系人不兼容的问题,并且最重要的是这个方法很慢。
基于jsp的通讯录管理系统

摘要电子商务(Electronic Commerce)是最近网络上的新技术。
利用微端口实现全部商务(买卖)过程中的电子化、微端化和网络化。
跟随着这项技术的法杖,给我们在生活中带来了巨大的方便,并慢慢改变我们的旧习惯,形成新的生活方式.在中国在线购物平台大多数都是用的ASP,PHP两种技术所完成的,而基于JSP的购物网站相对来说则并不多。
该论文仔细地描述了本系统需求分析、总体设计、详细设计还有各个模块的设计理念以及实现过程,主要实现了以下模块功能:VIP注册模块、登录/注销模块;用户管理管理模块;浏览书籍总体信息模块;书籍检索模块;书籍管理模块;购物车模块;订单模块;订单管理模块等等。
关键词书籍;线上销售;订单处理(删除,添加,修改);目录摘要 (I)Abstract ...................................... 错误!未定义书签。
第1章绪论 (1)1.1课题背景 (1)1.2目的和意义 (1)1.3系统设计思想 (2)1.4本文的结构.......................... 错误!未定义书签。
第2章可行性分析 (3)2.1 经济可行性 (3)2.2 技术可行性 (3)2.3 运行可行性 (3)2.5 本章小结 ............................... 错误!未定义书签。
第3章需求分析 .. (4)3.1网上书店需求分析 (4)3.2本章小结 (4)第4章总体设计 (5)4.1系统模块总体设计 (5)4.2数据库设计 (6)4.2.1数据分析 (6)4.2.2数据库的详细设计 (8)4.3本章小结 (11)第5章详细设计与实现 (12)5.1系统运行平台设置 (12)5.2运行环境 (12)5.3开发工具及技术简介 (12)5.3.1开发工具简介..................... 错误!未定义书签。
5.3.2技术简介......................... 错误!未定义书签。
java课程设计(通讯录管理系统)

掌握Java语言基础
理解面向对象编程思 想
掌握数据库操作技术
提高团队协作和沟通 能力
完成一个实用的通讯 录管理系统
联系人管理:添加、删除、修改、查询联系人信息 联系人分组:创建、删除、修改、查询联系人分组 联系人搜索:根据姓名、电话、邮箱等信息进行搜索 联系人导出:将联系人信息导出为Excel、CSV等格式的文件 联系人导入:从Excel、CSV等格式的文件中导入联系人信息 系统设置:修改系统语言、主题、字体等设置
数据库类型:MySQL
数据库表结构:用户表、 联系人表、分组表等
主键和外键:用户ID、联 系人ID、分组ID等
数据库操作:增删改查等 基本操作
数据库优化:索引、缓存、 分表等优化措施
数据库安全:用户权限管 理、数据加密等安全措施
界面布局:简洁 明了,易于操作
色彩搭配:协调 统一,易于阅读
功能模块:联系 人管理、分组管 理、搜索功能等
汇报人:
添加标题
添加标题
查询方式:支持模糊查询和精确查 询
查询优化:使用索引提高查询效率
功能描述:删除指定联系人信 息
实现方法:调用数据库删除接 口
操作步骤:选择联系人,点击 删除按钮,确认删除
注意事项:确保删除操作不会 影响其他数据完整性
添加联系人:输入姓名、电话、邮箱等信 息
修改联系人:修改姓名、电话、邮箱等信 息
删除联系人:删除指定联系人
查询联系人:根据姓名、电话、邮箱等信 息进行查询
导出联系人:将联系人信息导出为Excel 或CSV文件
导入联系人:将Excel或CSV文件中的联系 人信息导入到系统中
修改模块界面:提供用户友 好的界面,方便用户操作
Java实现简单通讯录管理系统

Java实现简单通讯录管理系统本⽂实例为⼤家分享了Java实现通讯录管理系统的具体代码,供⼤家参考,具体内容如下题⽬:1、完成⼀个通讯录,需求:(1)添加联系⼈(联系⼈:编号,姓名,⼿机号,QQ,邮箱地址)添加时需要检查⼿机号和邮箱地址格式是否正确,若不正确,不允许添加(2)联系⼈查询(输⼊姓名或电话查询)(3)显⽰联系⼈列表(4)根据编号删除指定编号的联系⼈代码分析:之前写过类似的管理系统,不过是使⽤数组进⾏数据存储,这次的通讯录管理系统通过动态数组ArrayList进⾏数据存储。
其中代码实现的原理和之前所写相似。
在此不再赘述。
判断⼿机号邮箱地址格式是否格式正确使⽤了正则表达式进⾏判断,如果输⼊错误则输出提⽰语句,并重新输⼊正确格式,递归实现。
其中修改⼿机号的⽅法和删除⽤户类似,顺带写了⼀下,没有进⾏实现,感兴趣的朋友可以⾃⼰进⾏实现测试⼀下。
代码实现:⽤户类:package com.softeem.j2106.work;/*** @author admin* 2021/7/26*/public class User {private int no;private String name;private String phone;private String QQ;private String email;public User() {}public User(int no, String name, String phone, String QQ, String email) {this.no = no; = name;this.phone = phone;this.QQ = QQ;this.email = email;}public int getNo() {return no;}public void setNo(int no) {this.no = no;}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 getQQ() {return QQ;}public void setQQ(String QQ) {this.QQ = QQ;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "User{" +"no=" + no +", name='" + name + '\'' +", phone='" + phone + '\'' +", QQ='" + QQ + '\'' +", email='" + email + '\'' +'}';}}⽤户管理类:public class UserMange {static ArrayList<User> s = new ArrayList<>();public boolean addUser(User user){return s.add(user);}public ArrayList showInfo(){return s;}public User searchByName(String name){for (User user : s) {if (Objects.equals(name,user.getName()) ||Objects.equals(name,user.getPhone())){ return user;}}return null;}public boolean updatePhone(int no,String phone){User user = null;for(User u:s) {if(no == u.getNo()) {u.setPhone(phone);break;}}if(user == null) {System.out.println("该⽤户不存在");return false;}System.out.println("修改成功!");return true;}public boolean delUser(int no){User user = null;for(User u:s) {if(no == u.getNo()) {user = u;break;}}if(user == null) {System.out.println("该⽤户不存在");return false;}return s.remove(user);}}测试类:public class Test2 {static UserMange user = new UserMange();static Scanner sc = new Scanner(System.in);public static void start(){System.out.println("=======SOFTEEM通讯录管理系统=====");System.out.println("【1】添加联系⼈");System.out.println("【2】联系⼈查询");System.out.println("【3】显⽰联系⼈列表");System.out.println("【4】根据编号删除指定编号的联系⼈");System.out.println("=============================");int i = sc.nextInt();switch (i){case 1:add();start();break;case 2:System.out.println("【1】通过联系⼈姓名查询/【2】通过联系⼈电话查询"); int a = sc.nextInt();findbyName(a);start();break;case 3:show();start();break;case 4:del();start();break;case 0:System.out.println("谢谢使⽤,再见!");System.exit(0);break;default:System.out.println("请输⼊正确的指令!");start();break;}}public static void add(){System.out.println("请输⼊联系⼈编号:");int a = sc.nextInt();System.out.println("请输⼊联系⼈姓名:");String b = sc.next();System.out.println("请输⼊联系⼈⼿机号:");String c = sc.next();judgePhone(c);System.out.println("请输⼊联系⼈QQ:");String d = sc.next();System.out.println("请输⼊联系⼈邮箱地址:");String e = sc.next();judgeEmail(e);User x = new User(a,b,c,d,e);if(user.addUser(x)){System.out.println("添加成功!");}}public static void judgePhone(String phone){if (phone.matches("1[34589][0-9]{9}")){}else {System.out.println("⼿机号输⼊有误,请重新输⼊");String v = sc.next();judgePhone(v);}}public static void judgeEmail(String email){if (email.matches("[A-Za-z0-9]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)")){}else {System.out.println("邮箱格式输⼊有误,请重新输⼊");String v = sc.next();judgeEmail(v);}}public static void findbyName(int a){if (a==1){System.out.println("请输⼊联系⼈姓名");}else {System.out.println("请输⼊联系⼈电话");}String name = sc.next();User user = er.searchByName(name);System.out.println(user);}public static void show(){ArrayList list = user.showInfo();for (Object o : list) {System.out.println(o);}}public static void del(){System.out.println("请输⼊编号");int no = sc.nextInt();if(user.delUser(no)){System.out.println("删除成功");}}public static void main(String[] args) {start();}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
web通讯录系统课程设计
web通讯录系统课程设计一、课程目标知识目标:1. 让学生掌握Web通讯录系统的基本原理和概念,了解其在现实生活中的应用;2. 学会使用HTML、CSS和JavaScript等前端技术构建简单的通讯录界面;3. 掌握使用后端技术(如PHP、Python等)实现通讯录数据的增删改查功能;4. 了解Web数据库的基本操作,能够将通讯录数据存储在数据库中。
技能目标:1. 培养学生独立设计和开发Web通讯录系统的能力;2. 提高学生解决问题的能力,能够根据需求分析和设计合适的通讯录功能;3. 培养学生团队协作和沟通能力,能够在项目中与他人共同完成任务;4. 提升学生运用现代信息技术手段,将所学知识应用于实际项目中的能力。
情感态度价值观目标:1. 培养学生对编程和Web开发的兴趣,激发其自主学习热情;2. 培养学生认真负责的工作态度,养成良好的编程习惯;3. 增强学生的信息安全意识,使其意识到保护用户隐私和数据安全的重要性;4. 培养学生具备创新精神和实践能力,鼓励他们将所学知识应用到实际生活中。
课程性质:本课程为实践性较强的课程,旨在培养学生的编程能力和项目实践能力。
学生特点:学生具备一定的计算机基础,对Web开发有一定了解,但实际操作能力较弱。
教学要求:结合课程目标和学生学习特点,采用任务驱动、案例教学等方法,注重实践操作,提高学生动手能力。
同时,关注学生个体差异,给予个性化指导,确保每位学生都能达到课程目标。
在教学过程中,注重分解课程目标为具体的学习成果,以便于教学设计和评估。
二、教学内容1. Web通讯录系统概述- 了解Web通讯录系统的基本概念和应用场景。
- 分析Web通讯录系统的功能需求和关键技术。
2. 前端技术基础- HTML:学习构建通讯录界面的基本标签和结构。
- CSS:掌握样式表的使用,美化通讯录界面。
- JavaScript:学习使用JavaScript实现通讯录的动态交互效果。
3. 后端技术实现- 服务器端编程语言:学习使用PHP、Python等语言编写后端逻辑。
web软件设计——通讯录系统
w e b软件设计——通讯录系统(总6页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--实验项目名称:WEB软件综合设计实验目的:熟练实现小型WEB软件系统。
实验内容:用PHP+Mysql实现一小型WEB软件系统(通讯录系统)。
报告内容:(1)界面(2)代码<title>添加记录-表单</title></head><body><form action="" method="post"><table width="300" border="0" align="center" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><div align="center">添加通讯录</div></td></tr><tr><td width="76"><div align="right">学号</div></td><td width="224"><input type="text" name="stu_no"/></td></tr><tr><td><div align="right">姓名</div></td><td><input type="text" name="stu_name"/></td></tr><tr><td><div align="right">性别</div></td><td>男<input name="gender" type="radio" value="男" checked />女<input name="gender" type="radio" value="女" /></td></tr><tr><td><div align="right">生日</div></td><td><input type="text" name="birthdate"/></td></tr><tr><td><div align="right">电话</div></td><td><input type="text" name="telephone"/></td></tr><tr><td><div align="right">邮箱</div></td><td><input type="text" name="email"/></td></tr><tr><td colspan="2"><div align="center"><input name="submit" type="submit" value="提交" /> <input name="reset" type="reset" value="重置" /></div></td></tr></table></form></body><title>获得表单数据,并保存到数据库表当中</title></head><body><php$stu_no=$_POST["stu_no"];$stu_name=$_POST["stu_name"];$gender=$_POST["gender"];$birthdate=$_POST["birthdate"];$telephone=$_POST["telephone"];$email=$_POST["email"];echo $stu_no;echo '</br>';echo $stu_name;echo '</br>';echo $gender;echo '</br>';echo $birthdate;echo '</br>';echo $email;echo '</br>';row[0]."</td>";echo "<td>".$row[1]."</td>";echo "<td>".$row[2]."</td>";echo "<td>".$row[3]."</td>";echo "<td>".$row[4]."</td>";echo "<td>".$row[5]."</td>";$stu_no=$row[0];echo "<td><a href='stu_no=$stu_no'>修改</a></td>";echo "<td><a href=javascript:if(confirm('确认要删除吗'))location='stu_no=$stu_no'>删除</a></td>";echo "</tr >";}></body><title>修改记录-表单</title></head><body><php$conn=@mysql_connect("localhost","root","111111") or die("数据库连接失败"); $opendb=mysql_select_db("mydb",$conn) or die("数据库打开失败");mysql_query("set names gbk");$stu_no=$_GET["stu_no"];$sql="select * from student where stu_no='$stu_no'";$result=mysql_query($sql) or die ("数据查询失败");$row=mysql_fetch_assoc($result);//print_r($row);><form action="" method="POST"><table width="300" border="0" align="center" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><div align="center">修改通讯录</div></td></tr><tr><td width="76"><div align="right">学号</div></td><td width="224"><input type="text" name="stu_no" value="<php echo$row['stu_no'] >"readonly="true"/></td></tr><tr><td><div align="right">姓名</div></td><td><input type="text" name="stu_name" value="<php echo$row['stu_name'] >"/></td></tr><tr><td><div align="right">性别</div></td><td>男<input name="gender" type="radio" value="男" checked />女<input name="gender" type="radio" value="女" /></td></tr><tr><td><div align="right">生日</div></td><td><input type="text" name="birthdate" value="<php echo$row['birthdate'] >"/></td></tr><tr><td><div align="right">电话</div></td><td><input type="text" name="telephone" value="<php echo$row['telephone'] >"/></td></tr><tr><td><div align="right">邮箱</div></td><td><input type="text" name="email" value="<php echo $row['email'] >"/></td> </tr><tr><td colspan="2"><div align="center"><input name="submit" type="submit" value="提交" /><input name="reset" type="reset" value="重置" /></div></td></tr></table></form></body><title>修改表单数据,并保存到数据库表当中</title></head><body><php$stu_no=$_POST["stu_no"];$stu_name=$_POST["stu_name"];$gender=$_POST["gender"];$birthdate=$_POST["birthdate"];$telephone=$_POST["telephone"];$email=$_POST["email"];echo $stu_no;echo '</br>';echo $stu_name;echo '</br>';echo $gender;echo '</br>';echo $birthdate;echo '</br>';echo $email;echo '</br>';//把数据插入到数据表中$conn=@mysql_connect("localhost","root","111111") or die("数据库连接失败"); $opendb=mysql_select_db("mydb",$conn) or die("数据库打开失败");mysql_query("set names gbk");$sql="update student setstu_name='$stu_name',gender='$gender',birthdate='$birthdate',telephone='$telepho ne',email='$email'where stu_no='$stu_no'";$result=mysql_query($sql);if($result)echo"修改成功";elseecho"修改失败";header("Location:");></body><title>修改表单数据,并保存到数据库表当中</title></head><body><php$stu_no=$_GET["stu_no"];//从数据库中删除$conn=@mysql_connect("localhost","root","111111") or die("数据库连接失败"); $opendb=mysql_select_db("mydb",$conn) or die("数据库打开失败");mysql_query("set names gbk");$sql="delete from student where stu_no='$stu_no'";$result=mysql_query($sql) or die ("删除失败");header("Location:");></body>。
J2EE、JSP通讯录管理系统设计报告(副完整的程序)
信息与电气工程学院通讯录管理系统专业班级:计算机1401学生姓名:陶浩伟学号:140210124指导教师:黄伟建、吴迪设计成绩:2016年6月20日文献综述 .................................................................................................................... 错误!未定义书签。
第一章引言 .. (2)1.1通讯录的现状和背景 (3)第二章开发技术及技术 (3)2.1开发技术 (3)2.1.1 MVC (3)2.1.2 JDK (3)2.1.3 SWING (4)2.1.4 Java (4)2.2开发工具 (4)2.1.1 MyElipse (5)2.1.2 MySQL及 (5)2.1.3 Navicat for MySQL (5)第三章系统的需求分析 (6)3.1系统功能分析 (6)3.2.1 用户登录模块 (7)3.1.1 联系人信息维护模块 (7)3.1.2 查找联系人 (7)3.1.3 用户信息维护 (7)3.2系统用例分析 (7)3.2.2 参与者分析 (7)3.2.3 系统主用例识别 (8)3.2.4 系统子用例识别 (8)3.3数据库分析 (9)3.3.1 概念结构设计 (9)3.3.2 逻辑结构设计 (10)第四章系统实现 (11)第五章总结 (13)文献总结 (12)通讯录管理系统的设计与实现摘要:随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须经常与亲戚、朋友、同学、同事保持联系,但是有时候存在着许多的限制条件,比如怎样找到交流对象的各种信息?可能你会想到现实生活中的手机等通讯工具,由于这些工具的单一性,不可能在第一时间找到自己想要的信息资料,因此,为了能够快速查找到联系人的信息,节省查找时间,开发通讯录管理系统。
通讯录管理系统是一个基于C/S模式的个人通讯录管理系统。
jsp个人通信录系统课程设计
《 JSP实现的个人通讯录治理系统》课程设计指导书一、课程设计的目的:学习用JSP 实现一个小型系统,学习利用JSP中的重要技术,包括Java Bean 和Java Severlet,和连接数据源问题。
同时,要通过设计本小型系统,了解软件开发的大体理念与要求。
二、设计名称:JSP实现的个人通信录治理系统三、设计要求:个人通信录治理系统由JSP实现,第一通过用户名和密码登录本系统,其中用户名和密码保留在数据库中。
本系统的大体功能包括:查看我的通信录,内容包括号码和email,在查看我的通信录功能中要实现分页显示功能,幸免往后利用中通信录资料过量,不容易显示;查询功能,依照姓名查询相应的和email,添加人员和删除人员。
四、设计进程一、第一,依照软件开发的大体要求,不管所开发的系统获软件何等小,必然要做好需求分析和整体设计、详细设计等进程,才能够着手实现系统。
关于本系统,个人通信录治理系统,就我个人明白得,尽管它的有效性已经不是很强,可是我的设计方式是尽可能完善其功能并做到精小,能够结合嵌入式思想,将其嵌入电话、MP3等数码产品。
二、编写源代码。
3、安装sun公司的JDK (可到免费下载)JDK安装完成后,需要进行几个环境变量的设置.关于Windows2000/XP,右键单击“我的电脑”,选择“属性”,弹出“系统特性”对话框,选择“高级”选项卡,单击[环境变量]按钮,别离添加如下系统环境变量:变量名:classpath,变量值:D:\\jre\lib\;.;(依照自己JDK的安装途径去写)变量名:path,变量值:D:\\bin;4第二安装JSP引擎---比如普遍利用的Tomcat效劳器(可到免费下载)5.正确安装完成后,到Tomcat的安装目录下(如C:\Program Files\Tomcat \bin)启动Tomcat效劳器。
方式是:双击,该窗口一直维持打开状态;或双击,点击start来启动Tomcat效劳器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
个人通信录管理系统计算机学院2008级2班张俊发学号:20082101032 1 需求分析由于纸制或电子形式的通讯录,携带不方便,或容易忘记等方面的缺点,所以要开发一个网络通讯录,方便用户提供使用:1.用户注册、登录功能2.登录后,显示出与当前用户相关的联系人名单3.添加新联系人4.删除联系人5.根据联系人类型查找联系人信息根据以上要求,开发一个网络通讯录。
2 数据库实现过程创建在线通讯录数据库、表,数据库名为:addressBook。
数据表为:USERS、BOOK.实现代码如下:User表:Book表:SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `book`-- ----------------------------DROP TABLE IF EXISTS `book`;CREATE TABLE `book` (`bookID` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) CHARACTER SET utf8 DEFAULT NULL,`sex` char(2) CHARACTER SET utf8 DEFAULT NULL,`phone` varchar(50) CHARACTER SET utf8 DEFAULT NULL, `homeAddr` varchar(50) CHARACTER SET utf8 DEFAULT NULL, `mobilePhone` varchar(50) CHARACTER SET utf8 DEFAULT NULL, `email` varchar(50) CHARACTER SET utf8 DEFAULT NULL, `company` varchar(50) CHARACTER SET utf8 DEFAULT NULL, `comAddr` varchar(50) CHARACTER SET utf8 DEFAULT NULL, `relation` varchar(50) CHARACTER SET utf8 DEFAULT NULL, `userID` int(11) NOT NULL, PRIMARY KEY (`bookID`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;-- ---------------------------- -- Table structure for `user` -- ----------------------------DROP TABLE IF EXISTS `user`; CREATE TABLE `user` (`userID` int(11) NOT NULL AUTO_INCREMENT,`userName` varchar(50) CHARACTER SET utf8 DEFAULT NULL, `password` varchar(50) CHARACTER SET utf8 DEFAULT NULL, PRIMARY KEY (`userID`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;3在线通讯录的实体类设计用户类:UserBean.java 通讯录类:BookBean.java4在线通讯录的功能● 用户登录验证 ● 添加新联系人 ● 删除联系人信息 ● 查找所有联系人●按照类别查找联系人实体类数据库表UserBean.jav a BookBean.javaUserbook对应关属性对应字段5在线通讯录MVC 模式设计模型(Model)——就是业务流程/状态的处理以及业务规则的制定。
视图(View )——视图就是用户交互的界面。
控制器(Controller )——可以理解为从用户接受请求,将模型与视图匹配在一起,共同完成用户的请求。
6 各阶段具体实现过程6.1项目文件结构图用 户登录验证查找所有联系人添加联系人删除联系人分类查找联系人查询联系人6.2 用户注册的实现用户登录文件为Register.jsp ,用户输入用户名和密码后,提交“addUserServlet”进行验证处理,若用户名已存在则提示“用户名已存在,请重新输入!”,并返回注册页面,否则,把信息写入数据库,注册新用户。
“addUserServlet”部分代码:String userName = request.getParameter("name");String password = request.getParameter("password");UserdbManager UserMng = new UserdbManager();UserBean user = UserMng.findUser(userName);if (user != null && user.getName()!=null&& user.getName().equals(userName)) {PrintWriter out = response.getWriter();out.println("<script>alert('用户名已存在,请重新输入!');history.back();</script>");out.flush();out.close();} else {int result = UserMng.AddUser(userName, password);if (result > 0) {request.getRequestDispatcher("success.jsp").forward(request,response);} else {System.out.println("添加数据失败");request.getRequestDispatcher("error.jsp").forward(request,response);}}6.3 用户登录的实现用户登录文件为Login.jsp,用来实现用户的登录。
用户输入用户名和密码后,提交"LoginServlet"进行验证处理,验证正确之后,实现登陆,转到"DisplayServlet",查询数据库,显示通讯录信息。
具体代码如下:“LoginServle”部分:String userName = request.getParameter("name");String password = request.getParameter("password");UserdbManager userMng = new UserdbManager();UserBean user = userMng.findUser(userName);if(user!=null && user.getPwd()!=null&& user.getPwd().equals(password)){ HttpSession session = request.getSession();session.setAttribute("user", user);request.getRequestDispatcher("DisplayServlet"). forward(request,response);}else {PrintWriter out = response.getWriter();out.println("<script>alert('用户名或密码错误,请重新输入!');history.back();</script>");out.flush();out.close();}“DisplayServlet”部分:HttpSession session = request.getSession();UserBean user =(UserBean) session.getAttribute("user");BookdbManager bookMng = new BookdbManager();ArrayList list =bookMng.findBookByUserId(user.getId());session.setAttribute("books", list);request.getRequestDispatcher("mainPage.jsp").forward(request, response);登录成功:6.4 通讯录名片的添加、修改、删除操作实现名片的增加操作,涉及到一下页面:addBook.jsp 、updateBook.jsp 、BookServlet.java 其中,addBook.jsp 、updateBook.jsp 为用户所见的界面;BookServlet.java处理数据实现数据的添加、修改和删除,将数据写入数据库。
添加新联系人:修改联系人信息:“BookServlet.java”部分代码:private BookBean makeBook(HttpServletRequest request) { HttpSession session = request.getSession();UserBean user =(UserBean) session.getAttribute("user");BookBean book = new BookBean();book.setName(request.getParameter("name"));book.setSex(request.getParameter("sex"));book.setPhone(request.getParameter("phone"));book.setHomeAddr(request.getParameter("homeAddr")); book.setMobilephone(request.getParameter("mobilePhone"));book.setEmail(request.getParameter("email"));book.setCompany(request.getParameter("company"));book.setComAddr(request.getParameter("comAddr"));book.setRelation(Integer.parseInt(request.getParameter("relation")));book.setUserID(user.getId());return book;}“doPost”函数:String type = request.getParameter("type");int result = 0;BookdbManager bookMng = new BookdbManager();if (type.equals("del")) {int bookId = Integer.parseInt(request.getParameter("BookId"));result = bookMng.deleteBookById(bookId);} else if (type.equals("add")) {BookBean book = makeBook(request);result = bookMng.addBook(book);} else if (type.equals("update")) {int bookId = Integer.parseInt(request.getParameter("bookId"));BookBean book = makeBook(request);result = bookMng.updateBook(book, bookId);}if (result == 0) {request.getRequestDispatcher("error.jsp").forward(request, response);} else {request.getRequestDispatcher("DisplayServlet").forward(request,response);}6.5通讯录名片的分类查询操作实现通讯录名片的分类查询操作,需要以下页面:SelectServlet.java、mainPage.jsp。