JSP网上社区论坛实现

上传人:无*** 文档编号:109039523 上传时间:2022-06-16 格式:DOC 页数:29 大小:364.50KB
返回 下载 相关 举报
JSP网上社区论坛实现_第1页
第1页 / 共29页
JSP网上社区论坛实现_第2页
第2页 / 共29页
JSP网上社区论坛实现_第3页
第3页 / 共29页
点击查看更多>>
资源描述
. . . . JSP网上社区论坛实现摘要随着计算机技术、网络技术、通信技术的迅速发展和人们生活水平与需要的不断提高,的设计和实现技术要求也越来越高。论文研究JSP网上社区的设计与实现,并采用JSP动态网页技术实现了网上在线聊天、论坛、留言板等综合性的功能的。论文首先简要介绍了在线聊天与其实现技术,构成与主要流程;然后详细介绍了网上聊天的需求分析和系统设计,并给出了网上聊天的JSP实现方案与技术细节,包括运行环境的配置、数据库建立与各个功能模块的JSP实现细节等。网上聊天实现了基本的前台功能和后台管理功能。JSP在动态网页实现方面具有诸多优势,值得进一步学习和研究。关键词:网上社区动态网页 JSP MSSQL2000AbstractWith the technological development of computer, networking and communication, and with their increasing living standard and requirements, more and more Web stores come into the life of common people now. This requires high technology on designing and implementation E-Business websites. This dissertation focuses on the designing and implementation of E-Business websites. And a small website, a E-bookstore is built using JSP. First, E-Business and its implementation technology, the structure and the transaction flows of webstores are briefly introduced. Then the requirements analysis and systematic design of a E-bookstore is discussed in detail. And the implementation with JSP, including the configuration of the running enrionment, the creation of databases, and the implementation details of each funtion module, is given. The E-bookstore has fundemental functions for both foreground and background.JSP has great advantage on implementation active websites, it worthy for further learning and researching.Keywords: electronic commerce, e-store, dynamic web page, JSP, Access目录前言21 动态技术概述31.1动态31.2 网上论坛的简介41.3 动态实现技术41.3.1 Web服务器端开发技术41.3.2 网络数据库技术81.3.2 开发平台122 网上社区论坛142.1 前台系统142.2 网上社区流程153 网上社区论坛分析与设计163.1 需求分析163.1.1 功能需求173.1.2 系统运行环境需求173.2 系统设计173.2.1 系统设计思想173.2.2 系统功能模块划分183.3 数据库设计183.3.1 数据库需求分析183.3.2 数据库逻辑结构设计194 网上社区功能的JSP实现21总结24致25参考文献27前言网上社区作为一种常见网上休闲为一体的具体形式,在Internet上已经非常普与。随着网络技术的不断提高,的设计和实现技术也迅速发展,出现了多种较成熟的实现技术。由于JSP技术具有多方面的优点,因此在网上社区的实现中被广泛采用,同时JSP技术还处在不断的发展之中,这正是论文选题的主要依据和动机。此次毕业实习、毕业设计第一阶段的主要工作是,学习有关网上社区功能建设的基本知识,了解动态建设的相关技术,并在此基础上选择了使用JSP作为开发语言来实现网上社区的一些功能比如说:在线聊天、论坛等等,并学习JSP与MSSQL2000数据库等方面的知识。这是课题研究的基础性容。第二阶段是在指导教师的指导下,进行网上社区的需求分析、系统设计与功能模块划分,然后建立数据库,并编写调试各个功能模块的代码,最后进行组装测试。通过教师的悉心指导和自己的努力,完成了毕业设计的各项任务,成功建立了网上社区,基本实现了各项功能。只要加以功能扩充,该社区可以方便地加入其它功能的实现。论文正文主要包括4个部分,安排如下:第1部分简要动态与其实现技术。第2部分阐述网上社区的构成与其前台操作流程、会员操作流程、后台管理流程和购物流程。第3部分对网上社区的功能实现进行分析设计,在这里主要是对网上聊天详细了介绍了需求分析、系统功能设计与模块划分、数据库设计。第4部分给出了网上社区的在聊天的实现细节,包括运行环境的配置、数据库建立与各个功能模块的实现技术。最后论文对课题容与成果进行了总结。24 / 291 动态技术概述1.1动态1.什么是动态网页所谓“动态”主要体现在不同的访问者、不同的访问时间在访问同一个页面时可能得到不同的浏览页面,访问容具有实时性,访问的过程具有交互性。动态网页主要由以下几个主要特征: 网页的显示容可以实时动态更新。 用户和可以进行交互式信息交流。 提供对数据库的管理和使用。 提供对文件的管理操作。 支持对“组件”的使用。 2网上社区模型网上社区是用来进行交流、对解决问题、学习知识、扩大视野等功能起到的作用,并对自己的学习、工作、乃至娱乐休闲起到很大的帮助作用。(1)从逻辑构成上看,网上社区可以看成一个基于分布式环境的框架结构模型,分为客户机、Web应用服务器和其它支持服务器(如数据库服务器、安全服务器)等三层。客户端的主要作用就是将电子商务应用的结果信息显示给用户,而在客户端执行的应用逻辑处理应很少或没有,只需安装像Web浏览器这样的软件。正因如此,这种客户端通常被称为“瘦客户”。Web应用服务器是提供功能逻辑处理的一个运行平台,为Web应用程序提供程序设计、业务处理和交互控制等功能服务。其它支持服务器主要提供到企业部或外部合作伙伴的数据系统连接服务。(2)从功能上看,网上社区主要包括前台的客户服务系统和后台管理系统两大部分、以即一些功能的实现(比如说:网上聊天室、留言版等)。前台的主要功能是为客户提供信息浏览的平台,后台的主要功能是提供对前台功能的服务支持,即实施的管理、维护和信息处理。本论文所要着重介绍的是网上社区建设中论坛的建设。1.2 网上论坛的简介网上论坛是集休闲、交流、学习为一体的系统。由于充分利用和结合了现代最新的信息技术,网上社区具有传统的休闲、误乐、交流、学习无法比拟的一些优势,如成本低,受地域限制和时间限制少,扩潜力极大等等。目前Internet上的网上论坛每天以惊人的速度增长,今后很多网民必将越来越多地进入网上社区来休闲、交流、学习。1.3 动态实现技术从系统的体系结构上看,网上社区一般采用三层的浏览器/服务器(Browser/Server,B/S)结构,整个主要由浏览器、Web服务器和数据库服务器三个部分组成。相应地,网上社区的实现技术主要包括浏览器端开发技术、Web服务器端技术和数据库服务器技术等。1.3.1 Web服务器端开发技术Web服务器端开发技术中,最关键的是访问数据库的动态网页技术,包括CGI、ASP、PHP和JSP等。1. CGICGI(Common Gateway Interface, 通用网关接口)是早期使用的应用程序与Web服务器之间接口的标准,其工作方式是:用户通过浏览器用以Form(表单)形式向Web服务器发出请求,Web服务器接收对CGI的请求,用一个子进程启动CGI,将用户的请求传给CGI;CGI想数据库服务器发出请求,数据库服务器执行相应的查询操作;数据库服务器将查询结果返回给CGI;CGI将查询结果转换为网页形返回给Web服务器,Web服务器再通过将网页传输到用户端在用户浏览器中显示出来。CGI的跨平台性能非常好,几乎可以不加任何修改即可移植到绝大多数操作系统上。其缺点是运行速度慢,因为CGI一般是一个独立的可执行程序,和Web服务器占据不同的进程,而且一个CGI只能处理一个用户请求,当多个用户同时发出请求时会占用大量系统资源,造成服务器相应慢、效率低。另外,CGI的交互性和安全性都较差。因此,CGI目前已经趋于淘汰。2. ASPASP全名为Active Server Pages,是一个 Web服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的Web服务应用程序。ASP采用脚本语言VBScript (JavaScript)作为自己的开发语言。ASP技术具有以下特点:使用VBScript、JavaScript等简单易懂的脚本语言,结合HTML代码,即可快速完成的应用程序。无需编译,容易编写,可在服务器端直接执行。使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。与浏览器无关(Browser Independence),客护端只要使用可执行HTML代码的浏览器,即可浏览Active Server Pages所设计的网页容。Active Server Pages所使用的脚本语言均在Web服务器端执行这些脚本语言。可使用服务器端的脚本来产生客户端的脚本。ActiveX Server Components (ActiveX服务器组件)具有无限可扩充性。可以使用Visual Basic,Java,Visual C+,COBOL等程序设计语言来编写你所需要的ActiveX Server Component.3. PHP技术PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量使用C,Java和Perl语言的语法,并结合PHP自己的特性,使Web开发者能够快速地写出动态产生页面。它支持目前绝大多数的数据库。PHP是完全免费的,可以从PHP的官方站点()自由下载。PHP技术具有以下两大亮点。数据库连接方便PHP可以编译成具有与许多数据库连接的函数。PHP与MySQL是现在最佳的群组合。用户还可以自己编写外围的函数去间接存取数据库。通过这样的途径,当用户更换使用的数据库时,可以轻松地修改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。但PHP提供的数据库接口支持彼此不统一,比如对Oracle、MySQL、Sybase的接口,彼此都不一样。这也是PHP的一个弱点。支持面向对象编程PHP提供了类和对象。基于Web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。4. JSP技术JSP是Sun公司推出的新一代开发语言,Sun公司借助自己在Java上的不凡造诣,又把人们引进JSP的时代,JSP即Java Server Page,它可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。JSP技术具有以下特点。将容的产生和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标志来设计和格式化最终页面。使用JSP标志或者小脚本来产生页面上的动态容。产生容的逻辑被封装在标志和JavaBean群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标志和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响容的产生。在服务器端,JSP引擎解释JSP标志,产生所请求的容(例如,通过存取JavaBean群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。强调可重用的群组件绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBean或者Enterprise JavaBean)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。采用标志简化页面开发Web页面开发人员不会都是熟悉脚本语言的程序设计人员。Java Server Page技术封装了许多功能,这些功能是在易使用的、与JSP相关的XML标志中进行动态容产生所需要的。标准的JSP 标志能够存取和实例化JavaBean组件,设定或者检索组件属性,下载Applet,以与执行用其他方法更难于编码和耗时的功能。通过开发定制化标志库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能建立自己的标志库。这使得Web页面开发人员能够使用熟悉的工具和如同标志一样的执行特定功能的构件来工作。JSP技术和容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以与J2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的置脚本语言是基于Java程序设计语言,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。随着越来越多的供货商将JSP支持加入到他们的产品中,用户可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。5. ASP、PHP与JSP比较三者都提供在HTML代码中混合某种程序代码、有语言引擎解释执行程序代码的能力。在ASP、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通HTML页面只依赖于Web服务器,而ASP、PHP、JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP、PHP、JSP三者都是面向服务器的技术,客户端浏览器不需要任何附加的软件支持。但JSP代码被编译成Serverlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生,因此采用JSP技术的页面执行速度较快。从应用围来看,ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能执行于微软的服务器产品,IIS(Internet Information Server)(Windows NT)和PWS(Personal Web Server)(Windows 98)上。在UNIX下也有ChiliSoft的组件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的群组合来扩充,在UNIX的COM实现起来非常困难。PHP3可在Windows,UNIX,Linux的Web服务器上正常运行,还支持IIS, Apache等一般的Web服务器。用户更换平台时,无需变换PHP3代码,可即拿即用。JSP与PHP3类似,几乎可以执行于所有平台,如Windows NT,Linux,UNIX。在Windows NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在Windows NT,UNIX和Linux上,因此JSP有更广泛的执行平台。虽然现在WNT操作系统占了很大的市场份额,但是在服务器方面,UNIX的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合于一些小型的商业站点。首先,PHP缺乏规模支持;其次,它缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。ASP和JSP则没有以上缺点,ASP可以通过Microsoft Windows的CDM/DCOM获得ActiveX规模支持,通过DCOM和Transaction Server获得结构支持;JSP可以通过Sun Java的Java Class和E获得规模支持,通过E/CORBA与众多厂商的Application Server获得结构支持。在提与的三种技术中,JSP应该是未来发展的趋势,尤其是电子商务类的,多采用JSP,世界上一些大的电子商务解决方案提供商都采用JSP/Servelet。由于考虑到JSP的先进性和普遍性,本次毕业设计选用JSP作为主要开发工具来实现网上商店。1.3.2网络数据库技术1. 网络数据库技术与B/S模式(1)网络数据库网络数据库,就是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储与数据库中的大量信息与时发布出去,实现用户与数据库的实时动态交互。网络数据库系统的组成元素包括客户端、服务器端以与连接客户端与服务器端的网络。网络数据库技术目前在局域网与Internet上应用广泛,例如许多企业的各种信息管理系统,基于校园网的各种教育系统和管理系统,基于Internet的各种简单留言簿、论坛与复杂的远程教育和电子商务,这些系统几乎都采用了网络数据库技术来实现。(2)采用网络数据库的B/S模式随着Internet的发展,以Web技术为基础的B/S模式应用越来越广泛,许多基于网络数据库的应用系统都采用这种模式。B/S由浏览器、Web服务器和数据库服务器三个部分组成。在这种模式下,客户端使用一个通用的浏览器,用户所有的操作都是通过浏览器进行的。B/S结构的核心是Web服务器,它负责接收远程或本地的 查询请求,然后根据查询条件从数据库服务器中获取相关数据,再将结果翻译成HTML和各种页面描述语言,返回给提出查询要求的浏览器。同时,浏览器也可将要求更改、删除、更新数据记录的请求发给Web服务器,由Web服务器完成与数据库的连接并完成操作。典型的B/S模式结构如图1.1所示。Web 浏览器Web 服务器数据库服务器图1.1 B/S模式结构2. 常用网络数据库管理系统常用网络数据库管理系统有SQL Server、Oracle、IBM DB2、MySQL、Sybase与Access等。(1)OracleOracle 是Oracle公司推出的功能强大的,适用于大型、中型和微型机的关系数据库管理系统,以其操作的简易性、可扩展性和先进的网络特性与管理能力受到了业界的好评。它有以下特点: 支持微机、工作站、小型机、中型机、大型机等多种硬件平台,可运行在UNIX、Windows NT/2000、Linux等多种操作系统平台上。 支持大型数据库、多用户的高性能的事务处理。库级或子数据库级上控制。 引入开放的、易于使用的方法,用来扩展具有多媒体数据类型的数据库。 实施安全性控制和完整性控制。 支持分布式数据库和分布处理。 提供了先进的网络特性和管理能力。 提供了对称复制技术,这包含实时复制、定时复制、存储转发复制。(2). IBM DB2DB2是IBM公司开发的关系数据库管理系统。DB2支持从PC到中小型机、大型机,可运行在OS/2、Windows NT、UNIX操作系统上。其主要特性有: 支持面向对象的编程。 支持多媒体应用程序。 备份和恢复能力。 支持存储过程和触发器,用户可以在建表时显示的定义复杂的完整性规则。 支持异构分布式数据库访问。 支持数据复制。 DB2的数据连接器(Date Joiner)可使用户访问Oracle、Sybase、Informix和SQL Server等数据库,用户只要熟悉DB2语法就可在跨平台的环境中轻松获取非DB2数据。(3). MySQL数据库MySQL是一个多用户、多线程的符合SQL标准的关系型数据库管理系统。SQL可以方便地存储、修改、访问信息。MySQL是一个自由软件,编码和各编译版本完全开放,还可和Linux、PHP紧密结合。其主要特性有: 使用核心进程的完全多进程。这意味着它能很容易地利用CPU。 可运行在不同的平台上。 多种列类型。 具有灵活、安全的权限和口令系统,它允许基于主机的认证。 具有快速的基于进程的存分配系统。(4). SybaseSybase是美国Sybase公司在20世纪80年代中期推出的C/S结构的关系数据库系统,也是世界上第一个真正基于C/S结构的关系数据库管理系统产品。最初开发的Sybase数据库管理系统是运行在高端UNIX机器上的,而现在的Sybase产品可以运行在Intel的Pentium Pro与DEC的Alpha等多种硬件平台上,并且可以在多种不同的操作系统中运行。Sybase主要特性有: 高速缓冲体系结构使管理员能够拆分数据高速缓存,借此就能将一个数据库或数据对象锁定或绑定在命名高速缓冲区域。 在支持对实际数据存储的更简便的配置上取得了重大进步。它能够允许自定义数据页上的精确行数,并引入表的区分功能,很好地解决了批量插入的问题。 用户日志以一种“涌入”的方式写入到事务处理主日志中,这种操作比起用户进程单独处将其事务处理放入该日志更快捷。 极提高了查询的性能,它将选择表中的一组页锁改变为全锁的能力。 备份服务器经过改进,使其在UNIX平台上使用时更少地依赖于备份和恢复设备。 能够支持非常大的数据库。因而,Sybase增加了超大型存的支持。Sybase数据库设备数多达至32767个,理论上的最大数据库的大小可达到几百个TB。 能支持几百个CPU的体系结构,这些CPU都可以并行方式工作,以最佳速度执行查询。(5). Access Access是Microsoft公司于1994年开发的微机数据库管理系统,具有界面友好、易学易用、开发简单、接口灵活等特点,与Microsoft公司的其它数据库产品如FoxPro相比,Access提供了更强大的数据组织、用户管理和安全检查功能,同时能实现C/S节后和与之对应的数据库安全机制。(6).SQL ServerSQL Server是由Microsoft开发的一个功能强大的关系型数据库管理系统。它能够处理大量的数据和管理众多的并发用户,保证数据的完整性,并提供许多高级管理和数据分布能力。SQL Server与Windows NT系列的操作系统完美兼容。SQL Server 2000易于安装、部署和使用,可运行在台式机、笔记本上,也可运行在多处理器计算机上,提供了数据仓库功能,支持远程管理,并提供了丰富的数据库编程能力。SQL Server数据库以其简单使用性的到了广泛的应用。本系统正是采用SQL Server作为数据库的。1.3.2开发平台Web服务端开发技术的完善使开发复杂的Web应用成为了可能。在此起彼伏的电子商务大潮中,为了适应企业级应用开发的各种复杂需求,为了给最终用户提供更可靠、更完善的信息服务,两个最重要的企业级开发平台-J2EE和.NET在2000年前后分别诞生于Java和Windows阵营,它们随即就在企业级Web开发领域展开了你死我活的拼争。平台之争让整个Web世界在最近的几年里不得安宁,但从某种意义上说,也正是这种针锋相对的竞争关系促使了Web开发技术以前所未有的速度提高和跃进。J2EE是纯粹基于Java的解决方案。1998年,Sun发布了E1.0标准。E为企业级应用中必不可少的数据封装、事务处理、交易控制等功能提供了良好的技术基础。至此,J2EE平台的三大核心技术Servlet、JSP和E都已先后问世。1999年,Sun正式发布了J2EE的第一个版本。紧接着,遵循J2EE标准,为企业级应用提供支撑平台的各类应用服务软件争先恐后地涌现了出来。IBM的WebSphere、BEA的WebLogic都是这一领域里最为成功的商业软件平台。随着开源运动的兴起,oss等开源世界里的应用服务新秀也吸引了许多用户的注意力。到2003年时,Sun的J2EE版本已经升级到了1.4版,其中三个关键组件的版本也演进到了Servlet2.4、JSP 2.0和E 2.1。至此,J2EE体系与相关的软件产品已经成为了Web服务端开发的一个强有力的支撑环境。和J2EE不同的是,Microsoft的.NET平台是一个强调多语言间交互的通用运行环境。尽管.NET的设计者试图以.NET平台作为绝大多数Windows应用的首选运行环境,但.NET首先吸引的却是Web开发者的目光。2001年,ECMA通过了Microsoft提交的C#语言和CLI标准,这两个技术标准构成了.NET平台的基石,它们也于2003年成为了ISO的国际标准。2002年,Microsoft正式发布.NETFramework和Visual Studio.NET开发环境。早在.NET发布之前,就已经有许多Windows平台的Web开发者迫不与待地利用Beta版本开发Web应用了。这大概是因为,.NET平台与相关的开发环境不但为Web服务端应用提供了一个支持多种语言的、通用的运行平台,而且还引入了ASP.NET这样一种全新的Web开发技术。ASP.NET超越了ASP的局限,可以使用VB.NET、C#等编译型语言,支持WebForm、.NET ServerControl、ADO.NET等高级特性。客观地讲,.NET平台,尤其是.NET平台中的ASP.NET的确不失为Web开发技术在Windows平台上的一个集大成者。2 网上社区论坛首先经过社区的需求分析,构建出该网上社区:2.1 前台系统前台系统即客户系统,简称“前台”,是面向成员的网页界面,它是成员直接访问和进行交流活动的地方。前台系统一般包括成员服务、聊天、留言、论坛等五大部分功能。前台系统还应包括一些其他辅助功能,如修改资料,但这些功能不是网上社区所特有的。成员服务网上社区一般采用成员制度,也就是顾客只有注册成为社区的成员才能在社区进行交流等。这主要是为了方便管理和操作,顾客只需在注册时一次输入个人信息,以后所有的行为中所需的信息(如发贷信息)就可以直接从成员信息中获得。社区也可以通过制度为成员提供更好更个性化的服务。商店还可以使用注册信息中的厉员联系方式为成员提供更多的信息服务。社区论坛社区论坛主要是为成员提供话题讨论的地方,也可以说是大家一起学习的地方,比如说:如果某人在生活、或者是学习上遇到什么问题,寻找解决的办法,可以把你问题提出来,使大家都能看到你的问题,可以对你所提的问题发表自己的意见和看法,甚至会给你一个好的解决方案。使用起来即为方便,留言版网上社区的另一个重要部分是留言版,它主要是在网上为网友、网民起到到一个留言的作用,聊天室网上社区一个很有意思又很重要的部分,它主要是为成员们提供一个在线聊天的部分,可以是很多成员在一起,在里面随意的发言,可以对所有的人讲,也可以对单个人对话,但是大家所说的话,大家都能够看到,与大家所熟习的 有一点不一样。可以这样说吧,聊天室是一个公共场合吧。电子这是我做的设计中最后的一部分-电子,它可以发送一结简单的文本信箱。2.2网上社区流程网上社区的流程贯穿着这样四个流程:前台流程、会员操作流程、后台管理流程、完整的购物流程。1. 前台流程如图2.1 前台流程图描述了网上社区的前台流程。图2.1前台流程图2. 成员操作流程前台流程中有关成员操作的流程也是比较复杂的,如图2.2操作流程所示是详细的会员操作流程。图2.2操作流程没有在社区进行注册的成员,首先要进行“注册”,以成为社区的会员。顾客注册成功后就可以使用注册信息和口令以会员身份登录进入商店了。已经注册的会员则可以直接登录,进入之后,就可以进入论坛、聊天室等等,还可以修改自己的注册的资料,3 网上社区论坛分析与设计3.1 需求分析本系统的目的是用户提供一个集休闲的平台。系统应具备基本的前台功能和网上在线交谈、留言、发送、学习讨论的功能。3.1.1 功能需求网上社区系统主要是实现网上聊天、论坛等功能的系统。一个典型的网上社区系统一般都需要有用户信息注册登录管理、论坛信息处理等模块。3.1.2 系统运行环境需求 服务器端操作系统:独立于操作系统的跨平台系统,客户端MicroSoft Windows 2000与以上。 系统开发数据库系统:MS SQL Server 2000。 Web服务器:Tomcat 5.0.19与以上版本,配合Struts开发架构与Hibernate开发架构。 客户端运行环境:能运行IE4以上或Netscape 4.5以上浏览器的操作系统。 客户端运行工具:目前的系统采用浏览器为客户端,可以使用IE4以上的任意版本浏览器。3.2 系统设计3.2.1 系统设计思想1功能的独立化、模块化1.用户注册登录管理模块用户注册登录管理模块用于建立固定的成员群体,并能详细记录成员档案,以便了解每位成员的基本情况。 该功能模块提供以下几个子功能:用户在线注册;用户登录管理;用户资料修改;只有进行登录并通过的用户,才可以进入社区等后续的处理。在用户结束离开该时,可以选择退出,清空对应的登录成功信息。2.社区主体四大功能模块用户登录成功后,就可以进行各各模块享受社区提供的功能,提供以下几个子功能: 用户留言 用户在线聊天 用户在线发 用户论坛3.2.2 系统功能模块划分本系统主要的功能模块。如图3.2功能模块图所示。图3.2 网上社区功能模块图3.3 数据库设计3.3.1 数据库需求分析依据网上社区的处理要求,对应数据表的设计与功能如下。 用户基本信息表:存放用户的基本信息情况。 论坛信息表:存放用户发表的贴子容。 聊天信息表:存放用户聊天的用户、发送人等信息。 留言信息表:存放用户留言的容。 论坛回复的信息表:存放用户回复的容、时间等。3.3.2 数据库逻辑结构设计根据以上需求分析,在确定了各个表主键字段的基础上,依据表与表相关字段之间的联系建立了各表之间的关系,对应的关系如图所示。数据库的概念结构设计完毕后,就可以将上面的概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。1.表associator。用来记录注册用户的个人资料,结构如表3.1所示:字段名称数据类型用户idint用户名varchar密码varchar电子varchar真实varchar年龄Int权限Int在线Int个人主页varchar处我介绍text表3.1 member表的逻辑结构2、表mas用来存储主题帖子的信息,其结构如图3.6所示:图3.5表mas的逻辑结构3.表tobbs用来存储回复帖子的信息,表结构如图3.7所示:图36表tobbs的逻辑结构4 网上社区功能的JSP实现本系统采用的技术方案为JSP +Tomcat+ mssql2000,即使用JSP作为Web服务器端开发语言,采用Tomcat作为Web服务器和JSP引擎,采用mssql作为后台网络数据库管理系统。本系统表示层均采用完全符合HTML4.0、DHTML与Struts标记库的页面实现技术,也采用了优化页面的代码和图片技术。 1.首先在一个建军一个公用组件,用以争取开发时间,也就是在于数据库存连接数据库的JAVABEAN。主要代码如下:static String driverName = .microsoft.jdbc.sqlserver.SQLServerDriver;staticStringurl= jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=Community;static String user = sa;static String password = sa;private static Connection con=null;private Statement state=null;private ResultSet rs=null;public void init(Connection con)trystate=Link_db.con.createStatement();catch(Exception e)System.out.println(init);System.out.println(e.getMessage();public static synchronized Connection getCon()tryClass.forName(driverName);con=DriverManager.getConnection(url,user,password);catch(Exception e)System.out.println(getCon);System.out.println(e.getMessage();return con;2建立了数据连结文件之后,接下来就是对各个功能的实现,本论文主要说一下聊天室的实现,要说这个得要先说说session对象;session对象是javax.servlet. session的一个对象。Session指的是客户端与服务器端的一次会话,会话从客户边接到服务器开始,直到服务器断开连接为止,这之间都呆以访问session对象的属性和方法。Session对象用来保存每个用户的信息,以便跟踪第个用民用工业的操作状态。其息保存在JSP容器中,session的ID保存在客户机的Cookies时。如果浏览器支持Cookie的知就直接使用它。一般情况下,用户首次登录系统时JSP容器都会给些用户一个惟一标识的sessionID,这个ID用于区他其他的用户,当用户退出系统时,这个session就会自动消失。论坛结构与其他的模块不太一样,它属于单独的一个框架,没有被包括在mainFrame里面,由于在论坛中不能有两个一样的用户名,所以在论坛的框架里面要判断是否有一样的用户名,如果有则被转为错误页面,否则就进入论坛室,然后进入论坛的框架页面中。这样防止用户以一样的用户名进入论坛。首先进入论坛的页面如下图图4.1所示:图4.1 论坛界面这个页面分为三部分,主要来看一下右下的这部分,里面已经有两个主题了,例如:第一个JSP主题,一眼就可以看出没有新用户对这个主题发表意见,浏览过这个主题有5人。主题的容它存放在数据库Community中的BBS表中,每当用户提出一个主题它都会存在数据库中,当然,浏览也直接从数据库中提取,存入数据库它主要是通过以下代码来实现的:0)response.sendRedirect(bbsview.jsp);elseout.println(alert(发表新贴失败);javascript:window.close();); %在里面,他主要是通过JSP对数据库直接写的语名,其中request.getParameter主要是获得页面上的文本容,response.sendRedirect起到一个跳转页面的作用;从数据库读数据不同的是从数据库中获得数据,用一条查询语名,在通过JSP把容显示出来就行了; 当然进入论坛发送的贴子的与主题存取都是一样的,在设计的过程中,还可以新增一些功能,比如说,发送图片、表情等功能,这里就不做介绍了,这还有代于以后的完善;随着容的增多,有的贴子存放很久了,为了便于管理,还得要对贴子的删除等,这也是对数据库的删除操作。最后就是退出论坛的实现,当点“离开社区“,就可以退出论坛和社区,在它要退出的时候,JSP得要关闭进入社区论坛时,JSP对你产生了一个对象,在你进入社区活动时都是依靠它来进行判断和操作的,这样大大的增加JSP的运行服务能力,这跟JAVA语言对对象的操作方化相似。总结论文首先简要动态、网上社区,分析了网上社区中聊天室的的实现技术,包括客户端技术、Web服务器端技术和网络数据库技术。然后论文讨论了网上社区的构成,介绍了前台系统、系统的功能,与前台顾客操作流程、成员操作流程。在前面两个部分的基础上,论文对网上社区进行了详细的系统分析和设计,包括系统需求分析、运行环境分析、系统功能设计与模块划分、系统数据库设计等。针对网上社区本身的特点和对系统的功能要求,作者选用Apache Tomcat作为Web服务器,选用JSP作为Web服务器端的主要开发工具,数据库系统选用mssql2000。论文最后详细介绍了网上社区的聊天室功能的全部实现细节,包括运行平台的配置,数据库中表的建立、中各个子系统的实现等。总的来说,此次毕业实习与毕业设计完成了任务书规定的各项要求,在学习Java语言、JSP等容的基础上,进一步学习并实践了网页制作、Web服务器安装、网络数据库操作、JSP程序设计等多种实用技术,成功设计出一个功能基本齐全网上社区。既学习了不少新的知识和技术,由亲身体验软件设计、开发的过程,个人觉得收获颇丰。当然,这次设计还只是一个初级产品,还可以从以下几方面进一步完善:(1)将前台功能和后台管理功能分离。目前系统中实现了一部分后台管理功能,如用户列表、书籍信息发布等。在现实的系统中,这方面的功能需要扩充,另外也需要根据不同用户类型将的后台功能对前台用户加以屏蔽。(2)具体功能可进一步完善和扩充。目前系统中的一些功能如在线聊天、讨人论坛等是示意性的,如果要实际投入使用还需进一步完善。另外,还有一些功能,如在线音乐、在线语音聊天室等功能也可以加入系统。(3)将界面更加完善和美观。目前的页面还很简单,从美感来说,还要更进一步的设计。最后敬请各位专家、老师和同学对论文和今后的研究工作提出宝贵的指导意见和建议。致此次毕业实习、毕业设计和学位论文撰写过程中,得到了多位老师、同学、朋友的关心、指导和帮助。入学以来,各位老师一直以来的辛勤工作和教诲使我能顺利地度过这难忘的四年,使我在综合素质提高、专业理论知识学习和实践工作能力等各方面受益匪浅。在此,衷心地感我的指导教师四硕士!他丰富的知识、严谨的治学态度和全面的指导,对我启发颇多,收获颇丰。感四年以来众多同学和朋友的帮助,大家一起在紧的学习之余度过了许多愉快的时光。感父母多年以来的关爱!参考文献1彬. JSP数据库高级教程. 清华在学, 2006.2正洪,齐健,延辉. SQLServer2000. 机械工业, 2001.3赛奎春. JSP工程应用与项目实践.机械工业, 2004.4珏, 卢银娟, 昊彤. JSP网络开发技术M. 人民邮电,2001.7鲁晓东, 育龙, 健. JSP软件工程案例精解M. 电子工业, 2005.8慧勤, 景安, 傅文博等. 网络数据库应用技术M. 机械工业, 2005.9S. C. Ahalt, A.K. Krishnamarthy, D. E. Melton, P. Chen. Competitive Learning Algorithms for Vector QuantizationJ. Neural Networks, 1990, 3: 277-290.
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!