基于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页面。
(完整word版)通讯录管理系统的设计和实现

南通大学二○一一~二○一二学年第一学期计算机科学与技术学院课程设计报告书课程名称:数据结构课程设计班级:计101学号:1013022015姓名:徐鹏指导教师:顾颀二○一二年一月设计题目:通讯录管理系统的设计与实现1. 需求分析1.1 描述要求编程解决的问题,给出程序要达到的具体要求1.1.1基本要求①设计通讯录数据的逻辑结构和物理结构②通讯录至少包括下列数据信息:姓名、电话、单位等。
③完成图示基本功能。
④软件易用,操作简单。
⑤根据自己使用通讯录的体会,扩充其他功能,如按姓名查找、按号码查找、按序号删除等。
⑥设计足够多的测试用例。
1.1.2较高要求①数据输入有效性的检验:如姓名不能为空、号码中不能有非法字符等。
②提供分组管理的相关功能,如:分组显示、加入组、组创建、组查询等。
③可视化的界面设计。
1.2 测试案例设计,包括以下两方面案例:1.2.1 合理的输入,给出的合理的输出输入:1 张三12345678 计101 2-102输出:输入成功!1.2.2 不合理的输入,给出的输出输入:2 李四12**5678 计101 2-102输出:电话号码中出现非法输入请重新输入:2. 概要设计2.1 功能划分与定义,功能结构图基本功能模块如下图所示:输入:记录的输入。
显示:通讯录显示。
查找:按指定的方式,输入关键字,查找指定记录。
插入:实现记录的添加或在指定位置插入新纪录。
删除:提供指定记录的删除功能。
保存:将内存中正在被操作的通讯录以文件形式保存到磁盘。
读入:保存的逆操作,将存在磁盘里的通讯录文件读取到内存中。
排序:按指定关键字对通讯录进行排序。
修改:提供修改某条记录的功能。
移动:移动记录在通讯录中的存储位置,使其被查找或显示时的位序前移或后移。
退出:结束程序运行。
2.2 给出数据的逻辑设计、抽象的数据类型描述(1)数据域描述通讯录的相关信息,每个人的基本信息含有多个属性,其中包括姓名、电话、单位等,为此可根据人员信息建立结构体,类型定义如下:struct Datatype{int id; //编号char name[10]; //姓名char phone[12]; //电话char class[10]; //单位};3. 详细设计3.1 数据的存储设计根据通讯录的设计要求,可使用单链表实现该通讯系统的功能,链表节点只含一个数据域和一个指针,线性表的链式存储结构如下:struct Node{Datatype data; //数据域,存放表元素Node *next; //指针域,指向下一个结点};3.2 界面设计,包括菜单、数据输入输出格式等主菜单:查找联系人子菜单:显示通讯录子菜单:1-添加联系人1-按序号查找1-按序号显示2-查找联系人2-按姓名查找2-按姓名显示3-修改联系人3-按号码查找3-按号码显示4-删除联系人5-移动联系人6-显示通讯录7-退出数据输入格式:请输入联系人的相关信息编号:1姓名:张三电话:1300000001单位:计102住址:2-102数据输出格式:编号姓名电话单位住址1 张三130000001 计102 2-1023.2 各功能的算法描述,可采用伪码、流程图、N-S图等方式读入函数int Read( ),将存在磁盘中的文件读到内存中。
基于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技术实现数据封装。
基于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技术简介......................... 错误!未定义书签。
jsp同学录课程设计

jsp同学录课程设计一、课程目标知识目标:1. 学生能理解JSP技术的基本概念,掌握JSP页面的基本结构和编写方法。
2. 学生能运用JSP内置对象和脚本语言,实现动态网页的交互功能。
3. 学生了解JSP与数据库的连接方法,能实现简单的数据展示和查询功能。
技能目标:1. 学生能运用HTML、CSS和JavaScript等前端技术与JSP相结合,制作出功能丰富、界面美观的动态网页。
2. 学生能使用JSP内置对象和EL表达式进行数据传递和页面跳转,实现基本的网站导航功能。
3. 学生通过动手实践,培养解决问题的能力和团队协作能力。
情感态度价值观目标:1. 学生通过学习JSP技术,培养对编程的兴趣和热情,树立正确的信息技术观念。
2. 学生在课程学习过程中,学会尊重他人意见,善于倾听和沟通,培养良好的团队协作精神。
3. 学生能认识到编程对于国家和社会发展的重要性,激发为国家信息技术事业贡献力量的责任感。
本课程针对高年级学生,他们在之前的学习中已经掌握了基本的网页设计和编程知识。
课程性质为实践性较强的信息技术课程,要求学生在掌握JSP技术的基础上,能够独立设计和实现动态网站。
通过本课程的学习,旨在提高学生的编程能力、团队协作能力和创新能力,为未来信息技术领域的发展奠定基础。
二、教学内容1. JSP技术概述- JSP基本概念- JSP运行环境及配置2. JSP基本语法与结构- JSP声明、脚本和表达式- JSP指令和动作元素- JSP内置对象及其作用3. JSP与前端技术的结合- HTML、CSS和JavaScript在JSP中的应用- 表单数据的获取与处理4. JSP数据库连接与操作- JDBC概述与数据库连接- SQL语句执行与结果集处理- 数据展示与查询功能实现5. JSP页面跳转与数据传递- 内置对象Request、Response、Session的使用- 页面跳转方法及EL表达式的运用6. 同学录项目实践- 项目需求分析- 数据库设计- 功能模块划分与实现- 界面设计与优化本教学内容参照教材相关章节,以科学性和系统性为原则,结合课程目标进行制定。
通讯录文档

密级公开编号10 通讯录项目文档项目题目通讯录系部专业软件技术(xxxxxxxxx)学生姓名xxx指导老师xxx2012年xx月通讯录项目文档文档信息任务分配表版本记录1.01.5目录一软件需求说明书(软件计划书,确定软件的总体功能) (1)1.1 引言 (1)1.2 业务流程整体说明(使用业务语言) (1)1.3 特殊说明 (1)二需求分析报告 (2)2.1 引言 (2)2.3 功能需求 (2)2.4 性能需求 (3)2.5 运行环境需求 (3)三软件设计书(详细设计说明书,建立软件结构) (4)3.1引言 (4)3.2软件结构 (4)3.3类的设计 (4)3.4程序描述 (5)3.4.1模块1 (5)3.4.2模块2 (5)3.4.3模块3 (6)3.4.4模块4 (7)3.4.5模块5 (7)四程序设计说明书 (9)4.1引言 (9)4.2各功能核心代码和界面说明 (9)4.2.1功能一:添加联系人 (9)4.2.2功能二:删除联系人 (9)4.2.3功能三:修改联系人 (10)4.2.4功能四:查询联系人 (11)4.2.5功能五:显示所有联系人 (11)五用户手册 (13)5.1引言 (13)5.2系统功能介绍 (13)5.3运行环境说明 (13)5.4运行前的准备 (13)5.5输入输出说明和操作说明 (14)5.6安全与保密 (14)5.7常见问题的处理 (14)5.8附录:安装与初始化(必须提供) (14)一 软件需求说明书(软件计划书,确定软件的总体功能)1.1 引言在信息化不断发展的今天,社会成员相互之间联系越来越紧密,联系方式也越来越多。
我们除了手机,移动电话等常规联系方式外,现在还有了电子邮箱、MSN 、QQ 等信息化的联系方式,那么为了方便我们将每个联系人的多个联系方式保存在一起,由于一种联系方式联系不到某人时,可查询其他联系方式,以前的“纸质”通讯录已经越来越赶不上信息化的速度,势必被淘汰,所以我们用所学过的知识实现一个“非纸质”通讯录。
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>。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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通讯录名片的分类查询操作 (9)3. 个人总结 (9)1.Java Web 应用背景介绍WWW是目前Internet上的主要服务类型之一,WWW的基础是基于HTML的页面,使用在HTML基础上的脚本语言进行应用程序开发,可以创建动态生成内容的Web页面。
JSP是一种在服务器端编译执行的Web设计语言,其脚本语言采用Java,并继承了Java的所有优点。
1.1 什么是Web编程Web编程简单地说是基于WWW的Internet上的应用程序开发,随着Internet 的普及与传播,越来越多的人通过WWW走进网络世界的大门。
CGI(Common Gateway Interface)应用程序的第一次引入了动态交互的概念,这些运行于服务器端的脚本程序通常用Perl语言或C语言写成,需要编译才能运行。
随着Web应用程序技术的发展,CGI所引入的动态内容概念被很多新技术所实现和发展,基于程序运行的地点大致可以分为两大类:一类是随着HTML页面下载并运行于客户端的程序脚本,例如ActiveX控件,DHTML,Java Applet和JavaScript;另一类程序是基于服务器端的技术,例如Active Server Page(ASP),PHP, Java Server Page(JSP),Java Servlet等。
1.2 JSP简介JSP是Java Server Page技术的缩写,是由Java语言的创造者Sun公司提出、多家公司参与制定的动态网页技术标准。
通过在传统的(*.html,*.htm)中加入Java代码和JSP标记,构成后缀为*.jsp的JSP网页文件。
Web服务器在遇到访问JSP页面的请求时,首先执行其中的代码片断,然后将执行的结果以普通HTML方式返回客户浏览器,JSP页面中的程序代码在客户端是看不到的。
这些内嵌的Java程序代码可以完成数据库的操作、文件上传、网页重定向、发送电子邮件的等功能,所有的操作均在服务器端进行,客户端得到的仅仅是运行的结果,因而对客户浏览器的要求很低。
JSP有Java Servlet技术为基础,利用可跨平台运行的Java Beans组件,可以方便的操作数据库,执行各种复杂的查询,使逻辑处理和显示互相分离。
1.3 JSP的优点1.3.1 跨平台运行JSP的最大优势在于平台可移植性,利用Java语言的平台无关性,任何JSP 程序只要编译一次,就可以在任何服务器平台使用。
1.3.2 执行效率高JSP在服务器端被Java 虚拟机编译成Servlet执行,编译的过程只在第一次执行时进行,以后Servlet对于每个客户端请求都使用内存中的同一副本处理,而不像CGI那样需要为每个请求创建单独的进程,而只要在Java虚拟机中装载一个Servlet ,因而节省了大量的服务器资源,执行时性能优化,代码效率高。
1.3.3 服务器端组件支持服务器端编程语言往往由于缺少强大的服务器组件支持而受到限制,JSP使用成熟的Java Beans技术,可以轻松得到各种服务器组件的支持。
1.3.4 数据库支持JSP技术利用Java语言的数据库操纵能力可以与任何JDBC兼容数据库建立连接,执行常用的查询、添加、更新、删除操作和复杂的逻辑代数。
利用Sun公司开发的JDBC-ODBC 桥,JSP还可以访问现有的ODBC(Open DataBase Connection)驱动的数据库系统。
目前市场上的主流数据库产品都带有ODBC支持,所以JSP可以访问Oracle、Microsoft SQL Server和My SQL等数据库产品。
2. 网络通讯录的实现2.1 需求分析由于纸制或电子形式的通讯录,携带不方便,或容易忘记等方面的缺点,所以要开发一个网络通讯录,方便用户提供使用:1.用户注册、登录功能;2.登录后,显示出与当前用户相关的联系人名单;3.添加新联系人;4.删除联系人;5.根据联系人类型查找联系人信息。
根据以上要求,开发一个网络通讯录。
2.2在线通讯录的实体类设计用户类:Users.java通讯录类:Book.java2.3在线通讯录的功能1.用户登录验证2.添加新联系人3.删除联系人信息4.查找所有联系人5.按照类别查找联系人2.4在线通讯录MVC模式设计模型(Model)——就是业务流程/状态的处理以及业务规则的制定。
视图(View)——视图就是用户交互的界面。
控制器(Controller)——可以理解为从用户接受请求,将模型与视图匹配在一起,共同完成用户的请求。
2.5 各阶段具体实现过程2.5.1 用户登录的实现用户登录文件为index.jsp,用来实现用户的登录。
用户输入用户名和密码后,提交"LoginServlet"进行验证处理,验证正确之后,实现登陆。
具体代码如下:String userName = request.getParameter("userName");String password = request.getParameter("password");UserBo userBo = new UserBo();Users user = userBo.valiUser(userName, password);if(user == null){//登陆失败PrintWriter out = response.getWriter();out.println("<script>alert('用户名或密码错误,请重新输入!');history.back();</script>");out.flush();out.close();}else{//登陆成功HttpSession session = request.getSession();session.setAttribute("user", user);request.getRequestDispatcher("SelectServlet").forward(request, response);}2.5.2 通讯录名片的插入操作实现名片的增加操作,涉及到一下页面:addBook.jsp 、AddServlet.java 、UsersBo.java。
其中,addBook.jsp为用户所见的界面;AddServlet.java处理数据实现数据的插入,将新增名片内容写入数据库。
具体代码如下:response.setContentType("text/html;charset=GBK");Book book = new Book();request.setCharacterEncoding("GBK");book.setName(request.getParameter("name"));book.setSex(request.getParameter("sex"));book.setPhone(request.getParameter("phone"));book.setAddress(request.getParameter("address"));book.setMobilePhone(request.getParameter("mobilePhone"));book.setCompany(request.getParameter("company"));book.setComPhone(request.getParameter("comPhone"));book.setComAddress(request.getParameter("comAddress"));book.setRelation(Integer.parseInt(request.getParameter("relation" )));book.setUserID(((Users)request.getSession().getAttribute("user")) .getUserID());BookBo bookBo = new BookBo();int result = bookBo.addBook(book);PrintWriter out = response.getWriter();if(result > 0){//添加成功out.println("<script>alert('添加成功');location.href='addBook.jsp'</script>");}else{//添加失败out.println("<script>alert('添加失败');location.href='addBook.jsp'</script>");}}2.5.3通讯录名片的查看操作实现通讯录的查看操作涉及到一下页面:SelectServlet.java、bookContent.jsp。