`
kakaluyi
  • 浏览: 444319 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

一个基于Java和ajax得Web层聊天室

阅读更多

一个基于Java和Ajax的聊天室。主要想和大家分享一下自己设想的开发机制并向大家求经。

先说一下这个聊天室得功能:

    1、聊天室可以实现如聊天对话,表情发送,字体变色,昵称发言,查看聊天记录等正常聊天室得功能。

    2、这个聊天室可以实现类似分房间似得聊天,也就是说您如果进入得是A房间,那么您只能看到A房间用户发送得信息,如果您登陆得是B房间,那您只能看到B房间得信息。

    3、该聊天室提供了用户登陆数统计。

    4、基于本聊天室得开发机制,还可以实现如私人对话等的功能,扩展性还是比较强的 :)。

再说一下开发机制吧:(开发思路)

    对于基于web层的聊天室已经不是新鲜事了,但是用Java开发的还是比较少。原因可能是没有一套好的实现机制,我现在就分享一下个人开发心得,也算是抛砖引玉了,大家可以去粗取精,优化一下,希望早日能让web聊天代替老式的客户端聊天。:),不说废话了,进入正题。首先需要明确的是基于ajax的web层聊天室一定是需要用户端(浏览器端)的代码内有一个计时器,定期从server端取数据,然后反馈给客户端进行查看。这时本人处理的方式是在一个server端持久变量里面存入一个当前最大对话数--"消息索引号",该索引号用于记录当前最大的索引号数。当server端接收到用户发送的1条消息的时候,这个索引号就会自增1。然后该消息和这个索引号一起绑定到一个类似HashMap的变量中,索引号是key消息就是value,这样可以形成一个类似队列的组合。当每个浏览器用户登陆以后从该索引号中取得当前最大的索引号作为自己的初始索引号,然后再发送获取消息的命令的时候连带着这个索引号一同发送到server端,server端根据用户发送的索引号再保存全部对话的持久变量(application)中取出索引号大于用户当前索引号的全部聊天信息作为反馈内容,这样可以大量减少数据反回量。然后再把用户取得消息的最大索引返回给浏览器端,让用户保存起来作为下次消息接收的当前索引号。依次反复。

    以上这些就可以实现基础的聊天室功能,发送消息,取得消息,然后基于hashmap的特殊特性可以完成分房间记录对话,如果套入session的机制的话,可以实现私有聊天,(sessionid和消息绑定,传递给特定的session接收)。并且建立定时清空app的机制,把消息记录写入xml文件,然后再浏览器端解析xml文件,可以达到查看历史记录的目的。个人认为拓展性还是比较强的。:)

分享到:
评论
5 楼 javaeeboy 2010-10-19  
如果在线人数一旦多起来了的话,application怕是支持不了那么多的聊天信息!为什么不考虑一下socket呢?
4 楼 linkgo 2009-01-06  
      
3 楼 ximing1107 2008-12-26  
为什么不考虑用java socket+flah(或flex)开发呢
2 楼 kakaluyi 2008-10-24  
理论实时性对Web应用是不可能的,因为本来浏览器都是浏览器>---请求---》服务器--》响应---浏览器,还有我的东西是存在服务器的一个hashmap里,要用的时候到里面取
1 楼 paranoid945 2008-10-24  
定期是多长时间?
定时器是怎么实现的?
有没有延迟?
如果有延迟那就不算是实时聊天了。
另外你把东西都存在客户端了,安全性呢

相关推荐

    基于ajax的web聊天室

    【基于Ajax的Web聊天室】是一个使用Ajax技术构建的在线实时通信系统,它允许用户无需刷新页面即可进行实时聊天。Ajax(Asynchronous JavaScript and XML)的核心在于通过JavaScript异步地与服务器交换数据并更新部分...

    一个基于ajax和java缓存的聊天室

    综上所述,这个基于Ajax和Java缓存的聊天室项目是一个结合了前端交互技术、后端服务器编程、数据库管理、缓存优化和字符编码等多个IT领域的综合性实践案例,对于学习和提升Web开发技能具有很高的参考价值。

    基于AJAX的简易聊天室

    【基于AJAX的简易聊天室】是一个利用现代Web技术实现的实时交互平台,它整合了AJAX、JSP、Servlet和MySQL数据库等关键技术,旨在提供一个简洁高效的在线沟通环境。AJAX(Asynchronous JavaScript and XML)是核心,...

    基于Ajax的无刷新聊天室.rar

    在Ajax无刷新聊天室的设计中,前端界面通常会包含一个聊天历史区和一个输入框。聊天历史区使用HTML和CSS进行布局,显示已发送和接收的聊天记录。输入框用于用户输入消息,当用户按下发送键时,触发Ajax事件。为了...

    Java加Ajax的web网页聊天室程序源代码

    直接导入MyEclipse中,发布启动Tomcat,即可运行!...只是个简单的例子而已,希望能给大家带来帮助!! 你们下载了,我怎么积分都不加呢!?下不下对我都没影响,算了,说分高了,就不用下了啊!省的说哈!!

    jsp+ajax 无刷新聊天室

    【jsp+ajax 无刷新聊天室】是一种基于JavaServer Pages(JSP)技术和Ajax(Asynchronous JavaScript and XML)技术实现的在线实时交流平台。在这个聊天室中,用户无需手动刷新页面即可实时查看新消息,提高了用户...

    简单的Ajax聊天室样例(servlet+jsp)

    【Ajax聊天室】是一个基于Java Web技术实现的简单交互式应用,主要利用了Servlet、JSP和Ajax技术。这个小例子展示了如何通过Ajax实现在不刷新整个页面的情况下更新内容,提供了一个基本的在线聊天功能。 1. **...

    基于java的web聊天室

    【基于Java的Web聊天室】是一个在线实时交流平台,它利用了Java技术栈来构建一个支持多用户互动的环境。这个聊天室系统的核心功能包括用户登录验证、多人实时聊天以及管理员权限管理,允许管理员执行踢人操作以维护...

    asp.net+ajax实现无刷新聊天室

    ASP.NET和AJAX技术结合创建无刷新聊天室是一种常见的Web应用程序开发方法,它提供了一种高效、用户友好的交互体验。下面将详细讲解这个话题。 首先,ASP.NET是由微软开发的一种用于构建动态Web应用程序的框架,它...

    java web聊天室

    【Java Web聊天室】是一个基于Java Web技术实现的在线交流平台,主要利用了JSP(Java Server Pages)和Servlet技术来构建。在这个系统中,用户可以通过网页进行实时的文本聊天,实现了基本的社交功能。接下来,我们...

    基于ajax技术的聊天室实现

    在这个“基于Ajax技术的聊天室实现”项目中,我们将探讨如何使用Ajax和Servlet技术构建一个简单的聊天系统。 首先,让我们理解Ajax的核心概念。Ajax允许我们在不重新加载整个网页的情况下,从服务器获取并更新部分...

    java web网页聊天室

    Java Web 网页聊天室是一种基于Java Servlet技术构建的在线交流平台,它允许用户通过浏览器进行实时对话。对于想要学习J2EE(Java 2 Platform, Enterprise Edition)开发的初学者来说,这是一个很好的实践项目,因为...

    ajax简易聊天室

    【Ajax简易聊天室】是一个基于JSP、Ajax和Java技术实现的在线实时交流平台,它允许用户无需刷新页面即可发送和接收消息,提供了一种轻松、便捷的沟通体验。在这个项目中,Ajax起到了关键作用,它是一种在不重新加载...

    基于Ajax的聊天室

    总结来说,基于Ajax的聊天室利用了JSP和Servlet的结合,通过Ajax技术实现了无刷新的动态交互,提供了良好的用户体验。在设计和实现过程中,需要注意安全性和性能优化,确保聊天室功能的稳定和用户友好。

    基于Tomcat7、Java、Ext、WebSocket的聊天室

    这个项目是基于Tomcat7、Java、Ext和WebSocket构建的一个聊天室,旨在提供一个交互式的在线交流平台。下面将详细阐述这些技术及其在聊天室中的应用。 **Tomcat7**: Tomcat7是Apache软件基金会的Jakarta项目下的一...

    Java Web 会话 聊天室

    【Java Web 会话 聊天室】项目是一个典型的基于Java技术栈的Web应用程序,主要涉及了Java Servlet、JSP(JavaServer Pages)以及Web会话管理等核心技术。在这个项目中,用户可以通过一个简单的聊天界面进行实时交流...

    基于web的聊天室系统

    总结起来,基于Web的聊天室系统是一个综合运用Java Web技术的项目,涉及到服务器端编程、前端交互设计、数据库管理、网络通信等多个方面。通过不断学习和实践,开发者可以深入理解Web开发的各个环节,为构建更复杂的...

    一个简单的jsp聊天室(ajax技术)

    在这个项目中,我们探索了一个基于JSP和AJAX技术实现的简单聊天室。JSP(JavaServer Pages)是用于创建动态网页的技术,它允许开发者在HTML代码中嵌入Java代码,从而实现服务器端的数据处理。而AJAX(Asynchronous ...

    java web 聊天室 源码

    Java Web聊天室是一个基于Web技术实现的在线实时通信系统,主要用于用户之间的即时交流。这个项目使用了MyEclipse作为集成开发环境,它是一款强大的Java应用开发工具,集成了代码编写、调试、测试和发布等功能,方便...

Global site tag (gtag.js) - Google Analytics