java在线聊天项目ppt_基于JavaEE的在线聊天聊天.ppt

1cbb08320638fa5f411de9423ba0a513.gif基于JavaEE的在线聊天聊天.ppt

聊城大学论文答辩,指导教师,学生姓名,年 月,基于JavaEE的在线聊天聊天 系统的设计与实现,论文提纲,,选题背景、研究内容,1,JavaEE技术介绍,主要创新,,总结及展望,5,参考文献,聊天系统的实现,选题背景,随着Internet的普及,越来越多的人们建立了自己的web网站,人们通过网站可以展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。 在线聊天是在一个网络空间进行的交谈,通过网上聊天可以实现人与人之间在线即时的交谈沟通。同时达到资源共享,在一般情况下,聊天系统的设计主要是C/S两层结构和B/S三层结构,本系统采用B/S系统。,聊天系统选题,研究内容,多层体系结构,客户显示层为客户提供应用服务的图形界面 业务逻辑层执行应用策略和封装应用模式 数据持久层定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。,研究内容,基于SUN的JavaEE解决方案,,JavaEE体系结构图,研究内容,实现在线聊天系统。 JavaEE(Struts2,Spring,Hibernate)轻量级框架的无缝整合,JavaEE技术,框架选取 使用框架有如下几个优势 (1)提高生产效率 (2)具有更稳定、更优秀的性能。 (3)更好的保值性。,JavaEE技术,框架选取(2) 通过多个项目的经验积累以及对应用架构的分析比较,使用了轻量级框架的组合形式。 表现层使用Struts 2框架。 业务逻辑层使用Spring框架。 数据持久层使用Hibernate框架。,JavaEE技术,MVC设计模式,将程序分成相对独立,而又能协同工作的三个部分。通过使用MVC 架构,可以降低模块之间的耦合,提供应用的可扩展性。,JavaEE技术,Struts 2框架,Struts 2 作为MVC 模式的典型实现,核心控制器FilterDispatcher根 据请求决定调用何时的Action,JavaEE技术,Spring框架,Spring 是企业应用开发的“一站式“选择,并贯穿表现层、业务层及持久层。然而, Spring 并不想取代那些已有的框架,而与它们无缝地整合。,JavaEE技术,Spring的核心IoC容器 该容器负责创建、管理应用组件。从前端的控制器,以及底层的DAO组件,都处于Spring容器的管理下,以一种低耦合的方式运行。,JavaEE技术,Hibernate框架 ORMObject Relation Mapping完成面向对象的程序设计语言与关系数据库的映射。基于ORM 框架完成映射后,既可利用面向对象程序设计语言的简单易用性,又可利用关系数据库的技术优势。 Hibernate是目前最流行的ORM框架,其采用常优雅的方式将SQL 操作完全包装成对象化的操作。 其具有以下特征 轻量级封装,避免引入过多复杂的问题,调试容易,减轻程序员负担。 具有可扩展性, API开放。功能不够用时,可以自己编码进行扩展。,JavaEE技术,整合思路 Spring IoC容器就是一个工厂,该工厂负责生成、管理系统中的所有组件,其提供了依赖注入方式,使用工厂模式,无需自己管理DAO组件和业务逻辑组件。 Spring框架作为中间层框架,向上整合Struts 2框架,向下整合Hibernate框架。,JavaEE技术,Spring与Struts 2的整合 借助于Spring的插件,可以简单的完成Spring和Struts 2的整合。 让Spring来管理控制器。,JavaEE技术,Spring与Hibernate的整合 Spring利用IoC 特性的支持,如SessionFactory 的注入Hibernate 整合问题. Spring 与Hibernate 的整合能简化持久层的访问,大大提高了开发效率。其次重点介绍了HibernateTemplate 的使用,包括Spring 对Hibernate DAO 支持,以及利用IoC 特性简化DAO 开发步骤。,聊天系统的实现,系统运行示意图,聊天室的实现,系统模块划分图,聊天室的实现,模块功能分析 (一)用户注册登录模块 新用户在使用该聊天室系统时,必须先进行注册新用户操作,后台将注册信息添加到数据库中。再进行登录;当用户名与密码匹配成功,即可进入聊天室系统。 (二)在线用户显示模块 当用户登录进入系统后,该页面实现在线用户的统计,并将在线用户依次显示出来。 (三)用户交流聊天模块 该模块主要负责发送信息内容,选择聊天对象;除此之外,可以修改聊天内容的字体颜色以及发送的表情。发言的颜色和发言的表情通过下拉式组合框实现。发言内容书写完毕后。通过点击“发送”按钮,发送聊天内容。 (四)聊天信息显示模块 当用户选择聊天对象并发送聊天内容后,显示出当前发送的内容以及之前的历史聊天内容。 (五)系统消息显示模块 系统消息提示所有用户,聊天室的文明守则,以及当其他用户进入、情况。 (六)管理员模块 对不规范用户踢出操作 (七)辅助模块,聊天室的实现,数据库设计 E-R图该系统只存在用户一个实体,用户的属性包括id、用户名、密码、级别。,聊天室的实现,详细设计 (1)用户注册登录,注 册 流 程 图,聊天室的实现,详细设计 (1.1)用户注册 用户注册页面用户进入注册页面后, 根据要求,填写表单中各项数据, 单击注册按钮后,将输入的内容 通过异步刷新的方式传递给后台处 理页面register.action进行写入数据库 处理。其中,在进行表单传递的时候, 系统还调用了JavaScript的function check()函数对填入表单的数据进行 检验,一旦发现表单中有一个数据项 不符合要求,系统便会弹出出错信息。 提交到UserAction进行与数据库里的 数据进行对比,如果没有将信息添加 到数据库,如果存在则显示已存在, 用户名“/,聊天室的实现,详细设计 (1)用户注册登录,登 录 流 程 图,聊天室的实现,详细设计 (1.2)用户登录 用户在聊天室登录界面填入正确的注册信息,单击登录,系统将自动把用户填入的“帐号”、“密码”于数据库中存放的用户注册信息进行比对验证。系统进行用户身份验证时,首先利用Request对象,将用户填入的“帐号”(即用户名)、“密码”传递给预先定义的变量,再使用Select语句,将变量值与用户信息表进行比对,同时调用filter过滤器看该用户是否存在,是否已经登录,List list dao.query“ from User where username“, username; User user User list.get0; ifpassword.equalsuser.getPassword session.setAtrribute“user”, User;,,,聊天室的实现,详细设计 (2)主界面 聊天室主界面,该部分是聊天室的核心部分,该界面是主要分为四个部分页面头部,用户的显示(以及其相应的退出操作),左边是在线人员列表区,右边是聊天内容显示区,底部是用户发言区 main.jsp), 页面头部 , 在线人员列表 , 在线人员列表 ,用户发言区,聊天室的实现,详细设计 (2.1)显示在线人数列表,显 示 在 线 人员 流 程 图,聊天室的实现,详细设计 (2.1.1)显示在线人员列表 在开发聊天室程序时,为了让用户了解在线用户,并与各用户进行交流,需要提供实时获取并显示在线人员列表的功能. 在实现在线人员列表显示时,为了实时显示,需要Ajax技术 (1)在main.jsp页面编写JS函数,showOnline() var loadnew AjaxReques“online.jsp”nocache”new Date.gettime,deal_online,onerror”,”GET”; ; 2创建online.jsp.在文件中,主要将保存到集合类中的在线人员列表显示在页面。,聊天室的实现,详细设计 (2.2)用户发言,发送消息 流 程 图,聊天室的实现,详细设计 (2.2.1)用户发言 实现用户发言的具体步骤 (1)在页面底部添加用于收集用户发言信息的表单和表单元素 (2)编写自定义的JS函数send,用于调用Ajax实现用户发言 (3)在相关的Servlet类中,添加发送消息的方法sendMessages,在该方法中,首先获取用户发言相关信息然后对中文进行,转码,然后判断保存当天聊天信息的XML文件是否存在,最后将信息存入xml中,并重定向到网页 sourceMessage ““ from ““ face “对colorgreen“ to “说“ ““ content “(“ sendTime “)“;,聊天室的实现,详细设计 (2.3)显示聊天内容,显示聊天内容 流 程 图,聊天室的实现,详细设计 (2.3.1)显示聊天内容 实现显示内容的具体步骤如下 (1)编写JS自定函数showContent,用于实例化Ajax对象 2在servlet类中,编写getMessage方法,用于将页面重定向到显示聊天内容的jsp页面 (3)编写显示聊天内容的jsp页面,在该页面只需要应用EL表达式将返回的执行结果输出即可,try request.getRequestDispatcher“content.jsp“.forwardrequest,response; catch Exception ex Logger.getLoggerMessages.class.getName.logLevel.SEVERE, null,ex;, message,,,聊天室的实现,详细设计 (2.4)退出修改,退出修改 流 程 图,聊天室的实现,详细设计 (2.41)退出修改 编写自定义JS函数exit,用该函数重定向到leave。jsp页面 funcation Exit window.location.href”leave.jsp”, alert“欢迎下次登录”; ,密码修改 跳转到密码修改界面,与数据库中的用户名进行比对,然后对密码进行修改 String sql“update chatuser set password“123” where username“cgy”; //SQL语句 state.cuteUpdatesql; //将sql语句上传至数据库执行,创新内容,论文特点,1.系统的功能设计比较简洁,后台设计选择了JavaEE技术,基于组件的分层设计使系统结构清晰,负载均衡,且具有良好的扩展性,易于维护。 2.系统采用了MVC模式进行开发,做到了视图、控制和模型的分离。提高了设计的规范性,实现了各层间连接的松耦合。 3.在表示层,业务逻辑层,数据持久层分别引入了Struts2、Spring和Hibernate,通过松耦合使三者有机结合在一起,提高了系统的可扩展性。,总结与展望,参考文献,1耿祥义,张跃平JAVA 2实用教程M北京清华大学出版社,2004 2王立UML与软件工程基础M北京高等教育出版社,2004 3蔡剑,景楠Java Web应用开发M 北京高等教育出版社,2005. 4叶达锋Eclipse编程技术与实例M北京人民邮电出版社,2006 5邱哲,马斗Struts设计开发大全M北京清华大学出版社,2006. 6王中兵Java Web主流框架整合M北京电子工业出版社,2008 7范斯瓦尼MySQL 完全手册M

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值