jsp在线聊天室毕业设计.docx

上传人:聆听****声音 文档编号:567371 上传时间:2023-04-29 格式:DOCX 页数:38 大小:1.28MB
下载 相关 举报
jsp在线聊天室毕业设计.docx_第1页
第1页 / 共38页
jsp在线聊天室毕业设计.docx_第2页
第2页 / 共38页
jsp在线聊天室毕业设计.docx_第3页
第3页 / 共38页
jsp在线聊天室毕业设计.docx_第4页
第4页 / 共38页
jsp在线聊天室毕业设计.docx_第5页
第5页 / 共38页
jsp在线聊天室毕业设计.docx_第6页
第6页 / 共38页
jsp在线聊天室毕业设计.docx_第7页
第7页 / 共38页
jsp在线聊天室毕业设计.docx_第8页
第8页 / 共38页
jsp在线聊天室毕业设计.docx_第9页
第9页 / 共38页
jsp在线聊天室毕业设计.docx_第10页
第10页 / 共38页
jsp在线聊天室毕业设计.docx_第11页
第11页 / 共38页
jsp在线聊天室毕业设计.docx_第12页
第12页 / 共38页
jsp在线聊天室毕业设计.docx_第13页
第13页 / 共38页
jsp在线聊天室毕业设计.docx_第14页
第14页 / 共38页
jsp在线聊天室毕业设计.docx_第15页
第15页 / 共38页
jsp在线聊天室毕业设计.docx_第16页
第16页 / 共38页
jsp在线聊天室毕业设计.docx_第17页
第17页 / 共38页
jsp在线聊天室毕业设计.docx_第18页
第18页 / 共38页
jsp在线聊天室毕业设计.docx_第19页
第19页 / 共38页
jsp在线聊天室毕业设计.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

jsp在线聊天室毕业设计.docx

《jsp在线聊天室毕业设计.docx》由会员分享,可在线阅读,更多相关《jsp在线聊天室毕业设计.docx(38页珍藏版)》请在冰点文库上搜索。

jsp在线聊天室毕业设计.docx

中南林业科技大学实训报告

设计名称:

JSP聊天室

专业班级:

09级计算机科学与技术(对口)1班

系(院):

计算机与信息工程学院

设计时间:

2012年上半学期11——18周

设计地点:

电子信息楼609

指导教师评语:

签名:

年 月 日

姓 名

学 号

成 绩

组长

李周

20094178

成员

张康

20094198

jsp在线聊天室

【引言】

网上聊天室是网络用户最喜欢的Web应用程序。

借助聊天室,用户可以即时地互通信息,交流思想。

聊天室程序设计根据需求的不同可繁可简。

本系统实现的是一个具有简易功能的聊天室,是使用JSP技术开发的动态网站。

系统开发的任务主要包括前台界面设计和后台数据库管理系统设计。

本系统采用JSP作为开发工具,后台数据库采用Oracl数据库设计,利用基于JDBC的ODBC数据库访问技术实现对数据库的各种管理操作,实现聊天室的聊天功能和显示在线聊天用户信息等功能

目录

1网站建设目的及网站类型定位 4

1.1网站建设目的 4

1.2网站类型定位 4

2可行性分析 4

2.1技术可行性分析 4

2.2经济可行性分析 5

2.3社会因素可行性分析 5

3需求分析 5

4系统概要设计 6

4.1系统功能模块图 6

4.2系统流程图 7

4.3数据库逻辑结构设计 8

4.4数据库表ER图 9

5系统需要解决的主要问题 10

6系统前台模块设计 10

6.1用户登录模块 10

6.2用户注册模块设计 14

6.3聊天者发言模块设计 17

6.4查看聊天信息 20

6.5文件上传 21

6.6文件下载:

22

6.7音乐播放器 23

7系统后台管理模块 24

7.1后台登录 24

7.1后台用户管理模块 25

7.2聊天记录管理模块 29

7.3公告管理模块 30

8逻辑控制模块的设计 35

9系统的测试和维护 35

10JSP在线聊天室测试 35

结束语 35

谢辞 36

参考文献 36

1网站建设目的及网站类型定位

1.1网站建设目的

随着Internet的普及和宽带网络技术的成熟,越来越多的用户进入到网络世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务,享受网络带来的便利和办公的高效。

与此同时,一个新型的Web应用程序为网民之间提供了一个即时互通信息的功能和场所,这就是聊天室。

聊天室在网络早期就开始盛行了,不论是BBS、IRC都有类似的网上聊天机制。

聊天室为网友提供了实时对话的渠道,是网络上极为流行的一种服务。

聊天室适用于网上会议或闲聊的场合。

聊天室为网友提供了较好的交友环境,网友之间互相以文字交谈,在形式上类似笔友的性质,却大大节省了书信往返的时间。

1.2网站类型定位

网上聊天系统网站

2可行性分析

可行性分析是依据初步调查的结果作出系统开发可行性与否的结论的过程。

可行性分析是从技术可行性、经济可行性和运行可行性三个方面考虑的,论证系统开发是否可行。

2.1技术可行性分析

为实现系统目标,需要技术保证。

此系统开发所需要的技术主要有计算机硬件、软件技术、系统开发人员的水平、用户管理与使用的能力等。

通过比较ASP和JSP这两种传统的动态网页制作技术,觉得JSP具有明显的优势:

(1)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,到处运行”的特点,一次写入之后,可以运行在任何具有符合Java语法结构的环境中,取代过去单一开发。

而ASP主要工作环境是微软的IIS应用程序,又因Activex对象具有平台特性,所以ASP技术不能很容易的实现跨平台的WEB服务器的工作。

(2)ASP仅支持组建对象模型COM,而JSP技术提供的组建都是基于JavaBean技术或JSP标签库。

除此之外,JSP还有组件的可重用性,标签的可扩充性和易于维护等特点。

如上的分析比较不难看出,JSP技术编写的程序运用要更加灵活,可扩展性更强,在现有技术条件下,能够完成功能目的。

鉴于以上分析,系统开发在技术上是完全可行的。

2.2经济可行性分析

本系统开发在软件方面主要使用了JSP网站设计技术、网页制作三剑客、

MyEclipse 8.6、Oracle后台数据库等软件,这些均可在网上下载获得,注册码且不涉及商业盈利问题,因此,在经济方面可行。

2.3社会因素可行性分析

本系统仅作为实习项目而提出。

不会违反相关法律法规。

且本系统能保证在当前的操作环境下正常运行。

Jsp在线聊天室,实现了一对一,一对的多,多对多的聊天,并且能共享文件,非常方便.

综上所述,系统开发完全可行。

3需求分析

这是一个具有最简单功能的聊天室。

通过该聊天室,用户可以通过设置不同的用户名和密码以各种不同的身份进入聊天室,用户的类型有两种:

普通用户和管理员。

普通用户可以在聊天室中发送信息,也可以和指定的聊天对象用户私聊,还可以对发送的信息进行动作、颜色等方面的限制。

管理员出了具有普通用户的功能外,还可以对在线用户和所有数据库中的用户进行设置,以便对聊天室进行维护。

管理员可以把在线用户踢出聊天室,还可以删除其他管理员不希望再次进入聊天室的用户。

聊天室又分为三类,用户可以根据自己的需要进入不同的聊天室进行聊天。

系统还应具有自动把在线但不发言的时间超过系统设置的时间的用户踢出聊天室和的功能,还应具有当有新用户进入聊天室时,实时更新在线用户的功能。

聊天室的特点就是要求能够实时显示出聊天者所谈的内容。

即在同一个聊天室的使用者,可以在短时间内立刻看到其他聊天者的发言。

作为用户喜欢的Web应用程序,出了具有能够实时显示出聊天者所谈论的内容外,还应具有以多种方式发布信息的功能。

JSP正好可以满足聊天室的这种要求,它可以快速地创建和显示Web页面的动态内容。

总的来说,本聊天室主要实现了以下的功能:

l用户输入帐号,密码登录聊天室

l把用户的聊天信息写入数据库

l用户可以修改聊天语句的颜色,选择说话动作

l用户聊天室可以选择聊天对象(私聊,群聊)

l聊天室不断地对数据库进行刷新、读取

l实时更新在线的用户

l管理员管理在线用户

用户登陆

管理员登陆

普通用户登录

4系统概要设计

4.1系统功能模块图

Jsp在线聊天室

聊天发言

显示聊天信

显示在线用

文件共享

用户退出

查看用户信息

踢出在线用户

删除注册用户

踢出在线用户

文件共享

选择动作

选择聊天对象

文件共享

选择动作

选择聊天对象

显示聊天内容

选择聊天室

选择聊天室

4.2系统流程图

开始

用户登陆

帐号正确

帐号错误

帐号判断

是否管理员

提示从新输入或注册

是否退出

结束

4.3数据库逻辑结构设计

建立一个名为chatroom的orcal数据库。

数据库中共使用四个表分别名为:

表4-1

用户信息表(userinfo)

列名

数据类型

长度

允许空

User_name

varchar

50

password

varchar

50

User_id

int

8

User_mail

varchar

50

Yes

flag

varchar

50

列名

表4-2

数据类型

在线用户表(onlineuser)

长度 允许空

User_id

int

User_name

varchar

50

Chat_room

varcahr

204

Login_time

datetime

8

列名

表4-3

数据类型

聊天记录(msginfo)

长度

允许空

chatroom

varchar

50

msgfrom

varchar

50

msgto

varchar

50

msgkind

int

8

msgcontent

text

16

msgtime

date

4

表4-4公告表(Publiser)

列名

数据类型

长度

允许空

P_name

varchar

P_user

varchar

50

表4-5管理员表(admin)

列名

数据类型

长度

允许空

User_id

int

User_name

varchar

50

列名

表4-6

数据类型

聊天室表(chatinfo)

长度 允许空

chatid

int

50

Chatname

varchar

50

chatmsg

varchar

50

4.4数据库表ER图

用户名

密码

用户

用户名

标志

用户表

m

n

显示

在线表

用户

邮箱

登陆时间

1

m

操作

查看

聊天室

接收者

n

管理员名

m

聊天记录

公告表

发送者

发送时间

管理员

发送内容

发送内型

5系统需要解决的主要问题

在规划设计聊天室时,首先要确定好谈话内容存储方式,JSP可以用三种形式实现聊天内容的存取:

1)用全局变量Application和Session对象实现。

这种形式速度快、效果好,但较消耗系统资源。

2)用读写数据库的方法实现。

这种方法相对简单,但会使数据库负担重。

本系统采用的就是该方法。

本设计选择了Oracle数据库来存储谈话内容。

3)用读写文本文件方法。

该方法适合简单的聊天室。

另一个设计聊天室时要考虑的因素就是聊天室成员的动态刷新。

有的用户在退出聊天室时并不是从退出链接退出的,但服务器并不知道用户已经离开了。

因此需要建立一个在线用户数据库,每隔一段时间检查一次,看用户从最后一次发言到现在是否超时,若是,则将该用户自动删除。

6系统前台模块设计

6.1用户登录模块

本系统需注册,输入用户名和密及即可。

登录成功后,显示在线用户列表,可以发送信息,在线用户表中增加刚才登录的当前用户的名字。

如图所示:

图6-1用户登录界面

其代码为:

1.

2.

欢迎来到HH聊天室!

3.

10px;">

4.

5.

6.

7.用户名:

8.密码:

9.      记住用户名    

10.自动登录

11.

12.

13.

14.

15.

16.

用户从登陆页面进入聊天室时,如果登录失败则显示出错原因。

图6-2用户名或密码为空

从界面获取数据,将数据封装在UserVo中,将UserVo作为一个整体的对象传递给Dao层,在其Dao层,根据传递过来的数据从数据库中进行查找,如果数据库中存在,刚登录成功,否则提示登录错误。

实现登录界面验证的相关代码为:

(user.action)

1.publicvoidlogin(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

2.UserVouser=newUserVo();

3.Stringuser_name=newString(request.getParameter("loginname").getBytes("ISO-8859-1"),"utf-8");

4.user.setUser_name(user_name );

5.user.setUser_pwd(request.getParameter("loginpwd"));

6.try{

7.intusertype=service.queryUser(user);

8.if(usertype>0){

9.java.util.Datenowdate=newjava.util.Date();

10.Stringchattime=nowdate.toLocaleString();

11.InOnLineUserVovo=newInOnLineUserVo();

12.vo.setUsername(user_name);

13.vo.setChatroom("1");

14.vo.setLogintime(chattime);

15.request.getSession().setAttribute("username",user.getUser_name());

16.request.getSession().setAttribute("usertype",usertype);

17.response.sendRedirect("frame.jsp");

18.intflag=service.add_onlineuser(vo);

19.return; }else{//ʧ��ת��Login.jsp

20.response.getWriter().println("");

1.}

ii.}catch(Exceptione){

1.e.printStackTrace();

UserDao对应的代码为:

publicintqueryUser(UserVouser){

//TODOAuto-generatedmethodstubConnectionconn=ConnTools.conn;;intcount=0;

try{

PreparedStatementstmt=conn.prepareStatement(Constants.QUERY_USER );

stmt.setString(1,user.getUser_name());stmt.setString(2,user.getUser_pwd());

ResultSetrs=stmt.executeQuery();

if(rs.next()){

count=1;

}

}catch(SQLExceptione){

//TODOAuto-generatedcatchblocke.printStackTrace();

}/*finally{

ConnTools.close(conn);

}*/

returncount;

}

验证成功后进入到的主界面

图6-3聊天室主界面

系统的主界面是一个框架页面frame.jsp,定义如下:

1.

2.3.

4.

5.

6.

7.

8.

9.

>

10.

11.</p><p>12.<BODY></p><p>13.<H1>浏览器不支持框架多页面显示,建议使用IEv4.0以上版本。</p><p>谢谢你的支持!</p><p></H1></p><p>14.</BODY></p><p>15.

16.

此框架页面由四部分组成:

l左边的框架,用来显示各种功能,打开的网页文件为:

left.jsp

l上面的框架,用来显示欢迎聊天者进来聊天,打开的网页文件为:

head.jsp。

l中间框架:

其本身是一个frame框架,为发送、接收信息。

打开的网页文件为send.jsp;receive.jsp

l右边的框架:

用来显示所有在线聊天用户的信息,打开的网页文件为:

right.jsp。

6.2用户注册模块设计

该模块的主要作用是实现用户注册。

当用户输入注册信息内容时,系统会根据用户输入的内容通过ajax进行验证,验证成功后,提示用户注册 成功,否刚提示注册失败,返回到登录界面。

用户注册页面:

实现用户注册的及ajax验证的相关代码为:

相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2