JSP在线聊天室的设计.docx

上传人:b****5 文档编号:5979730 上传时间:2023-01-02 格式:DOCX 页数:37 大小:2.44MB
下载 相关 举报
JSP在线聊天室的设计.docx_第1页
第1页 / 共37页
JSP在线聊天室的设计.docx_第2页
第2页 / 共37页
JSP在线聊天室的设计.docx_第3页
第3页 / 共37页
JSP在线聊天室的设计.docx_第4页
第4页 / 共37页
JSP在线聊天室的设计.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

JSP在线聊天室的设计.docx

《JSP在线聊天室的设计.docx》由会员分享,可在线阅读,更多相关《JSP在线聊天室的设计.docx(37页珍藏版)》请在冰豆网上搜索。

JSP在线聊天室的设计.docx

JSP在线聊天室的设计

中南林业科技大学

实训报告

设计名称:

JSP聊天室

专业班级:

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

系(院):

计算机与信息工程学院

设计时间:

2012年上半学期11——18周

设计地点:

电子信息楼609

 

jsp在线聊天室

【引言】

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

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

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

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

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

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

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网站设计技术、Dreamweaver、MyEclipse、sqlserver后台数据库等软件,这些均可在网上下载获得,注册码且不涉及商业盈利问题,因此,在经济方面可行。

2.3社会因素可行性分析

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

不会违反相关法律法规。

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

Jsp在线聊天室,实现了一对一,一对的多,多对多的聊天,非常方便.

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

3需求分析

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

通过该聊天室,用户可以通过设置不同的用户名和密码以各种不同的身份进入聊天室,用户可以在聊天室中发送信息,也可以和指定的聊天对象用户私聊,还可以对发送的信息进行动作、颜色等方面的限制。

还应具有当有新用户进入聊天室时,实时更新在线用户的功能。

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

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

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

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

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

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

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

●新用户可以注册

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

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

●实时更新在线的用户

4系统概要设计

4.1系统功能模块图

4.2系统流程图

 

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

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

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

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

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

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

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

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

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-generatedmethodstub

Connectionconn=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-generatedcatchblock

e.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.

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

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

left.jsp

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

head.jsp。

●中间框架:

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

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

●右边的框架:

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

right.jsp。

6.2用户注册模块设计

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

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

用户注册页面:

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

用户注册

用户名:

none">

密码:

确认密码:

none">

邮箱:

none">

性别:

男  

6.3聊天者发言模块设计

该模块的主要作用是实现聊天者以各种表情、各种身份、不同颜色的文字对不同的用户发送聊天信息。

当用户以正确的用户名和密码登录聊天室后就可以通过聊天者发言的功能,发送聊天信息。

实现发言功能的程序为send.jsp。

其相关代码为:

intwordslen=0;

Stringlinewords="";

Vectorchatwords=(Vector)application.getAttribute("chatwords");

Stringfontcolor=request.getParameter("fontcolor");

Stringphoto=request.getParameter("photo");

if(fontcolor==null){fontcolor="black";}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1