毕业设计论文基于JSP网络聊天室的实现

上传人:沈*** 文档编号:102810785 上传时间:2022-06-07 格式:DOC 页数:26 大小:593KB
返回 下载 相关 举报
毕业设计论文基于JSP网络聊天室的实现_第1页
第1页 / 共26页
毕业设计论文基于JSP网络聊天室的实现_第2页
第2页 / 共26页
毕业设计论文基于JSP网络聊天室的实现_第3页
第3页 / 共26页
点击查看更多>>
资源描述
基于JSP网络聊天室的实现专业:信息管理与信息系统 学号:6104103032 学生姓名: 指导教师目 录目 录 1摘 要 2Abstract2第1章 绪论311 引言312 背景4第2章 JSP技术及其特点621 JSP技术简介622 JSP的特点623 JSP与传统技术的比拟8第3章 系统分析 931 系统配置环境 932 聊天室模块划分9 33 聊天室模块设计1034 数据库设计1235 页面设计 13第4章 系统模块功能实现1341 登陆功能的实现1342 人员列表的实现1443 发言及发言显示模块的实现1644 聊天信息更新问题的解决1945 聊天室后台管理系统的实现1946 聊天室会员个人控制面版2047 聊天室管理员控制面版2248 注销用户的实现24第5章 总结 25参考文献26致 谢26英特网聊天室中人际之间的交流研究专 业:信息管理与信息系统 学 号:6104103032 学生姓名: 指导教师:摘 要正确的个性判断对人与人之间的成功的交互作用是重要的。 因为数以百万计人在使用每天产生并且维持人与人之间关系的英特网, 当前的研究是在英特网聊天室中调查人际交流的悟性。 参加者是在聊天室中互相影响 15 分钟的 156位大学部的学生。他们是一对一的交流或者是以六人为一组的群体。使用社会的关系模型 (肯尼,1994), 一般发现在一对一之间的交流中, 被研究者为目标的外向性,愉快和开放特色达成共识。 因为外向性和开放性, 这协议符合了目标受众的悟性。不像使用面对面的交互作用的研究,共识最高,而且当参加者一对一的互相影响了的时候,吸收是最低的。群体交互作用更趋向于目标对象的研究者比一对一的交互作用的研究者在个性特征的表现上比拟不顺利。自我报告个性在决定谁在英特网聊天室被喜欢方面有了一点的预言性的力量。 然而,目标对象之前的聊天室经验一致地被认为是一个可信的适度预言者。关键字: 网际-关系、 在线关系、 英特网、 聊天室Interpersonal Perception in Internet Chat RoomsAbstract Accurate personality judgments are important for successful interpersonal interactions. Because millions of people use the Internet everyday to create and maintain interpersonal relationships, the current study investigated interpersonal perception in Internet chat rooms. Participants were 156 undergraduate students who interacted in chat rooms for 15 min either one-on-one or in groups of six. Using the Social Relations Model (Kenny, 1994), it was found that in one-on-one interactions, judges were able to achieve consensus for the targets traits of extraversion, agreeableness, and openness. For extraversion and openness, this agreement corresponded with targets self-perceptions. Unlike research using face-to-face interactions, consensus was highest and assimilation was lowest when participants interacted one-on-one. Judges in group interactions tended to like the targets tended to like the targets less favorably across all personality traits than did judges in one-on-one interactions. Targets self-reported personality had little predictive power in determining who was liked in Internet chat rooms. However, targets prior chat room experience was consistently found to be a moderate predictor of likability.Keywords: Cyber-relationships、 Online relationships、 Internet、 Chat rooms第1章 绪论11引言Internet已经成为人们生活、工作、学习越来越离不开的平台。Web技术已经不在局限于单纯地提供信息效劳,而是日益成为一个操作平台,为用户提供强大的效劳功能。例如网上电子商务、社会信息数据库等。网络实现了远程通讯,人们能够通过计算机网络进行电子邮件的发送,召开网络会议,网上购物,甚至坐在家里就可以上大学网上教育。网络有巨大的潜力待我们去开发与探索。因此,基于B/S体系架构创立这个聊天室,紧跟行业开展,满足人们生活、学习的需要。建立一个基于B/S架构的聊天室,实现信息网络化。通过较丰富的功能将 Web的技术特点表达出来。该系统提供包括用户注册,聊天,查询聊天记录等功能。登录者可以很方便的进行聊天,也可以通过查询功能查询其他时段的聊天记录。并且管理员还可以具有会员及聊天记录管理的权限,使整个聊天室更具人性化。方便系统的管理与维护。要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户聊天信息,分析得出的关联规那么表等大量的数据都由数据库管理系统管理。本文中数据库效劳器端采用了MYSQL作为后台数据库,以连接池技术与数据库连接,结合SQL语句处理对用户分类,删除,修改等操作,使Web与数据库紧密联系起来。整个个性化页面生成系统主要由使用JSP技术开发实现个性化Web页面生成和Javascript脚本语言组成。整个系统结构如图1-1所示。用户登陆聊天室进行聊天后台查询聊天记录和个人信息管理员权限Database效劳器Web效劳器用户离开图1-1 系统结构图本文作者主要完成客户端,Web效劳器端应用程序和数据库的制作,实现用户注册和分类,删除,修改会员及聊天记录等功能。实现与完善整个基于B/S聊天室网站的组织建立和测试工作。12 背景几乎没有限制的客户端访问和极其简单化的应用程序部署和管理是B/S模型的优势所在。它和C/S模型比拟优点极为突出。两层技术模型Two-Tier Architecture是指客户机直接与效劳器交流,没有其他效劳介入的技术模型。对用户量在12100的局域网环境中,两层模型确实是个不错的方案。由于该模型中,所有的用户连接都是被保持的,也就是说即使在空闲状态,连接依然存在。所以,用户的并发请求数量有限的。为了解决这个限制,使得成千上万的用户可以被无顾虑地添加,我们最好选用三层模型。B/S结构,即Browser/Server浏览器/效劳器结构,是随着Internet技术的兴起,对C/S结构的一种变化或者说是改良的结构。用户界面完全通过浏览器实现,一局部事务逻辑在前端实现,但是主要事务逻辑在效劳器端实现,形成三层结构,是一种全新的软件系统构造技术。B/S模型结构图如下所示:图1-2 B/S模型结构图从上图可见 这种结构的一个重要的特点是,用户可以完全不需要安装客户端软件,当然也不需要担忧任何软件升级和不兼容等任何客户端所遇到的问题。相比之下,B/S模型的优点显而易见,更适合这个网站的构建,有利于网站的维护和扩充。第2章 JSP技术及其特点21 JSP技术简介JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,该技术为创立显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web效劳器,应用效劳器,浏览器和开发工具共同工作。 JSP标准是Web效劳器、应用效劳器、交易系统、以及开发工具供给商间广泛合作的结果。在传统的网页HTML文件(*htm,*.html)中参加Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web效劳器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在效劳器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。22 JSP的特点JSP技术在多个方面加速了动态Web页面的开发:一将内容的生成和显示进行别离 使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在效劳器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在效劳器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件,并且将结果以HTML或者XML页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。二强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件JavaBeans或者EnterpriseJavaBeansTM组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。中 16:16:12三采用标识简化页面开发 Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创立自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。 JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一局部,以及Java2企业版体系结构的一个组成局部,JSP技术能够支持高度复杂的基于Web的应用。 由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和平安性。作为Java平台的一局部,JSP拥有Java编程语言“一次编写,各处运行的特点。随着越来越多的供给商将JSP支持添加到他们的产品中,您可以使用自己所选择的效劳器和工具,更改工具或效劳器并不影响当前的应用。当与Java2平台,企业版(J2EE)和EnterpriseJavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。四技术分析 Microsoft公司的ASP技术也是动态网页开发技术。JSP和ASP从形式上非常相似,ASP程序员一眼就能认出以及。但是深入探究下去会发现它们很多的差异,其中最主要的有以下三点:1、JSP的效率和平安性更高ASP以源码形式存放,以解释方式运行,每次ASP网页调用都需要对源码进行解释,运行效率不高。另外,IIS的漏洞曾使得许多网站源程序大曝光,包括笔者以前用ASP开发的网站,ASP程序全部被人下载了去。JSP在执行以前先被编译成字节码(bytecode),字节码由Java虚拟机(JavaVirtualMachine)解释执行,比源码解释的效率高;效劳器上还有字节码的Cache机制,能提高字节码的访问效率。第一次调用JSP网页可能稍慢,因为它被编译成Cache,以后就快得多了。同时,JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中。2、JSP的组件(Component)方式更方便ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或者复杂计算别离出来成为独立可重复利用的模块。JSP通过JavaBean实现了同样的功能扩充。在开发方面,COM的开发远比JavaBean复杂和繁琐,学会ASP不难,但学会开发COM可不简单。而JavaBean就简单多了,从本文上述例如中可以看出开发JavaBean很方便。在维护方面,COM必须在效劳器上注册,如果修改了COM程序,就必须重新注册,甚至必须关机和重新启动。JavaBean那么不需要注册,放在CLASSPATH包含的目录中就行了。如果JavaBean进行了修改,那么JSWDK和Tomcat现在还需要关闭和重新运行但不是关机,但开发者已经许诺将在以后的版本中做到不需要关闭效劳器。另外JavaBean是完全的OOP,可以针对不同的业务处理功能方便地建立一整套可重复利用的对象库,例如用户权限控制、email自动回复等等。3、JSP的适应平台更广ASP目前仅适用于NT和IIS。虽然Unix下有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。23 JSP与传统技术的比拟传统的动态网页制作包括CGI、ASP、JSP三种,而JSP具有明显的优势。使用CGI-BINJ接口是一个最早的动态WEB页面问题的解决方案。缺点,CGI程序必须从CGI接口读入一长串的字符串,再从字符串中取得所需要的数据并加以处理。过程十分繁琐。另一个缺点,除了Perl是解释语言外,其他都是编译式的语言。每次修改后,都必须重新编译一次,这给开发人员带来麻烦,增加了工作量。ASP和JSP都能取代CGI使网站建设和开展变得简单快捷。尽管JSP技术和ASP在许多方面都有相似的,但仍然存在很多不同之处,其中最本质上的区别在于:两者是来源于不同的技术标准组织,其实现的根底,WEB效劳器平台要求不相同。1作为Java平台的一局部,JSP拥有Java编程语言“一次编写,各处运行的特点。一次写入,之后,可以运行在任何具有符合JavaTM语法结构的环境。取代之过去单一平台开发。 ASP主要工作环境是微软的IIS应用程序结构,又因Activex对象具有平台特性,所以ASP技术不能很容易地实现在跨平台的WEB效劳器的工作。2从开发人员的角度来看其区别在于:ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。3JSP标签可扩充性。JSP技术能够使用开发者扩展JSP标签,JSP开发者能定制标签库,减少对脚本语言的依赖4生成可重用的组件。JSP基于组件的技术方法加速了总体开发过程。 JSP组件Javabeans,或定制的JSP标签是跨平台可重用的。Javabeans组件可以访问数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。5易于维护性。 基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。如上的比拟不难看出,JSP技术编写的程序运用要更加灵活,可扩展性更强。第3章 系统分析环境 Hardware 硬件硬件环境(访问者):建议用户在力所能及的情况下采用较高配置的硬件资源。硬件环境(开发者):pentiumIII处理器,256M内存,10G磁盘空间。3.12 Software 软件访问者:IE、Netscape等浏览器。最好是IE浏览器,本网页在IE浏览器下通过了测试。开发者:1Operating System 操作系统:Windows2000/NT/XP2Tools 工具:EditPlus 2, DreamweaverMX3Database 数据库:Oracle8i4) Server (效劳器) :tomcat-5Run Circumstance (运行环境) :安装jdk-1_5_0_08支持Java运行。32 聊天室模块划分此系统模块要的功能是聊天功能和聊天室管理权限的实现,围绕着这个目标把系统制作划分为登录子模块、聊天字模块、管理员权限子模块和数据库模块。如图3-1所示。首页可以作为其它功能项的一个向导,起连接的作用,而管理员权限子模块又被细分为管理会员子模块、管理记录子模块。首 页 会员权限管理权限数据库登录验证登陆聊天室会员注册查询记录个人信息管理记录管理会员图3-1 模块划分结构图个人信息显示和聊天记录查询在系统中的实现其功能对所有用户可见,而管理会员与管理聊天记录功能只针对身份被标识为管理员的用户开放。33 模块设计登陆模块:用户身份验证设计。用户进入该系统,首先需要进行身份验证。如果通过了身份验证,那么为合法用户,同时其帐号和权限等资料将会保存在Session对象,Session对象储存的信息是局部的,随用户不同而不同的。当用户访问系统的各个子系统时,系统自动从Session对象中获取用户的资料,而无须将用户的资料作为请求方法、参数名、参数值追加到URL中。这样可以防止用户恶意修改URL中的值来非法访问。Session对象中的变量设置:Session“sendname 用户帐号Session“quanxian 用户权限 模块设计流程如图3-2所示。开 始输入用户名、密码判断数据输入是否合法?Y N报错信息进 入聊天室结 束图3-2 登录验证流程图用户登录这个过程是必须的,因为只有这样才能从数据库中得到用户的帐号和权限。聊天模块:聊天功能的设计。通过了注册后的用户才可以进行聊天。用户登陆后自动转入聊天主页,聊天主页主要由三个页面组成,分别是聊天显示和保存页面,在线信息显示页面和信息发送页面。登陆成功后其昵称会保存在右边的在线信息显示页面中。同时在聊天显示页面会显示欢送信息,并且在信息发送页面会出现自己的昵称。此模块的设计流程如图3-3所示。登陆成功聊天信息显示正常的聊天记录显示和保存信息发送页面选择聊天对象并发送聊天信息。在线信息显示显示所有在线人员的昵称不包含非法字符的聊天信息 发送个人控制面版 保存并显示图3-3 聊天功能实现流程图普通会员查询功能模块:提供普通会员的个人信息查询以及聊天记录的查询功能。模块设计流程如图 3-4所示。进入控制面版 个人信息显示聊天信息查询继续聊天离开图3-4 普通用户控制面版功能图管理员控制面版模块:管理聊天室功能设计。作为管理员应该有管理聊天室的能力,其中包括会员和聊天记录的管理两局部,一是删除会员,二是删除聊天记录。这个功能的实现需要使用SQL语言判断要删除的会员的用户名或者要删除记录发言人的用户名是否存在。存在那么删除并显示删除后的记录模块设计流程如图3-5所示。进入控制面版 管理会员管理记录聊天信息查询个人信息显示继续聊天离开图3-5管理员控制面版功能图34 数据库设计描述数据库设计无疑是以上功能实现的根底。制作数据库表首先要确定实体的属性和实体间的关系。数据库要存储所有的会员信息和聊天信息,表3-1 会员信息数据库FieldTypeusernameVarchar(20)passwordVarchar(20)sexChar(1)ageInt(11)nichenVarchar(40)quanxianInt(11)onlineInt(11)表3-2 聊天记录信息数据库FieldTypesendnameVarchar(20)BiaoqingVarchar(30)jiluVarchar(150)JreNameVarchar(20)Jtimedate权限设置使不同用户对不同模块有不同的操作权限。如表3-3所示表3-3 权限设置权限 描述 标记(quanxian)一般用户 查询资料 0管理员 会员,聊天记录的查询删除135页面设计客户端页面是用户和效劳器之间实现人机交互的一个介质。对它的制作要求简洁大方,色彩搭配要协调。本聊天室使用PHOTOSHOP对图片进行处理,制作出具有标志性的banner,并整个聊天室使用淡黄色作为主色调,给用户兴奋的感觉。在控制面版中使用表格设计方框使信息文字的显示更具有条理。第4章 系统模块功能实现41 登陆功能的实现网页中建立用户登录机制,为的是限制未经过登录的浏览者不能进入聊天室。让用户以帐号方式登录网页是一种可行的网页管理方法。在这个系统模块的后台数据库中建立huiyuan表,用来对用户的登录帐号和密码加以保存。此处设置了用户对象的session值。通过获取session值,遍历数据库,可以得到用户的昵称。如图 4-1所示。图 4-1登陆页面表4-1是这个模块的实现文件。表4-1 实现文件文件说明输入用户登录名和密码。login.jsp判断中用户输入的登陆名和密码。用户假设成功登录,将把登录的帐号和密码写入session对象。session.setAttribute(sendname,ni)42人员列表的实现聊天室主框架中的聊天人员列表,是一个聊天室比不可少的局部。它用于显示所有在线成员,让每个用户清楚的了解房间成员的一个页面,在这一模块中主要显示成员的呢称,如图4-2所示。图4-2人员列表为了能从数据库中提取到每个登陆用户,我们在数据库中的会员表中建立的一个字段onLine,根据他的值判断用户是否在线,当用户登陆时将他的值更新为1,然后在人员列表中通过查询得到在线人员列表。具体实现代码如下:Jsp文件的开头局部,包含数据库驱动。tryString sqls1=SELECT * FROM huiyuan WHERE onLine=1; String driverName=com.mysql.jdbc.Driver;/驱动程序名 String userName=zhouping; /数据库用户名 String userPasswd=123456;/密码 String dbName=liaotian;/数据库名 String tableName=huiyuan; /表名 String url=jdbc:mysql:/localhost/+dbName+?user=+userName+&password=+userPasswd; /联结字符串 Class.forName(com.mysql.jdbc.Driver).newInstance(); Connection connection=DriverManager.getConnection(url);/建立连接 Statement statement = connection.createStatement();ResultSet rs=statement.executeQuery(sqls1);String name=rs.getString(nichen);/获取数据库中的昵称43 发言及发言显示模块的实现4.31发言模块:在发言模块中,使用Dreamweaver对页面进行布局,在页面中参加聊天对象及表情列表。以及发言文本框和发送按纽。使其具有发送聊天内容的根本功能。如图4-31所示图4-31发送信息界面在页面的最左端显示用户的昵称,在聊天对象的列表框中使用数据库连接得到所有字段onLine等于1的用户。具体实现代码如下: 大家 option value= 为防止用户没有选择发送对象以及发送空信息刷屏,使用javascript组织上述操作,具体实现代码如下: function check()if(form1.D2.value=)window.alert(请选择你的聊天对象);return false;if(form1.message.value=)window.alert(发送信息不可以为空);return false;if(form1.D2.value=)window.alert(请重新你的聊天对象);return false;需要注意的是在发言页面中需要对聊天对象的列表框、表情列表框以及记录文本框命名好,然后在发言内容显示页面才能很好的得到这些数据并显示在页面中。4.32记录显示模块:当用户登陆进入聊天室页面的时通过获取session值显示欢送信息。在显示信息页面上方显示聊天注意问题“请各位聊友注意聊天室的规那么,不要在本聊天室内发表反动言论及对他人进行人身攻击,不要随意刷屏。如图4-32所示图4-32登陆后的记录显示页面获取时间:SimpleDateFormat sdf; sdf=new SimpleDateFormat(yyy-MM-dd HH:mm:ss); String curDate=sdf.format(new java.util.Date(); /获取时间显示聊天记录:使用application保存所有的用户聊天记录。使每个用户登陆进来都可以看到用户的聊天内容。具体实现如下所示:application.setAttribute(message,+curDate+session.getAttribute(sendname)+biaoqing+对+D2+说:+message);如图4-33显示聊天记录。图4-33显示聊天记录保存聊天记录:这个页面还需要实现用户聊天数据的保存。定义username, biaoqing,message,D2,curDate分别保存发送信息的用户,发送表情,发送信息,发送对象和发送时间。然后使用SQL语句insert into jilu values(+username+,+biaoqing+,+message+,+D2+,+curDate+);stm.executeUpdate(sqli);进行保存数据。非法字符的警告:在聊天过程中,用户很有可能输入一些非法字符,我们需要对这种输入进行警告。如图4-33所示图4-33输入非法字符具体实现代码如下所示if(message!=null&D2!=null)if(message.startsWith()out.print(+请不要输入带有标记的特殊符号+);return;else if(message.endsWith()out.print(+请不要输入带有标记的特殊符号+);return;此系统模块使用的文件如表4-3所示。表4-3 实现文件文件说明选择聊天对象,输入聊天内容。处理发送的信息,显示并保存。44 聊天信息更新问题的解决聊天室是一个开放的空间,需要及时更新进入的成员以及用户发送的聊天信息即时显示,由于 是建立在不可靠连接上,所以数据不可能一直传输。因此本聊天室使用自动刷新代码进行信息的更新,代码如下;在聊天记录显示页面使用2秒钟更新一次,使聊天信息即时显示。在用户列表中,由于其信息对时延要求并不是很高,因此采用5秒钟刷新一次。由于在发送信息页面也有一个发送对象列表,他的数据来源于所有登陆的用户,因此其数据也是动态更新的,但是发送信息页面经常的刷新对用户聊天带来很大的不便,所以在发送页面中发入一个刷新按纽,并在上方醒目提醒“请及时刷新以获得最新聊友列表。这样让用户自己刷新可以很好的解决数据更新并且不会对用户聊天带来影响。45 聊天室后台管理系统的实现在聊天室框架的会员列表中有一个指向控制面版的链接,通过它用户可以进入自己的控制面版。在登陆个人控制面版时,系统会从数据库中提取用户的权限,如果权限为0,那么为普通用户,如果权限为1,那么为管理员用户。同时在控制面版中会显示个人信息,它是从数据库中提取的登陆用户的一些根本信息实现代码如下: 会员欢送你! 你的昵称是:. 权限是:.46 聊天室会员个人控制面版如果是一般会员登陆控制面版,那么只显示可以进行的个人操作:显示个人信息以及查询聊天记录。如图4-61所示:如图4-61普通会员管理界面其显示个人信息,是从数据库中将登陆用户的信息全部显示在页面中。查询聊天记录是将数据库中的记录分页显示在页面中,实现代码如下:首先是连接数据库略,ResultSet rs=statement.executeQuery(SELECT * FROM jilu);/查询字段 rs.last(); /将游标移动到最后一行 int lastRow=rs.getRow(); /获取最后一行的行号 /计算分页后的总页数 pageCount=(lastRow%pageSize=0)?(lastRow/pageSize):(lastRow/pageSize+1); int showPage=1; /当前显示的初始页数int posion=(showPage-1)*pageSize+1; rs.absolute(posion); out.print(); out.print(); out.print(+发送人); out.print(+表情); out.print(+内容); out.print(+接受人); out.print(+发送时间); out.print();for (int i=1;ipageSize;i+) out.print(); out.print(+rs.getString(1)+); out.print(+rs.getString(2)+); out.print(+rs.getString(3)+); out.print(+rs.getString(4)+); out.print(+rs.getString(5)+); out.print() ; rs.next(); out.print(); connection.close(); 将数据按照提交的页码显示在页面中如图4-62所示。图4-62显示聊天记录 47 聊天室管理员控制面版在登陆进入个人控制面版时,会判断用户权限,如果权限为1的话,在中会有如下代码使用管理员具有管理用户和聊天记录的权限。代码如下:%if(quanxian=1)out.print(显示会员:); out.print(管理会员:); out.print(管理记录:);% 管理员控制面版如图4-71所示:如图4-71管理员管理界面在管理员控制面版中个人信息显示、查询聊天记录显示会员的功能代码与普通会员控制面版中的功能代码类似。管理会员功能的实现,界面如图4-72所示图4-72管理会员界面通过获取输入要删除会员的用户名提交到中,实现管理删除功能。具体实现代码如下: String name=request.getParameter(xingming); /获取提交的姓名 String sqldel=DELETE FROM huiyuan WHERE username = +name+; statement.executeUpdate(sqldel); /删除操作表4-73是这个模块的实现文件。表4-73 实现文件文件说明显示删除前的会员记录,并输入要删除的会员用户名。获取要删除会员的用户名,执行删除操作并将操作后的数据显示出来。管理聊天记录功能的实现与管理会员功能的实现类似。48 注销用户的实现用户进入聊天室时在对应的会员表中的onLine字段值赋为1,使在聊天室主框架中可以实时查询在线用户的记录。当用户离开聊天室时,应该通过SQL语句将onLine值从新赋为0,才能实现用户真正的离开聊天室,其界面如图4-8所示:图4-8会员注销界面实现代码如下:String sqlu = update huiyuan set onLine = 0 where nichen =+sendname+; statement.executeUpdate(sqlu);第5章 总结经过三个多月的调查、学习、研究和设计,系统的制作接近了尾声。在这里我将系统设计做如下总结。1本系统的功能已经到达设计的要求。系统中各个模块的功能均已实现,为整体系统的构建奠定了根底。2系统模块的功能可以被进一步扩展。例如,系统中还可以增加私聊,实现无刷新等功能。系统的页面可以设计的更加精美。3系统中模块划清楚确,模块功能设计有较强的针对性。4系统的设计遵循软件开发的全过程,使我对软件系统的开发过程有了更深刻的认识。5在系统的设计中能够灵活运用JSP的对象技术,并且使用有效的SQL语言操作后台数据库。软件的设计没有完美无缺的,这个系统在某些地方可能存在缺乏,还需要我们进一步的改良和完善。在这段时间里,我获益非浅,不仅将所学的知识运用到实践,而且更进一步学习了软件开发技术,增强了JSP开发技术的语法根底,能够将其比拟灵活地使用。以下是我个人制作中得出的一点见解如果查询语句中有多个Select且嵌套,如 public String getS(Statement stmt,String sql1,String sql2)ResultSet rs=null;Tryrs=stmt.executeQuery(sql1);while(rs.next()ResultSet rs1=stmt.executeQuery(sql2)If(rs1.next()String s1=rs.getString(1);String s2=rs1.getString(1);.catch(SQLException e)return rs;如果如上所述,两个以上的Select 语句使用一个Statment ,那么将出错或者得出的结果不正确。可以使用增加Statement 参数的方法解决,以实现上述查询功能,但是使用增加Statement 参数的方法毕竟是有局限的,如果嵌套层数增加,Statement 参数也许也得跟着增加,这样对于程序的可扩展是不利的。另外,在获取表单中值时,经常需要进行字符串转换,否那么数据库不能识别,只将字符存储为乱码。有时候还需要设置一个中间变量来传递字符串的转换。将这个作品投入使用是我们的期望,系统功能会在实践中不断的摸索,到达最正确的使用效果。六、参考文献:1武延军、黄飞跃等.精通JSP编程技术.人民邮电出版社。2001年08月2王诚梅、袁然、王艳.JSP案例开发集锦.电子工业出版社。2005年8月3赛荃春、陈威、白伟明、李楠等.JSP工程应用与工程开发.机械工业出版社。2005年2月5孙鑫.Java Web开发详解:XML+XSLT+Servlet+JSP深入剖析与实例应用.电子工业出版社。2006年04月6刘晓华,张健,周慧贞.JSP应用开发详解(第三版).电子工业出版社。2007年01月7郎波.JAVA语言程序设计.清华大学出版社。2005年5月8Bruce W.Perry著朱涛江 邹红霞 林琪译Java Servelet & JSP经典实例.中国电力出版社。2005年7月9 美霍尔,美布朗 著.赵学良 译. Servlet与JSP核心编程(第2版)/Java技术丛书.清华大学出版社。2004年07月致谢 在短暂的四年大学时光里,同学和朋友们给了我无私的帮助与支持,在此我对所有学习和生活上帮助过我的同学们表示深深的谢意!
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


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

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


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