JSP课程设计模拟QQ登录解析.docx
《JSP课程设计模拟QQ登录解析.docx》由会员分享,可在线阅读,更多相关《JSP课程设计模拟QQ登录解析.docx(25页珍藏版)》请在冰豆网上搜索。
JSP课程设计模拟QQ登录解析
大连科技学院
JSP应用技术
题目模拟QQ登陆系统
学生姓名张健华专业班级软件工程11-1
指导教师史原职称 讲师
所在单位信息科学系软件教研室
系主任王立娟
完成日期2014年5月4日
1前言
1.1问题提出
用JSP编辑的网站中,一般要求用户提供登陆该网站的用户名称和密码等信息,在注册页面中用SQL语句在数据库中查询该用户名和密码是否存在于数据库中。
QQ是腾讯公司开发的一款基于Internet的即时通信软件。
使用JSP编程、建立数据库、采用HTML超文本链接等编程技术实现模拟QQ登录系统。
1.2研究意义
腾讯QQ作为当下中国最流行的聊天工具之一,必有他成功的理由。
所以我希望基于JSP能模仿QQ的登陆系统,一方面向腾讯QQ学习他的登陆界面,以便日后可以把它成功的运用到网页游戏或者是网站的一些会员登录中,另一方面也可以帮我巩固在JSP课上学习到的知识。
2系统需求分析
2.1系统功能分析
该系统主要实现以下功能:
QQ注册、QQ登录、密码找回、密码修改、资料查看功能。
注册成功注销
登录
修改密码
找回成功忘记密码修改成功
修改密码
图2-1数据流图
系统使用数据字典如表1-1所示:
表2-1数据字典表
数据元素
数据类型
长度
数据来源
QQ号码(username)
int
10
tb_user
密码(password)
char
10
tb_user
二级密码(password2)
char
10
tb_user
昵称(nicheng)
char
10
tb_user
性别(sex)
char
10
tb_user
生日(birthday)
char
10
tb_user
所在地(suozaidi)
char
10
tb_user
2.2系统功能模块设计
用户注册:
用户注册是用户进行其他操作,如登录,修改密码的前提。
用户登录:
用户注册后,登录系统,通过注册时的用户名和密码正确登录系统。
找回密码:
用户在忘记密码之后通过该系统找回遗失的密码。
修改密码:
用户可以可以以当前密码为凭证修改登录密码。
资料查看:
用户在登录之后可以查看在注册帐号是所输入的个人资料信息。
3总体设计
3.1主要功能
本系统为QQ登陆系统仿照QQ的登陆界面完成学习目的,功能包括了帐号、密码的注册、清空及登录,而注册界面包含了帐号、密码、姓名、年龄等信息,还加入了修改密码的界面,简单地说就是QQ登陆界面的简化版本。
3.2系统包含的类及类之间的关系
本系统包含7个JSP文件和4个JavaBean文件。
3.3java源文件及其功能
1.UserManger.java
该文件用于注册QQ号码,并将注册信息存入数据库。
2.ConditionQuery.java
该文件为登录系统文件,登录成功之后显示用户资料。
3.Zhaohui.java
该文件用户密码找回功能。
4.xiugai.java
该文件用于修改密码功能。
4详细设计
4.1类UserManger
(1)成员变量见表4-1
表4-1 主要成员变量(属性)
成员变量
变量类型
名称
QQ号码
Int
username
密码、昵称、生日、性别、所在地
String
Password,nicheng,
birthday,sex,suozaidi
(2)方法见表4-2
表4-2 主要方法
方法名
功能
返回值类型
UserManger()
生成随机号码
Int
setPassword()
设置密码
String
setNicheng()
设置昵称
String
getConn()
纯Java方式连接数据库
Connection
Register()
将注册信息存入数据库
boolean
Login()
验证登录信息
boolean
4.2类ConditionQuery
(1)成员变量见表4-3
表4-3 主要成员变量(属性)
成员变量
变量类型
名称
帐号
String
Zhanghao
密码
String
mima
(2)方法见表4-4
表4-4 主要方法
方法名
功能
返回值类型
setZhanghao()
设置帐号
String
setMima()
设置密码
String
getQueryResultByZhanghao()
查询数据库
StringBuffer
f()
输出查询信息
StringBuffer
5系统的实现与调试
用SQLServer2005数据库管理系统建立数据库结构,加载数据,实现各种查询。
图5-1数据库设置截图
系统界面为如下截图:
图5-2系统登录界面
图5-3找回密码界面
图5-4注册帐号界面
图5-5登录成功界面
代码
Index.jsp
<%@pagecontentType="text/html;charset=GB2312"%>
<%@pageimport="tom.jiafei.*"%>
useBeanid="base"class="tom.jiafei.ConditionQuery"scope="session"/>
setPropertyname="base"property="zhanghao"param="username"/>
setPropertyname="base"property="mima"param="password"/>
QQ登录
functioncheck(){
if(document.loginForm.username.value==""){
alert("用户名不能为空");
document.loginForm.username.focus();
returnfalse;
}
if(document.loginForm.password.value==""){
alert("密码不能为空");
document.loginForm.password.focus();
returnfalse;
}
document.loginForm.submit();
returntrue;
}
--
#button2{
text-align:
center;
padding-top:
4px;
padding-right:
30px;
padding-bottom:
4px;
padding-left:
30px;
}
.TOU{
text-align:
right;
}
-->
|
center">帐号:
注册帐号密码:
找回密码
|
|
Login.jsp
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pageimport="tom.jiafei.*"%>
QQ登录成功useBeanid="test"class="tom.jiafei.UserManger"/>
setPropertyname="test"property="*"/>
useBeanid="base"class="tom.jiafei.ConditionQuery"/>
setPropertyname="base"property="zhanghao"param="username"/>
setPropertyname="base"property="mima"param="password"/>
<%
Stringzhanghao=request.getParameter("username");
Stringmima=request.getParameter("password");
%>
<%
if(test.Login())
{%>
QQ资料
|
getPropertyname="base"property="queryResultByZhanghao"/>
|
修改密码修改资料
|
<%}
else
{
response.sendRedirect("index.jsp");
}
%>
Register.jsp
<%@pagecontentType="text/html;charset=GB2312"%>
QQ注册
functioncheck(){
if(document.regForm.password.value==""){
alert("密码不能为空");
returnfalse;
}
if(document.regForm.password1.value==""){
alert("确认码不能为空");
returnfalse;
}
if(document.regForm.password1.value!
=document.regForm.password.value){
alert("确认密码不正确");
returnfalse;
}
returntrue;
}
--
.tou{
text-align:
right;
}
.anniu{
text-align:
center;
}
#button{
text-align:
center;
padding-top:
4px;
padding-right:
30px;
padding-bottom:
4px;
padding-left:
30px;
}
-->
|
昵称:
*
|
密码:
*
|
确认密码:
*
|
二级密码:
*
|
性别:
男
女
|
出生年月日:
年
月
日
|
所在地:
|
|
Reg.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
">
注册成功!
--
-->
--
#button2{
text-align:
center;
padding-top:
6px;
padding-right:
20px;
padding-bottom:
6px;
padding-left:
20px;
}
-->
useBeanid="test"class="tom.jiafei.UserManger">
useBean>
setPropertyname="test"property="*"/>
<%
if(test.Register())
{
}
else
{
response.sendRedirect("Register.jsp");
}
%>
注册成功!
|
您的QQ号码为:
getPropertyname="test"property="username"/>
|
|
Xiugai.jsp
<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml">
修改密码
--
#button{
text-align:
center;
}
-->
找回密码 修改密码
|
QQ号码: