ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:2.44MB ,
资源ID:5979730      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5979730.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JSP在线聊天室的设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JSP在线聊天室的设计.docx

1、JSP在线聊天室的设计中南林业科技大学实训报告 设计名称: JSP聊天室 专业班级: 09级计算机科学与技术(对口)1 班 系 (院): 计算机与信息工程学院 设计时间: 2012年上半学期1118周 设计地点: 电子信息楼609 jsp在线聊天室【引言】网上聊天室是网络用户最喜欢的Web应用程序。借助聊天室,用户可以即时地互通信息,交流思想。聊天室程序设计根据需求的不同可繁可简。本系统实现的是一个具有简易功能的聊天室,是使用JSP技术开发的动态网站。系统开发的任务主要包括前台界面设计和后台数据库管理系统设计。本系统采用JSP作为开发工具,后台数据库采用SQL server数据库设计,利用SQ

2、L server数据库访问技术实现对数据库的各种管理操作,实现聊天室的聊天功能和显示在线聊天用户信息等功能1 网站建设目的及网站类型定位1.1 网站建设目的随着Internet的普及和宽带网络技术的成熟,越来越多的用户进入到网络世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务,享受网络带来的便利和办公的高效。与此同时,一个新型的Web应用程序为网民之间提供了一个即时互通信息的功能和场所,这就是聊天室。聊天室在网络早期就开始盛行了,不论是BBS、IRC都有类似的网上聊天机制。聊天室为网友提供了实时对话的渠道,是网络上极为流行的一种服务。聊天室适用于网上会议或闲聊的场合。聊天室为网友提供

3、了较好的交友环境,网友之间互相以文字交谈,在形式上类似笔友的性质,却大大节省了书信往返的时间。1.2 网站类型定位网上聊天系统网站 2 可行性分析可行性分析是依据初步调查的结果作出系统开发可行性与否的结论的过程。可行性分析是从技术可行性、经济可行性和运行可行性三个方面考虑的,论证系统开发是否可行。2.1 技术可行性分析为实现系统目标,需要技术保证。此系统开发所需要的技术主要有计算机硬件、软件技术、系统开发人员的水平、用户管理与使用的能力等。通过比较ASP和JSP这两种传统的动态网页制作技术,觉得JSP具有明显的优势:(1)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,到处运行

4、”的特点,一次写入之后,可以运行在任何具有符合Java语法结构的环境中,取代过去单一开发。而ASP主要工作环境是微软的IIS应用程序,又因Activex对象具有平台特性,所以ASP技术不能很容易的实现跨平台的服务器的工作。(2)ASP仅支持组建对象模型COM,而JSP技术提供的组建都是基于JavaBean技术或JSP标签库。除此之外,JSP还有组件的可重用性,标签的可扩充性和易于维护等特点。如上的分析比较不难看出,JSP技术编写的程序运用要更加灵活,可扩展性更强,在现有技术条件下,能够完成功能目的。鉴于以上分析,系统开发在技术上是完全可行的。2.2 经济可行性分析 本系统开发在软件方面主要使用

5、了JSP网站设计技术、Dreamweaver、MyEclipse 、sql server后台数据库等软件,这些均可在网上下载获得,注册码且不涉及商业盈利问题,因此,在经济方面可行。2.3 社会因素可行性分析本系统仅作为实习项目而提出。不会违反相关法律法规。且本系统能保证在当前的操作环境下正常运行。Jsp在线聊天室,实现了一对一,一对的多,多对多的聊天,非常方便.综上所述,系统开发完全可行。3 需求分析这是一个具有最简单功能的聊天室。通过该聊天室,用户可以通过设置不同的用户名和密码以各种不同的身份进入聊天室,用户可以在聊天室中发送信息,也可以和指定的聊天对象用户私聊,还可以对发送的信息进行动作、

6、颜色等方面的限制。还应具有当有新用户进入聊天室时,实时更新在线用户的功能。聊天室的特点就是要求能够实时显示出聊天者所谈的内容。即在同一个聊天室的使用者,可以在短时间内立刻看到其他聊天者的发言。作为用户喜欢的Web应用程序,出了具有能够实时显示出聊天者所谈论的内容外,还应具有以多种方式发布信息的功能。JSP正好可以满足聊天室的这种要求,它可以快速地创建和显示Web页面的动态内容。总的来说,本聊天室主要实现了以下的功能: 用户输入帐号,密码登录聊天室 把用户的聊天信息写入数据库 新用户可以注册 用户聊天室可以选择聊天对象(私聊,群聊) 聊天室不断地对数据库进行刷新、读取 实时更新在线的用户4 系统

7、概要设计4.1 系统功能模块图4.2 系统流程图5 系统需要解决的主要问题在规划设计聊天室时,首先要确定好谈话内容存储方式,JSP可以用三种形式实现聊天内容的存取:1)用全局变量Application和Session对象实现。这种形式速度快、效果好,但较消耗系统资源。2)用读写数据库的方法实现。这种方法相对简单,但会使数据库负担重。本系统采用的就是该方法。本设计选择了sql server数据库来存储谈话内容。3)用读写文本文件方法。该方法适合简单的聊天室。另一个设计聊天室时要考虑的因素就是聊天室成员的动态刷新。6 系统前台模块设计6.1 用户登录模块本系统需注册,输入用户名和密及即可。登录成功

