《网络编程(JSP)》课程大作业报告
项目名称: 专业名称: 班级名称: 小组成员: 完成时间:
基于JSP技术设计与实现的通讯录管理系统
2019年6月
2018-2019学年2学期
目 录
1.
概述 ............................................................... 3 1.1 项目背景 ............................................................ 3 1.2 研究的主要内容 ...................................................... 3 1.3 项目分工(说明各小组成员在项目中承担的工作) ........................ 3 2. 3. 4.
相关技术 ........................................................... 3 系统分析 ........................................................... 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技术使用JAVA编程语言编写类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技术实现数据封装。
3. 系统分析
把通讯录管理系统分为4个模块:增删改查。详细的通讯录管理系统的功能模块图,如图3.1所示。
通讯录管理系统 联系人信息管理 系统管理 联系人增加 联系人修改 联系人删除 联系人查询 图3.1 通讯录管理系统功能模块图
修改密码 退出系统 1、联系人信息管理模块
该模块主要是管理联系人信息的添加、修改、删除和查询操作。 2、系统管理模块
该模块主要用于用户密码的修改与退出系统操作。
4. 系统设计
4.1 功能模块的流程说明
1、用户登录模块
在登录模块的设计中,用户输入用户账户、密码,系统将得到的登录信息与数据库中的用户信息进行比对,当用户账号存在且密码正确的话,则登录成功,系统将跳转到相应的主界面,若用户账号不存在、密码错误则无法进行登录,将停留在登录页面,无法跳转到主界面。登录模块的时序图如图 4.1 所示。
用户1:登录2:获取用户信息4:登录成功5:跳转到相应页面系统数据库3:返回验证结果
图4.1 用户登录模块时序图
2、用户注册模块
在用户注册模块的设计中,用户输入用户账户、密码、年龄、邮箱,系统将得到的注册信息连接到数据库中,若注册成功,系统将跳转到相应的主界面,若注册失败,将停留在注册页面,无法跳转到主界面。
3、联系人信息管理
联系人信息管理有两个模块:添加联系人信息模块、联系人信息管理,用户可以添加联系人以及对联系人信息进行修改、删除、查找。
4、系统管理
系统管理有两个模块:修改密码模块、退出系统,用户可以对密码进行修改,用户可以退出系统。
4.2 数据库设计
4.2.1 数据库概念结构设计
数据库的概念模型是数据库系统的核心和基础。一般使用E-R 图(实体-联系图)来表示。按照本系统的设计思路,设计了各个模块功能需求的各种实体和它们之间的关系,如图4.2所示。
4.2 数据库E-R 图
4.4.2 数据库逻辑结构设计
数据库的逻辑结构设计主要是设计各个数据库表之间应有的字段与各表之间的联系。在本系统中有下列各个关系:
用户表:用户名、密码、年龄、邮箱
联系人表:用户登录名、姓名、性别、出生日期、电话号码、qq、邮箱、地址、备注信息
4.2.3 数据库物理结构设计
1、用户信息表 表名:usertable
描述:用于保存用户信息 具体结构如表4.1所示:
表4.1 用户信息表
字段名称 id username age email password 数据类型 int varchar int varchar varchar 长度 11 20 5 25 20 描述 ID 用户名 年龄 邮箱 密码
2、联系人信息表 表名:lytable
描述:用于保存联系人信息 具体结构如表4.2所示:
表4.2 用户信息表
字段名称 id username name sex date phone qq email place content 数据类型 int varchar varchar varchar varchar varchar varchar varchar varchar varchar 长度 10 25 25 25 25 25 25 25 25 35 描述 ID 用户名 姓名 性别 出生日期 电话号码 联系qq 邮箱地址 地址 备注信息
5. 系统实现
5.1系统注册界面设计
用户登录文件为register.jsp,用户输入用户名、密码、年龄、邮箱后,提交“doregister.jsp”进行验证处理,若用户名已存在则转到“havingregister.jsp”,可以重新进行注册与登录操作。
关键代码
UserBean user=new UserBean();
user.setUsername(name); user.setPassword(pwd);
user.setAge(Integer.parseInt(age)); user.setEmail(email); OP op=new OP();
if(!op.panduan(user.getUsername())){
int n=op.doRegister(user);
if(n>0){response.sendRedirect(\"login.jsp?uname=\"+name);} else{response.sendRedirect(\"noregister.jsp?uname=\"+name);}
}else{response.sendRedirect(\"havingregister.jsp?uname=\"+name);}
运行界面截图
5.2系统登录界面设计
用户登录文件为login.jsp,用来实现用户的登录。本部分的主要功能是为了对系统进行安全性管理。本系统的用户名称和用户密码存在用户信息表中,登录时系统会自动校验密码正确与否。如果密码输入错误,页面则不会进行跳转。
关键代码
<% String name=request.getParameter(\"username\"); String psd=request.getParameter(\"password\"); if(name!=null&&psd!=null){ OP op=new OP();
boolean check=op.isTrue(name, psd); if(check){ }
else{response.sendRedirect(\"login.jsp?err=f\"); }//说明不存在 %>
session.setAttribute(\"username\
response.sendRedirect(\"main.jsp?uname=\"+name);
}else{response.sendRedirect(\"login.jsp?err=f\");}
运行界面截图
5.3主界面设计
通过登录验证后进入系统主界面“Linkman_main.jsp”。 关键代码
String username=(String)session.getAttribute(\"username\");
request.setCharacterEncoding(\"utf-8\"); String key=request.getParameter(\"key\"); String order=request.getParameter(\"order\"); ResultSet rs=null; int pageNow=1;
String s_page=request.getParameter(\"pageNow\");
if(s_page!=null) pageNow=Integer.parseInt(s_page);
运行界面截图
5.4添加联系人界面设计
点击添加联系人信息出现如图界面,跳转至“Linkman_add.jsp”。 关键代码
if(!username.equals(\"\") && !name.equals(\"\") && !place.equals(\"\")){ } else{
out.print(\"\");}
OP op=new OP();
LyBean ly=new LyBean(); ly.setUsername(username); ly.setName(name); ly.setSex(sex); ly.setDate(date); ly.setPhone(phone); ly.setQq(qq); ly.setEmail(email); ly.setPlace(place); ly.setContent(content); int n=op.Linkman_doAdd(ly);
if(n>0) response.sendRedirect(\"Linkman_add.jsp\"); else out.print(\"提交失败!!\");
运行界面截图
5.5联系人管理界面设计
点击联系人信息管理出现如图界面,跳转至“Linkman_main.jsp”,用户在该界面对联系人信息进行修改、删除、查找操作。
关键代码
out.print(\"
运行界面截图
5.6修改密码界面设计
点击修改密码出现如图界面,用户在该界面进行密码的修改操作。 关键代码
try{
String pass=request.getParameter(\"password1\"); String id=(String)session.getAttribute(\"username\"); Class.forName(\"com.mysql.jdbc.Driver\").newInstance(); String
Connection conn= DriverManager.getConnection(url,\"root\Statement stmt=conn.createStatement();
String sql1=\"update usertable set password='\"+pass+\"'where stmt.executeUpdate(sql1); session.invalidate(); out.print(\"密码修改成功!\"); stmt.close(); conn.close(); out.print(cnfe); out.print(sqle);
url=\"jdbc:mysql://localhost:3306/jsp?useUnicode=true&characterEncoding=utf-8\";
username='\"+id+\"'\";
}catch(ClassNotFoundException cnfe){
}catch(SQLException sqle){ }catch(Exception e){ out.print(e); }
}else{out.print(\"用户名或原密码输入错误\");}
运行界面截图
5.7退出系统
点击退出系统界面跳转到“welcome.jsp”。
6. 总结
经过一个学期的jsp学习,我们小组根据现学的知识决定制作一个通讯录管理系统。我们对人们希望通讯录拥有的具体功能进行了深入的调查与分析,并向已有通讯录系统进行研究和学习后,决定设计一款合适简单易懂的通讯录管理系统,用户可以使用网页随时进行访问和使用该系统。通讯录管理系统是用于储存联系人的资料以及个人资料的实用信息系统,它实现了用户之间联系人资料的分类储存,同时可以实现迅速查找联系人的功能,加快了查找过程的时间。
我们主要对通讯录管理系统进行可行性分析、需求分析、总体设计、详细设计及系统测试等方面进行描述,并设计了基于B/S模式的数据库结构和JAVA程序。这个通讯录管理系统含有添加,删除,查找等基本功能,在程序中完成了与数据库的通信,并同样可以对数据库进行添加,查找,删除等功能。在设计一个完整的系统中,我们从系统的用户登录界面开始做,另外根据相关的要求,对系统增加了数据库支持,还有对数据库里的数据进行增加,删除,显示所有记录,查询记录,导出备份数据文件。
这次的程序设计实验是对我们进入大学以来学习程序设计语言结果的一次大考验。自己动手,发现和解决问题。发现了自己的许多不足。平时没有掌握的知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料和上级运行,解决了其中大部分问题,当然还存在一些问题没有解决。我们相信在以后的学习中能够解决好它们。但是,总的来说,收获还是不小的,我们不仅对jsp的操作有了进一步的掌握,还了解了程序设计的书写风格及其注释的格式,学会了团队间的合作,还是很有意义的一次实验。
因篇幅问题不能全部显示,请点此查看更多更全内容