高等教育]基于jsp即时聊天系统的设计与实现内容摘要:
己的标记库。 这些标记库有助于简化开发难度,减少开发时间。 JSP 技术 的 优势 总瞰 几年前,要开发一个商业性的动态站点,我们 只能用 CGI, SSI 来实现,而且,开发效率和运行效率都不高。 后来又 出现了 ASP, JSP, PHP, ISAPI 等技术,用他们开发动态网站就好得多了,但还没有一种技术能兼顾开发效率和运行效率,同时满足分布式实践处理的功能,并且有强大的扩展能力。 ASP, PHP 等虽然开发速度快,但运行速度比不上 ISAPI;而 ISAPUI 虽然运行速度快,但很难编写调试,而且移植性比较差,不能在 Linux 和 Unix 平台下使用。 然而, JSP 技术出现后,这一切难题都迎刃而解了。 JSP 秉承了 Java 语言的优势,是一种实实在在与平台无关的开发 技术。 JSP 既有很高的运行效率,开发周期很短,同时扩展能力很强,它的技术规范是公开的,任何人都可以按照规范开发出自的产品,因此 JSP 迅速成为了众多开发者所瞩目的对象。 目前,很多公司纷纷宣布支持 JSP技术,很多网站改弦易辙,采用了 JSP 作为开发手段,很多软件组织都在自己的产品中加入了对 JSP 技术的支持, JSP技术得以迅猛的发展起来了。 JSP 前景分析 JSP 是一种较新的技术,国内采用的较少。 在国外, JSP 已经是比较流行的一种技术,尤其是电子商务类的网站大多采用 JSP。 在 JSP 开发技术里,可以通 过开发JavaBean 文件实现同样的功能, JavaBean 不需要注册,只要放置在相应的目录下就可以运行。 此外 JSP的推出主要就是考虑到平台的无关性,由于 JSP 继承 了 JAVA 技术的 49 8 优点 “ 一次 编写 ,处处运行 ”,因此 JSP 代码可以在 APACHE、 IIS 等服务器上执行。 它 支持大部分操作系统。 世界上一些大的电子商务 解决方案提供商都采用 JSP/Servlet。 比较出名的入 IBM的 EBusiness,它的核心是采用 JSP/Servlet 的 WebSphere;西方另外一个非常著名的电子商务软件提供商 Intershop,原来的产品 Intershop Intershop Intershop Intershop 4 占据了主要的电子商务软件市场。 他们都是通过 CGI 来提供支持的。 但后来它推出了 Enfinity,一个采用 JSP/Servlet 的电子商务应用服务器,并不再开发系统软件,足见其对 JSP/Servlet 技术的青睐和推崇。 可见, JSP 是动态网站技术的未来之星。 这也正是 本聊天系统 运用 JSP 技术作为主要的系统设计语言的根本原因之所在。 JavaBean 技术 简介 JavaBean 是一种可以重用的 平台中立的 Java 组件, 可以在软件开发工具中被直观的操作。 ActiveX 空间和 JavaBean 可以说属于同一类型 ,其功能是类似的。 JSP对于在 Web 应用中集成 Javabean 组件提供了完善的支持。 这种支持不仅可以缩短开发时间(可以直接利用经测试和可信任的 已有组件,避免了重复开发 ) ,也为 JSP应用带来了可伸缩性。 Javabean 在 JSP 程序中常用来封装事物逻辑、 执行复杂的人物计算以及 数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。 应用程序开发者可以通过支持 JavaBean 的开发 工具,直接使用现成的 JavaBean,也可以在开发工具容器中,对组件进行必要的修改、测试而不必编写和编译程序。 Java模型中,组件可以修改与其它组件组可以生成 新组件或完整的应用程序。 JDBC 及数据库管理的连接 Java Database Connectivity (JDBC) 要实现动态网页的实现少不了与数据库的连接,接下来介绍 JDBC 技术。 JDBC 的 API 通过一个统一的方式访问不同的数据库。 类似 ODBC, JDBC 对程序开发人员隐藏了数据库产权的问题。 因为它是建立在 Java 之上的, JDBC 也能供提供平台无关性的数据库访问。 JDBC 是一个规范,遵循 JDBC 接口规范,各个数据库厂家各自实现自己的驱动程序 (Driver),如下图 2 所示 : 49 9 图 12 JDBC 接口规范 应用程序在获取数据库连接时,需要以 URL 的方式指定是那种类型的 Driver,在获得特定的连接后,可按照固定的接口操作不同类型的数据库,如 : 分别获取Statement、执行 SQL 获得 ResultSet 等。 JDBC 定义了四种本质上不同的数据库驱动程序, 下面 分别 对其进行 阐述: JDBCODBC 桥 当 JDBC 还在襁褓中的时候, JDBCODBC 桥被证明是最有用的。 使用它,程序开发人员可以使用 JDBC 来访问 ODBC 数据源。 它的缺陷是,需要客户机使用微软的 windows操作系统,并且安装 ODBC 驱动程序。 通过使用这种驱动程序,你牺牲了 JDBC 的平台无关性。 另外, ODBC driver 还需要客户端的管理。 JDBCnative 驱动桥 JDBCnative 驱动桥提供了建立在本来的数据库驱动程序之上的 JDBC 接口,没有使用 ODBC。 JDBC 驱动程序把标准的 JDBC 的调用转换成原始 的数据库 API 调用。 使用Type2 驱动同样牺牲了平台无关性,因为这需要安装客户端的数据库驱动代码。 JDBCwork 桥 JDBCwork 桥驱动不需要客户端的数据库驱动器。 它利用网络服务器的中间件来访问数据库。 这使得诸如负载均衡、连接池、数据缓存之类的技术成为可能。 因为type 3 驱动程序经常需要一个相对较少的下载时间,具有平台无关性,不需要客户端的安装和管理,这种方式最适合 Inter 应用。 纯 Java 驱动 Type 4 用纯粹的 Java 数据库驱动程序提供数据库访问。 由于 type 4 驱动程序在客户机上运行和直接访问数据库,在这种方式下执行意味着 2层结构。 在多层结构中 49 10 对 type 4 驱动的更好应用是使用 EJB 封装数据访问代码,让 EJB为客户端提供数据库无关的服务。 JDBC 驱动及连接 JDBC 驱动及连接 Apache Server 为一些常用的数据库提供了 JDBC 驱动,包括 Oracle, Access,Sytembase, Microsoft SQL Server 和 Informix。 使用 JSP 访问数据库实际上就是先建立一个 JavaBean 组件 ,让它来完成与数据库的连接查询功能 ,并返回一个数据集合 (ResultSet),然后在 JSP 页面中使用jsp:useBean标签创建 Beans 的实例 ,通过它来对数据库进行查询修改等操作。 B/S 与 C/S 模式 过去,两层的( 2tier)客户机 /服务器( C/S)程序非常普遍。 在有些情况下,服务器提供的唯一服务就是数据库服务。 这时候,客户机就要承担访问数据、执行商业逻辑、转换结果的格式以适用于显示、向用户显示界面、接受用户输入等任务。 C/S结构的每一个客户端都必须安装和配置软件。 因此 C/S 结构通常开始的时候都容易 部署,但是难于升级,而且通常都基于产权协议( proprietary protocols) —— 有代表性的是产权数据库协议,这也使得商业逻辑和显示逻辑难于重用。 图 3展示了这种典型的两层结构。 图 13 两层的 C/S结构 Web 浏览器是一个巨大的进步,它让同样的信息在不同的机器上同样地显示。 于是出现了浏览器 /服务器模式( Browser/Server, B/S)的三层结构(见图 4)。 B/S 模式 的优点是维护方 便,能够降低总体拥有成本。 客户端运行软件,就像我们平时上网浏览网页一样,有个浏览器就行了,不用安装其它软件。 B/S 模式 的软件所有的维护、升级工作都只在服务器上进行,而客户端就能获得最新版本的软件。 采用三层结构可以是提高服务器的配置,降低客户端的配置。 这样增加的只是一台服务器(应用服务和数据库服务可以放在同一台计算机电脑中)的价格,而降低的却是几十台客户端机器的价格 , 起到了降低总体拥有成本的作用。 客户机 (商业逻辑) (数据访问) (结果显示) 服务器 (商业逻辑) (数据访问) 49 11 图 14 三层结构( B/S 结构) 2 聊天系统总体设计 开发和设计的 总体构思与规划 聊天系统的基本原理 聊天 系统 的基本原理,就是把每个连上同一网页的用户传送的发言数据储存起来,然后将所有的发言数据传给每一用户。 也就是说,用数据库汇集每个人的发 言,并将数据库中的数据传给每一个人就实现了聊天系统最基本的功能。 先 从客户端收集消息 , 然后通过服务器端消息分发程序中转 , 将全局消息发送给的所有用户。 其原理图如下 : 图 21 聊天系统基本原理图 拟定 聊天系统 应达到的技术指标 1) 允许新用户注册,并开设账户 ;用户登录 进 入 聊天室后,显示在 线人数和在线聊天用户的用户名,并在聊天区域显示该用户的欢迎信息(如欢迎某某的到来)。 同时在线用户列表中显示该用户,在线人数增加。 2) 系统中要有会员登录及身份验证,能实现对身份的区别处理。 3) 在系统中能在线发布信息。 4) 聊天内容文字颜色和表情可由聊天者根据喜好自选,并可在下拉列表中选取聊天对象。 5) 可通过帐户 ID 号 对 用户资料 进行查询。 客户端 应用服务 数据库服务 消息分发程序 (服务器端) 收集消息 (客户端) 用户 2(浏览器) 用户 1(浏览器) 用户 3(浏览器) 用户 N(浏览器) 49 12 6) 允许用户进行在线公聊和私聊。 7) 登 录 聊天室后 可 自由更改用户注册时 的帐户和 密码。 8) 采取用户积分制, 管理员可根据 用户在线时间 提升用户等级,新用户等级默认为 1。 9) 高级用户(用户等级超过设定最低等级者)具有提升用户等级功能,踢人功能(默认最低等级 5)。 高等级用户可踢低等级用户,反之不行(提升用户等级类似);超级用户可发布聊天室主题,随机显示最近 3条聊天室主题(聊天室顶部信息)之一;高级用户可发布聊天室公告(用加粗的红色的字体显示如 “ ***聊天室公告: ******” 字 样)。 10) 系统可自动刷新在线用户列表和聊 天内容 ,也可以通过点击相应按钮进行页面刷新。 11) 采用数据库记录用户详细信息及聊天信息。 12) 点击 离开 按钮可离开聊天室,并在聊天区域显示该用户离开信息,同时在线用户列表将删除该用户,在线人数减少。 聊天系统模块总体设计 模块划分及用户角色 根据以上聊天 系统 技术指标的分析, 本聊天系统总体上分为普通用户模块和管理员模块。 其中普通用户模块包括登录模块 、 聊天模块 、退出聊天室模块,管理员模块包括登录模块、管理模块、退出聊天室模块,普通用户和管理员的退出聊天室模块 机制 类似,均可以 通过转向登录模块来实现 退出聊天系统 的功能。 系统总体 模块框架 划分及其关系 如下图所示: 聊 天 模 块管 理 员 登 录 模 块管 理 模 块 普 通 用 户 登 录 模 块退 出 模 块聊 天 系 统 图 22 聊天系统 模块划分及其关系 使用 UML 例图来分析用户 和管理员 角色,可以得到如下图所示的用例图。 49 13 用户 管理员 图 23 用户和管理员 UML例图 模块 任务概述 ( 1) 对于普通用户登录模块,根 据用户的实际选择和需要来实现用户的注册及登录。 ( 2)对于管理员登录模块,只涉及登录机制,程序根据指定的管理员用户名和密码来判断用户是否具有登录管理界面的权限。 ( 3)对于聊天模块,作。高等教育]基于jsp即时聊天系统的设计与实现
相关推荐
性事务。 13 如果公司认为你过去一年工作表现突出要给你一次奖励,你希望得到的是加薪折现、培训进修还是职位的提升。 弄清“自己能做什么” —— 分析自己的特长。 特长是自己的能力与潜力。 你做哪些事情比较得心应手。 你在哪些方面比别人表现更为突出。 你的哪些特质与众不同。 每个人都有着巨大的发展潜力,如果你在准备充分的条件下,能够得到适当的机会、合理的发展空间以及恰当的激励和挑战
等距,疏密不同的间隔,可以产生出韵律感。 从天安门至午门,一道狭长的空间,中间以端门相隔。 端门的位置近天安门而远午门,并不取中。 两段距离之比,大约为 4 比 9 左右。 其比值 ,接近于黄金分割律的。 端门至午门,午门至太和门的距离比,大约为 17 比 8,比值也接近黄金分割点。 再向前,午门、太和门、太和殿三点排列,太和门约略处于前后等距的位置上。 然而,太和门前
业标准相结合; 五大模块:以职业素质、职业基本能力、单项能力、综合能力和职业拓展能力“五大模块”构成本专业的教学内容。 通过以上课程体系建设,打破传统模式,实施课程重组整合,形成乳品加工与检测为核心的课程框架。 建立适应工学结合和职业岗位要求的“能力模块”课程体系,实现课程体系、教学内容与专业人才培养目标的 15 动态结合。 建设核心课程 ( 1)课程结构设置
1880247。 (2 100 50) = N/mm2< [τ ]= N/mm2 满足要求 (3) 挠度验 算 W= 5ql4/384EI= 5 10004247。 (384 104 50 1003/12) = < 1000/400= 满足要求 大楞验算 (Ф 48 ) (为简化计算按均布荷载考虑计) g= + 3+= P= (荷载组合 :q= 6+= ) (1) 强度验算(按三跨连续梁计)
特点: 多功能:能根据具体施工要求,组成不同组架尺寸、形状和承载能力的单、双排脚手架,支撑架,支撑柱,物料提升架,爬升脚手架,悬挑架等多 种功能的施工装备; 高功效:整架拼拆速度比常规快 3~ 5 倍,拼拆快速省力; 通用性强:主构件均采用普通的扣件式钢管脚手架之钢管,可用扣件同普通钢管连接,通用性强; 承载力大:立杆连接是同轴心承插,横杆同立杆靠碗扣接头连接,接头具有可靠的抗弯、抗剪
区的专用水泵将各区的用水量提升到相应的高位水箱内。 从而避免了因减压而造成的能量浪费。 高层建筑竖向分区给水方式有以下几种: ① 并列给水方式 在各分区独立设水箱和水泵,水泵集中设置在建筑底层或地下室,分别向各区供水。 优点:各区是独立的给水系统,互不影响,当某区发生事故时,不影响全局,供水安全可靠;水泵集中,管理维护方便;运行动力费用低。 缺点:水泵台 数多,压力高,管线长,设备费用增加