8、后,显示在线用户列表,可以发送信息,在线用户表中增加刚才登录的当前用户的名字。如图所示:图6-1 用户登录界面其代码为:1. 2. 欢迎来到HH聊天室! 3. 4. 5. 6. 7. 用户名: 8. 密码:9.       记住用户名    10. 自动登录11. 12. 13. 14. 15. 16. 用户从登陆页面进入聊天室时,如果登录失败则显示出错原因。 图6-2 用户名或密码为空从界面获取数据,将数据封装在UserVo中,将UserVo作为一个整体的对象传递给Dao层,在其Dao层,根据

9、传递过来的数据从数据库中进行查找 ,如果数据库中存在,刚登录 成功 ,否则提示登录 错误。实现登录界面验证的相关代码为:(user.action)1. public void login(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException 2. UserVo user = new UserVo();3. String user_name=new String(request.getParameter(loginname).getBytes(ISO-8859-1

10、),utf-8);4. user.setUser_name(user_name );5. user.setUser_pwd(request.getParameter(loginpwd);6. try7. int usertype =service.queryUser(user);8. if( usertype 0 )9. java.util.Date nowdate=new java.util.Date();10. String chattime=nowdate.toLocaleString();11. InOnLineUserVo vo=new InOnLineUserVo();12. vo

11、.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. int flag=service.add_onlineuser(vo);19. return; else

12、/ Login.jsp20. response.getWriter().println( alert(登录失败!);location=index.jsp; );1. ii. catch( Exception e )1. e.printStackTrace(); UserDao对应的代码为:public int queryUser(UserVo user) / TODO Auto-generated method stub Connection conn = ConnTools.conn; int count = 0; try PreparedStatement stmt = conn.prep

13、areStatement( Constants.QUERY_USER ); stmt.setString( 1, user.getUser_name() ); stmt.setString( 2, user.getUser_pwd(); ResultSet rs = stmt.executeQuery(); if( rs.next() ) count = 1; catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); /*finally ConnTools.close( conn ); */ re

14、turn count; 验证成功后进入到的主界面图6-3 聊天室主界面系统的主界面是一个框架页面frame.jsp,定义如下:1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 浏览器不支持框架多页面显示,建议使用IE v4.0以上版本。谢谢你的支持!14. 15. 16. 此框架页面由四部分组成: 左边的框架, 用来显示各种功能 ,打开的网页文件 为:left.jsp 上面的框架,用来显示欢迎聊天者进来聊天,打开的网页文件为:head.jsp。 中间框架:其本身是一个frame框架,为发送、接收信息。打开的网页文件 为send.jsp;receive.jsp

15、 右边的框架:用来显示所有在线聊天用户的信息,打开的网页文件为:right.jsp。6.2 用户注册模块设计该模块的主要作用是实现用户注册。当用户输入注册信息内容时,系统会根据用户输入的内容通过ajax进行验证,验证成功后,提示用户注册 成功,否刚提示注册失败,返回到登录 界面 。 用户注册页面:实现用户注册的及ajax验证的相关代码为: /创建 XHR function createXHR() var XHR; if( window.XMLHttpRequest ) XHR = new XMLHttpRequest();/非IE else if( window.ActiveXObject )

16、 try XHR = new ActiveXObject( Msxml2.XMLHTTP );/新的IE catch(e) XHR = new ActiveXObject( Microsoft.XMLHTTP );/旧的IE return XHR; /通过编码查询 function getValue(loginname) var loginname = document.f.loginname.value; /获取XHR对像 var XHR = createXHR(); /alert( XHR ); var url = user.do?method=validate_User&users_na

17、me=+loginname+&flag=+Math.random(); XHR.open( get,url,true ); var span = document.getElementById( span ); /通过回调函数监听与服务端通信的状态 onreadystatechange XHR.onreadystatechange = function() if( XHR.readyState = 4 & XHR.status = 200 ) var flag = XHR.responseText; if( flag0) span.innerHTML = 用户名已存在!; else span.

18、innerHTML = 用户名可用!; span.style.display = block; ; XHR.send( null ); function validate_Pwd() var password=document.f.loginpwd.value; var password_1=document.f.loginpwd1.value; var span_pwd = document.getElementById(span_pwd); if(password!=password_1) span_pwd.innerHTML = 俩次密码不同!; else span_pwd.innerH

19、TML = 密码验证通过!; span_pwd.style.display = block; function validate_email(mail) var _reg =/(a-zA-Z0-9_-)+(a-zA-Z0-9_-)+(.a-zA-Z0-9_-2,3)1,2)$/; if(_reg.test(mail) span_email.innerHTML = 邮箱验证通过!; else span_email.innerHTML = 邮箱格式不正确!; span_email.style.display = block; 用户注册 用户名: 密码: 确认密码:邮箱: 性别:男  &n

20、bsp; 女 6.3 聊天者发言模块设计该模块的主要作用是实现聊天者以各种表情、各种身份、不同颜色的文字对不同的用户发送聊天信息。当用户以正确的用户名和密码登录聊天室后就可以通过聊天者发言的功能,发送聊天信息。实现发言功能的程序为send.jsp。其相关代码为:int wordslen =0; String linewords=; Vector chatwords = (Vector) application.getAttribute(chatwords); String fontcolor= request.getParameter(fontcolor); String photo=request.getParameter(photo); if (fontcolor=null) fontcolor=black;

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

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