基于JSP技术和Ajax技术实现的网络聊天室的设计239086.doc
《基于JSP技术和Ajax技术实现的网络聊天室的设计239086.doc》由会员分享,可在线阅读,更多相关《基于JSP技术和Ajax技术实现的网络聊天室的设计239086.doc(28页珍藏版)》请在三一文库上搜索。
1、摘 要 I 编号 淮安信息淮安信息职业职业技技术术学院学院 毕毕业业论论文文 题 目基于 JSP 技术和 Ajax 技术实现的聊天室设计 摘摘 要要 随着互联网的飞速发展,聊天室这种比较古老的交流方式已经被众多人所 认可。通过聊天室在线聊天已成为网络上人与人之间的沟通、交流和联系的一 种方式。为此,越来越多的网站开始提供在线的聊天功能。与此同时,聊天室 也以其方便、快捷、低成本等优势受到众多企业的亲睐,很多企业的网站中也 加入了聊天室,以达到增进企业与消费者、消费者与消费者之间的相互交流和 联系的目的。 传统的互联网络聊天室,以显示在线用户和用户信息的实时传送,需要定 期刷新页面。刷新页面,不
2、仅要占用一定的系统资源和网络带宽,也会出现 “白屏”现象,这对良好的用户体验是非常不利的。 Ajax 是一个新的 web 应用, 使用 Ajax 技术的发展不仅解决了页面刷新带来的白屏问题,也减少了对服务器 和网络传输的负载。 我做的这个设计就是通过 JSP 和 Ajax 实现的无刷新聊天室。 关键词:JSP;Ajax;网络聊天室;无刷新 Abstract III Abstract With the rapid development of Internet, chat rooms that compare the old way of communication has been recog
3、nized by many people. By online chat chat room has become the Internet interpersonal communication, a way of communication and contact. Therefore, more and more websites started offering online chat. Chat rooms, meanwhile, also with its convenient, fast, low-cost advantages such as affected by many
4、enterprises, many enterprise site has joined the chat room, in order to achieve between the enterprises and consumers, customers and consumers to communicate and contact purpose. Traditional Internet chat rooms in order to display online users and user messages sent in real time, the need to regular
5、ly refresh the page. Page refresh not only to take up some system resources and network bandwidth, but there is also a “black and white“ phenomenon is very detrimental to a good user experience. Ajax is a new web application, the chat room system using Ajax technology development not only solved the
6、 page refreshes bring black and white issues, but also reduce the load on the server and network transmission. I do this is designed by the JSP and Ajax no refresh the chat room Keywords: Jsp;Ajax;Internet chat rooms;Nofresh; 目 录 目目 录录 摘摘 要要I Abstract.II 第一章第一章 绪论绪论.1 1.1 系统现状.1 1.2 国内外主要研究成果.1 1.3
7、课题的主要内容及章节安排.3 第二章第二章 系统开发环境和关键技术系统开发环境和关键技术.4 2.1 系统的开发环境.4 2.2 APPLICATION 对象.4 2.3 AJAX 技术.5 2.4 监控用户在线状态6 2.5 JSP 技术.6 第三章第三章 系统分析与设计系统分析与设计.9 3.1 系统分析.9 3.1.1 聊天室功能需求分析.9 3.1.2 聊天室功能性能分析.9 3.2 系统运行环境.9 3.3 系统预览和项目流程图.10 第四章第四章 系统的实现系统的实现.12 4.1 用户登录模块.12 4.2 聊天室主体功能模块.13 4.3 实时获取并显示在线人员列表.14 4.
8、4 实现用户发言.15 4.5 实时显示聊天内容.19 4.6 退出聊天室.20 第五章第五章 总结与总结与致致谢谢.22 参考文献参考文献.24 第一章 绪论 1 第一章 绪论 1.1 系统现状 在人们的生活中,信息技术的飞速发展正在发生深刻变化。人与人之间的 对话是不再局限于面对面,网上聊天室提供了信息交流的另一个地方。传统的 聊天室,以显示在线用户和用户信息的实时传送,需要定期刷新页面。刷新页 面,不仅要占用一定的系统资源和网络带宽,也会出现“白屏”的现象,这对 良好的用户体验是非常不利的。而使用 Ajax 技术开发的聊天室,不仅可以解决 页面刷新带来白屏的问题,也减少了对服务器和网络传
9、输的负载。 随着互联网应用的普及,web 应用以其良好的扩展性、易于部署、维护方便 等优点逐渐成为软件开发的主流。早期的 Web 应用采用的是同步交互过程,即 用户首先向 Web 服务器提交一个请求或行为呼叫,服务器接收到客户请求后执 行相应处理操作,最后向用户返回处理结果。服务器在处理请求时,用户处于 等待状态,有时如果超过了服务器响应时间,甚至返回“页面不可用”等提示。 另外,当我们只想改变页面的部分数据时,用户的请求会导致服务器重新返回 整个页面内容,包括那些没有改变的数据,这不但增加了网络传输的数据量, 还影响了客户端的响应时间,为什么我们不能“按需”获取数据呢?Ajax 技术可 以很
10、好的解决上述 web 应用中存在的问题。Ajax 技术是 Web2.0 的核心之一,本 质上是一种 RIA(RichIllternet Application)技术。RIA 是指具有高度互动性 和丰富用户体验的网络应用程序,它既具有消息确认、无刷新页面之下提供快 捷的界面响应、拖放式等桌面应用程序的特点,同时又具有部署简单、跨平台 等 Web 应用程序的特点。Ajax 技术提供了客户端与服务器异步通信的能力,从 而使用户从请求一响应一再请求的循环中解脱出来,同时降低了网络传输的数 据量,提高了客户端的响应速度,改善了用户使用体验,使得 web 应用可以接 近甚至达到类似“桌面应用”的效果。 而
11、 Ajax 有上述优势,例如 Google Suggest,Gmail,Google Map 等等交互 程序中都使用了异步通讯技术。不知不觉中,Ajax 应用程序占据了整个网络的 每一个角落。纵观所有的应用程序,更好的用户体验是其的共同目标,在浏览器 中实现桌面用户界面体验是 Web 开发的一种趋势。Ajax 技术从谷歌到 IBM,甲 骨文,雅虎,BEA 系统公司,红帽,Novell 公司获得业界众多的 IT 巨头的支持, 其快速发展是值得期待的。技术创新和标准化是 Ajax 技术发展的必由之路,而 W3C 已成立了工作小组,专门从事 Ajax 的规范发展工作。 1.2 国内外主要研究成果 A
12、jax技术的精髓是用异步交互替代了传统的同步交互,所以当用户操作时间 大于服务器响应时间的时候,使用 Ajax的效果非常明显。而当程序性能的瓶颈在于 服务器响应时间的时候, Ajax 无法解决程序运行缓慢的问题。 因此,Ajax 是更适合 淮安信息职业技术学院毕业设计论文 2 在网络上的互动频繁轻量级的应用程序。在 Ajax 开发的应用程序中,Google 公 司成功将 Ajax 技术应用到他们的商业产品。Google 地图和 Google Suggest 都 应用了这项技术。当用户使用谷歌地图查看地图(包括地图的缩放和平移地图) ,并没有提交任何请求到服务器,你就可以浏览到地图的各个部分。在
13、这里, 它是 Ajax 技术的应用,使得地图是不刷新的方式,但每个显示原始数据的基础 上以增量方式显示 。在这种方式下,用户觉得就像是在自己的计算机上查看本地 的地图。微软也在积极开发 Ajax 应用程序:它将 Ajax 技术应用到的 MSN Space 上面。当用户使用 MSN Space 提交回复评论时,浏览器会暂时停顿,然后刷新 显示用户提交的评论,这是应用了 Ajax 的原理。目前,Ajax应用最普遍的领域 是GIS-Map 方面。GIS的区域搜索强调快速响应, Ajax 的特点正好符合这种要求。 在应用Ajax 技术开发过程当中,处于核心位置的 Ajax引擎实际上是一些复杂的 Jav
14、aScript程序。 随着网络应用和界面表现的复杂化,使用面向过程的 JavaScript 语言描述表现逻辑将会变得很困难。同时 , JavaScript的兼容性和调试都会成为使 用Ajax 技术的一个障碍。为了解决这些问题,开发人员已经开发出了一些基于Ajax 技术的框架,方便了开发人员使用 ,有利于Ajax 技术的进一步推广。当然,任何技 术都是有局限性的, Ajax 也不例外。 Ajax更新页面无需刷新重载,这也使传统的一 些用户交互行为变得不可用,如后退、前进和刷新等。另外,移动设备(如手机、 PDA 等)现在还不能很好的支持Ajax,Ajax 对流媒体的支持也没有Java Apple
15、t和 Flash这样成熟的技术好。 因此,一些辅助的平台和插件的开发也将是 Ajax技术应 用当中重要的一部分。 Ajax 把大量的运算从服务器转移到了客户端浏览器,这意味着浏览器将承受 更大的负担,而不再是简单的文档显示功能。 聊天室作为一个能够吸引人气的栏目,在现代网络应用中随处可见。它的作 用是给不同的用户提供一个交流信息的场所。用户在聊天室中可以发布信息, 就如同所有用户都在一个个真正室内聊天一样。 传统的聊天室程序一般设置在客户端的网页自动刷新。刷新在这样的数据 会带来一些缺点,例如:每次刷新服务器应该重新获取数据,大大提高了服务 器上的负载,此刷新过程正在进行,这将是非常严重的影响
16、服务器的性能;每 次刷新过程中会产生大量无用数据,不断刷新页面,用户在客户端方面,将导 致屏幕闪烁。解决屏幕闪动最重要的一条原则就是,将改动的地方显示到客户 端,而那些不需要改动的地方则尽量不要让用户感觉到变化。一个更好的解决 办法是使用 Ajax 技术的无刷新聊天室应用。 现在的聊天室通过四个主要功能模块实现了聊天室中用户登录、注销、环 境设置、发送消息、读取消息和查看在线用户列表等。聊天室系统为用户提供 了聊天场所,操作员可对后台网站的风格、广告链接等进行设置;用户可以根据 个人的习惯选择字体、文字颜色和表情等;前台聊天室具有私聊的功能,私聊的 第一章 绪论 3 内容仅供私聊双方查看;聊天
17、者可自己手动清除聊天内容。操作员可通过客户 端处理模块获取界面元素从而得到聊天内容或与服务器交互更新客户端页面响 应用户事件。服务器端响应模块可提供聊天室界面元素信息获得提交数据。 1.3 课题的主要内容及章节安排 现在,多渠道的信息源、网络化的数据分布、快捷医用的交互操作、智能 化的分析决策等特点越来越成为衡量优良聊天软件的关键,因此,该网络聊天 室是基于jsp语言运行于MyEclipse Java平台上,利用的技术主要是,使用配置 文件作为数据管理。为实现和方便客户端间通信,在客户端进行了人性化的界 面设计,用户可以输入用户名,登陆界面,改变字体颜色等功能。 第一章对本次课题的背景及意义、
18、课题现状、课题内容与目标进行了深入 的阐述。 第二章介绍了系统的开发环境和关键技术,例如 Ajax 技术、JSP 技术、滚 屏显示技术等等。 第三章是系统分析与设计。将对系统进行需求分析,对组成系统的功能模 块进行划分,对每个模块将要实现的功能进行阐述和说明。对系统的结构进行 设计,设计共享数据结构。 第四章是系统实现,分别介绍了服务器端和客户端每个功能的执行过程, 画出主要模块的流程图。 第五章是总结与致谢。 最后,对本设计进行归纳总结,全面阐述本次设计中的体会。 第二章 系统开发环境和关键技术 4 第二章 系统开发环境和关键技术 2.1 系统的开发环境 MyEclipse Java 如图
19、1-1 系统开发环境。 图 1-1 系统开发环境 2.2 Application 对象 Application 对象是一个环境上下文(context)对象,用于保存应用程序 中的所有公有数据,服务器启动并且自动创建 Application 对象以后,只要没 有关闭服务器,Application 对象将一直存在,并且可以被所有用户共享。 Application 对象为 JSP 提供的内置对象,可以直接使用,但在 servlet 中, 需要通过以下代码来获取该对象的实例,才可以使用该对象。 ServletContext application=getServletContext(); Applic
20、ation 对象提供了很多方法,我的设计中,只使用了 setAttribute()和 getAttribute()方法。 首先来介绍 setAttribute()方法,该方法用于将一个对象绑定到一个属性 上,该属性在整个 Servlet 上下文中都适用。setAttribute()方法的语法格式 如下;Application. setAttribute(String name,Object object); 第二章 系统开发环境和关键技术 5 参数说明:name:用于指定的一个属性名该属性在整个 Servlet 上下文都 适用。object:用于指定属性值。 如本设计中的,设置保存聊天信的 A
21、pplication 对象的属性的具体代码如 下: application。setAttribute(“message”.sourceMessage); 下面我们再来介绍 getAttribute()方法,该方法用于返回 Application 对 象的指定属性的值。如果不存在该属性,则返回 null。getAttribute()方法的 基本语法如下: Application。getAttribute(String name);参数说明:Name:用于指定 一个属性名。 本设计中,设置获取聊天信息的 Application 对象的属性的具体代码如下: StringsourceMessage=a
22、pplication.getAttribute(“message”).toString(); 2.3 Ajax 技术 Ajax 是一种创建交互式网页的 web 开发技术。Ajax 的一个非常成功的案例 就是 Google,当用户在 Google 的搜索输入框中输入关键字的时候。他会提示与 关键字相关的另一些关键字。用户可以对自己喜欢的一些关键字进行选择,这 样既方便了用户定位自己的需要,又可以很好的引导搜索结果。 在 Ajax 应用中,页面中用户的操作将通过 Ajax 引擎与服务器进行通信,然后 将返回结果提交给客户端页面的 Ajax 引擎,而有 Ajax 引擎决定这些数据插入 到页面的任何位
23、置。 Ajax 的最大特点的就是很好的用户体验,大多数使用 Ajax 技术的 web 应用 程序,比同类没有使用的 web 应用程序的用户体验要好的多,尽管他们都能完 成相类似的功能。例如,一个普通的用户注册页面,如果用户希望知道注册的 用户名是否已经注册过了,那只能等提交表单到服务器以后并重新来到一个新 的页面,才知道用户名是否可用,这种情况每次单击按钮都会导致几秒钟的延 迟和屏幕刷新,但事实上页面改动的地方却只有很少一部分,Ajax 正在打破这 种状况,是页面再无刷新的情况下,完成某些与服务器的交互功能。大大提高 了用户的体验感。 2,Ajax 不是单一的技术,而是四种技术的集合,有 ja
24、vascript ,css,Dom XMLHttpRequestAjax 程序是用 javascript 语言写成的。Ajax 程序 可以使用 CSS 来控制页面的样式。DOM,指的是文本对象模型,它是一个 web 页 面的对象模型,可以用 javascript 来操作的页面结构。XMLHttpRequest 对象用 来在后台向服务器端发送请求,数据的格式可以使任何的文本格式,如 XML、纯 文本。他也是 Ajax 进行异步通信的 关键元素。 这四种技术各司其职,其中 javascript 是其他三中的粘合剂,javascript 淮安信息职业技术学院毕业设计论文 6 可以通过修改 DOM 的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JSP 技术 Ajax 实现 网络 聊天室 设计 239086
链接地址:https://www.31doc.com/p-2182687.html