《java聊天室的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219毕业答辩Java聊天室的设计与实现学院:软件学院专业:软件专业Java聊天室的设计与实现摘要本次毕业设计主要实现了基于Java的聊天系统的功能。此系统在模仿QQ软件的基础增加了通信的安全性。在现在已有的聊天软件中,经常用户的帐号会被盗取,导致用户建立起来的与各个朋友的联系方式被盗取。因此对所有通过网络来传输的数据都需要进行加密来保证其安全性。通过分析聊天系统的功能以及性能等的需求,运用了java技术,设计并实现了基于java的聊天系统,并在Eclipse上搭建了项目及运行。该系统总体划分为两大功能模块:客户端功能模块和服务器端功能模块。客户端又分为用户注册、已注册用户登录、用户的好友显示、用户之间的聊天、添加好友、查看用户好友信息六大服务功能模块。实现了聊天系统所需要的各项功能。此外,使用SQLServer20005数据库来实现数据存储,设计并编写java类来实现对SQLServer2005数据库中的数据的操作。关键字Java聊天系统;Eclipse;SQLServer2005数据库本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219DesignandimplementationofJavachatroomAbstract ThemainachievementofthegraduatedesignfeaturesJava-basedchatsystem.ThissystemisthebasisofimitationQQsoftwaretoincreasethesecurityofcommunications.Inthechatsoftwarenowhasregularuser'saccountwillbestolen,causingtheusertobuildupcontactswithvariousfriendswasstolen.Therefore,alldatatransmittedoverthenetworkneedstobeencryptedtoensuresecurity.Byanalyzingthedemandchatsystemfunctionalityandperformance,theuseofjavatechnology,designandimplementationofjava-basedchatsystem,andbuiltontheEclipseprojectandrun. Theoverallsystemisdividedintotwomodules:theclientandserver-sidefunctionalmodulesfunctionmodules. Clientisdividedintouserregistration,registereduserlogin,theuser'sfriendsshowchatbetweenusers,addfriends,viewtheuser'sfriendsinformationsixservicemodules. Chatsystemimplementsthefunctionsrequired. Inaddition,theuseofSQLServer20005databasetostoredata,designandwritejavaclasstoimplementthedataSQLServer2005databaseoperations. Keywords:Javachatsystem;Eclipse;SQLServer2005database 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219目录摘要IABSTRACTII目录III1.引言11.1系统的背景介绍11.2目标系统的概述11.3系统的前景12.系统的需求分析32.1聊天软件的功能简介32.1.1聊天软件客户端功能32.1.2服务器功能43.系统的设计53.1系统的整体结构设计53.2系统的详细设计53.2.1服务器模块设计53.2.2客户端模块设计74.系统的实现11本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj7812194.1使用技术的介绍114.2编程工具的选择134.3数据库系统的实现134.4数据库的连接设计145.系统设计的独特思想165.1对腾讯QQ的基本功能的调查165.2本系统设计166.系统功能举例187.系统测试22结束语24参考文献25致谢26附录27部分模块代码27外文原文34中文翻译42本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj7812191.引言1.1系统的背景介绍近些年来,由于随着信息技术和网络的飞速发展,聊天软件成为了新的人与人交流的工具,于是各种聊天软件便随之诞生。此系统在模仿QQ软件的基础增加了通信的安全性。在现在已有的聊天软件中,经常用户的帐号会被盗取,导致用户建立起来的与各个朋友的联系方式被盗取。因此对所有通过网络来传输的数据都需要进行加密来保证其安全性。这是本软件相对于其他大部分软件的优势所在。本系统采用Java语言作为开发语言,而Java语言又以其优秀的安全性和可移植性,越来越多的被人们所青睐以及使用。基于局域网的即时通信工具,实际上是互联网即时通信工具的一个小规模版本,广域网上的即时通信工具,如今一般采用UDP或者TCP协议体系来实现,开发技术已经比较成熟,比如较早的ICQ、MSNMessenger、YAHOO通等国外开发的产品,还有国产的有名的QQ、新浪UC、LAVA-LAVA等,这些工具统统都实现了广域网上的即时通信,尽管都是即时通信,实现了即时聊天,以及文件传输的主要功能,但是也各有各的特色,比如ICQ的巨大客户群,MSN的个性化表情,YAHOO通的易操作性等,而QQ也具有一个相当方便的屏幕截图功能,另外就是,所有上述软件都实现了网络即时的视频,语音聊天功能。这些软件,在使用方面各有特色,在实现方面也各有所长,但由于这些产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是它在大的方面无非就是各种利用各种平台上的网络通信接口,建构基于下层TCP/IP,或者UDP/IP协议的软件产品。在局域网内,这些功能的实现跟广域网相比更加简单,因为局域网的网络结构本身比广域网要简单,但是可以借此理解网络协议,以及网络通信工具的实现原理,所以仍然极具研究价值。1.2目标系统的概述我完成的题目——java聊天室的设计与实现该题目是我在了解当前聊天软件的现状,并通过对Java的学习后下决心完成的。通过学习Java使我了解它的优势,并通过与当前网络聊天软件的缺点对比,我发现Java语言能很好编写此聊天系统。“Java支持统一的数据库接口标准JDBC(JavaDatabaseConnectivity),Java可以通过JDBC驱动程序直接访问数据库。”等优秀的特性。我通过查阅网络上一些优秀聊天系统的设计思想和代码,并从中吸取了许多别人设计的系统的优点。我想有前人优秀的设计基础,以及我在大学中所学的专业知识,我对完成此次设计充满信心。1.3系统的前景本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219本聊天系统未来将作为未接入internet局域网的聊天软件,用户之间可以进行方便的信息交流和文件传输。网络技术和数据库管理技术的不断发展,C/S体系结构在软件的开发中越来越流行。因为这种结构的局域网即时通讯软件可以充分发挥网络的作用和数据库系统的优势,以满足企业各种应用的需求。局域网内部文件传输及聊天工具平台,是在企业局域网内部使用的,员工之间用来交流和文件共享的一个工具,一般都会具有文本聊天、文件传输等功能,随着近来信息技术的发展,视频会议、远程协助、系统集成、分级管理、通知公告、群组讨论、企业文件柜等适合与企业内部使用,操作方便的功能点逐渐融入到局域网语音聊天工具之中,以其消耗少、使用简答、沟通安全等特点成为现今企事业单位内部沟通应用最广泛的软件之一。局域网聊天软件利用的是互联网线路,通过文字、语音、视频、文件的信息交流与互动,有效节省了沟通双方的时间与经济成本;局域网聊天软件不但成为人们的沟通工具,还成为了人们利用其进行电子商务、工作、学习等交流的平台,将日常办公的传统沟通方式替换,有效的减少办公费用的同时,较之更有效率百分之一。本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj7812192.系统的需求分析2.1聊天软件的功能简介本软件系统主要有两大模块,分为服务器端功能部分和客户端功能部分。在服务器端主要是用来处理客户端传来的各种消息的,其消息包括用户登录连接请求,用户请求发送给哪位用户的消息区分并将此消息再传递给接收的用户,用户的退出等等。客户端主要是用来实现各种需求的,如注册、登录、登录之后显示登陆成功的主面板,生成需要聊天的聊天窗口,添加好友,查看好友信息等等。其中客户端用例图如下:图2.1客户端用例图2.1.1聊天软件客户端功能(1)用户注册新用户录入(用户登录名,密码与确认密码),如果用户登录名与系统中已注册的用户登录名不相同,命名符合指定的规则,且密码与确认密码一致,则系统报告“注册成功”,否则系统将提示你“登录名已存在”,或者提示“不符合命名规则”,等相关信息,这时便需要重新注册。为了及时告诉注册用户其注册名是否符合规则,在此使用了响应时间的机制,在用户填写完毕,将光标聚焦到其他的输入框就开始判断,符合规则,不给予提示,否则会报告错误。(2)用户登录注册用户输入登录名与密码,如果与系统中已注册的用户登录名及密码匹配,则用户登录成功,否则提示错误。(3)主面板本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219用户登录成功后,系统会自动提取该登录用户的好友,按照好友所在的分组依次显示在各个分组之下,这些信息都显示在主面板之上。此外在主面板上还有添加好友功能,显示选中的好友的相关信息。(4)聊天用户通过点击好友列表需要聊天的好友,会弹出与其聊天好友的面板,在此面板可以向好友发送信息和显示来自好友的信息。(5)添加好友用户通过点击此按钮,会弹出添加好友的对话框,在此对话框中添加需要添加的的好友的用户名,再添加完毕之后,同样是通过事先响应机制来查看是否此好友存在,如果不存在,会给与提示。如果存在,分组下拉列表会显示当前用户所拥有的分组,然后用户就可以选择需要添加的好友的所在的分组。(6)查看好友信息在好友列表中选中想查看的好友,然后点击“查看好友信息”按钮,会弹出一个一个对话框,显示可以查看的此好友的信息。包括好友的用户名,昵称,此好友拥有的好友数,以及此好友和当前登录者共同拥有的好友。2.1.2服务器功能服务器主要是用来为来自客户端的各种消息提供各种服务,以及显示当前链接到服务器的用户的状态:包括哪些用户登录了,哪些用户断开连接,当前在线的用户的列表等相关信息。本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj7812193.系统的设计3.1系统的整体结构设计按照需求分析的要求我对本聊天系统主要进行了两大模块设计,现进行模块划分如图3.1。聊天室系统客户端服务器图3.1聊天系统模块划分图3.2系统的详细设计3.2.1服务器模块设计1.服务器模块功能:此模块主要有菜单,文本框,列表,水平垂直滚动条以及标签组成。(1)启动服务器,在服务器端监听发送过来的各种消息(2)对于新的socket发送过来的消息,进行接收,将这个socket添加到服务器管理客户socket队列,并启动一个新的线程来为这个socket提供服务。(3)每一个新的线程负责自己的客户的socket,接收来自此socket的消息,分析这消息,将其进行相应的处理。这些消息包括:用户登录连接和验证请求,客户端发送过来的消息进行解析,然后提取需要的发送给的接受者,将消息给负责接受者的线程,让接受者线程将消息发送给接受者。用户退出,在列表同样会显示退出的用户,并会刷新当前在线的用户。本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj7812192.服务器模块的关系图如图3.2所示:图3.2服务器模块流程图3.服务器界面介绍:启动此类后,会看到一个菜单栏,启动服务器需要点击“文件”中的“连接”会在文本框中显示相关信息。“文件”中“退出”即退出服务器,在退出前做一些处理操作,例如,如果还有用户连接在此服务器,会告诉用户服务器退出。以及在服务器中用到的一些流或者套接字操作进行相应的关闭操作。防止退出服务器,还有一些对象在内存占据空间,造成不必要的浪费。服务器模块设计到得类如下图所示:本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219图3.3客户端和服务器端类图3.2.2客户端模块设计1.注册模块功能:(1)用户名检验:命名规则验证和是否存在验证。其中命名规则验证时利用正则表达式进行验证是否符合规则,见代码块正则表达式部分。利用响应事件来判断,使用户尽早发现问题。此用户名是否存在利用通过查找数据库看是否存在此用户名已经存在。(2)昵称:为了让用户使用自己喜欢的名字,不再受到各种约束。(3)密码:对用户输入的密码和确认密码进行比较,如果二者相等,会给与提示。(4)确认:将用户的注册的信息添加到数据库的用户列表中,其中对添加的密码是经过加密操作的。(5)取消:关闭此对话框此功能模块类中的主要属性和方法图3.4用户注册页面结构2.登录模块的功能在此获取要登录用户的用户名和密码,然后将这些信息加密发送到服务器上,然后由服务器调用数据库中的数据来查看是否用户发送的数据是否正确,然后将信息返回给客户端。如果错误会在登录框给与提示,否则将自动跳转到登录成功用户的主面板,并将好友显示;此模块由标签,编辑框,密码编辑框和按钮组成。此模块类主要的属性和方法如下图所示:本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219图3.5用户登录页面结构3.主面板模块的功能此模块主要由树控件,按钮组成。(1)此模块主要是在初始化的时候显示如下的信息:a、根据登录成功的用户的在主面板的标题上显示登录用户的用户名,以来区分多个用户登录显示的多个主面板b、利用树的控件显示好友列表,根据登录的用户的好友所拥有的群组,按照群组进行分类,将好友显示在所在的分组中(2)功能按钮:a、添加好友:为当前登录的用户添加好友到指定的组中b、查看好友信息:对自己好友列表中的好友可以通过对选中好友查看其可以看到的信息(3)事件响应:在此控制面板中需要添加对选中的好友的信息进行提起,提取的信息一方面是用来生成与选中的好友进行对话的聊天窗口,对生成的每个聊天窗口用一个HashMap进行统一的管理,以便从服务器来的消息可以区分出是来自那个对话者,然后让其显示在取其对话者的接受消息窗口中;另一方面是用来为查看好友的信息进行作准备。此模块对应的类的主要属性和方法如下图所示:图3.6用户主面板页面结构4.聊天模块的功能本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219此模块同样是采用在对话框中显示需要的功能。在此对话框中拥有接收消息和发送消息窗口,以及发送和取消按钮。在初始化中显示以上控件,并且在对话框的标题栏显示与其对话者的用户名。(1)发送消息窗口:在此窗口编辑要发送的消息(2)接收消息窗口:在此窗口显示编辑的发送消息和接受来自与其对话者发送过来的消息,并且对话者的每条消息都会在其消息前面添加对话者的用户名,以来区分是发送的消息还是接受的消息(3)发送按钮:取出在发送消息窗口编辑的发送消息,对其进行加密处理,然后将消息发送到服务器上。(4)取消按钮:将发送消息窗口的消息清空。此功能模块的类的主要的属性和方法如下图所示:图3.7用户聊天页面结构5.添加好友模块的功能此模块首先要求输入添加的好友的用户名,然后选择将要添加到用户的分组中。在此模块中主要有标签,编辑框,下拉列表以及按钮控件组成。(1)响应事件:对输入用户名编辑框添加相应事件,当用户输入完毕,进入下一控件进行相应的操作,会检测此用户是否存在,如果不存在会给与提示,若存在就在下面组选择列表中显示所拥有组供用户选择。(2)确定按钮:将用户要添加的好友的信息添加到当前在数据库中的用户的好友信息表中。模块的类图如下图所示:本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219图3.8用户添加好友页面结构6.查看好友信息模块的功能此模块的主要功能是对选中好的信息查看,信息包括好友的用户名,昵称,好友拥有的好友数目,以及好友与本人共同的好友列表。模块中涉及的控件主要有:标签,编辑框,列表。本模块主要涉及对数据库的操作,一个是直接提取好友的一些直接的信息,一个是计算此好友所拥有的好友的数量,再一个是涉及到本人和好友两个人的信息,计算出共同的好友。此模块类中的主要属性和方法如下图所示:图3.9用户查看好友页面结构7.启动客户端模块的功能本模块主要是作为客户端的启动模块,用来统一操纵上述的各个模块,使他们能够协调远转。另外本模块还定义了一些特别的属性,例如套接字,输出输入流,缓冲等,以提供给客户端各个模块使用。减少每次启动新的模块都要重复定义相同的属性,并且在模块退出时还需要进行相应处理,防止出现内存浪费的现象。虽然Java有回收机制,但是依靠这种机制在有些方面还是比较被动的。由于服务器给每个客户端来的新的套接字都分派一个新的服务进程来提供服务,如果每次都用新的套接字,会出现混乱的现象。此模块涉及到类的属性和方法:本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219图3.10客户端模块类图4.系统的实现4.1使用技术的介绍java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE,JavaME,JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java的主要特性:Java语言是易学的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。Java语言是安全的。本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。[6]Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响:(1)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。(2)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java.2平台和.NET平台两大派系,推动了整个IT业的发展。(3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以及咨询服务商出现。企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219(4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。Java技术已经成为当今Internet应用开发的核心与主流技术。这一方面是因为Java语言具有面向对象、可移植性、强壮性与安全性等优良特性,另一方面也由于Java技术对各个层次的应用都提供了全面系统的方法和技术。因此,随着时间的推移,Java技术的应用会更加的广泛。4.2编程工具的选择本系统是以Eclipse为主要开发工具,Eclipse是免费的开发工具。Eclipse具有强大的IDE,这套强大的集成开发环境中,除了具备常用的编辑、编译、调试等基本功能外,还具备了开发者精心为程序员打造的项目管理、重构和UML建模等扩展功能。目前全球有上百万人在使用Eclipse进行开发。为什么Eclipse拥有如此众多的拥趸?这与Eclipse集众多特性于一身有很大关系。Eclipse是开放源代码的软件。这意味着Eclipse不仅可以免费使用,还可以通过研究源代码学习世界上顶尖开发人员的编程技术,并可以共享遍布全球的开发人员所贡献的公共开放源代码库。Eclipse是真正可扩展并可配置的。Eclipse采用插件机制,犹如一个花瓶,你可以随时向花瓶里面插花,也可以很容易将不再需要的花取出。目前,互联网上免费的、收费的插件遍地开花,插件开发工作在国内外也如火如荼。Eclipse支持众多的开发语言而不仅仅是Java。Eclipse只是给开发人员提供了一个能够扩展系统功能的最小核心,基于扩展点的插件体系结构使得Eclipse支持多种语言成为可能。只要安装相应语言的插件,Eclipse就可以支持该种语言的开发。目前,Eclipse已经可以支持C/C++、COBOL、PHP、Perl、Python等多种语言。(尽管Eclipse主要是一个Java开发环境,但其体系结构确保了对其它编程语言的支持)。Eclipse提供了对多重平台特性的支持。开发者可以使用他们感觉最舒适、最熟悉的平台,例如Windows、Linux、MacOS等。Eclipse对每个平台都有其单独的图形工具包,这使得应用程序具有接近本地操作系统的外观和更好的性能。基于业界领先的OSGi规范。OSGi规范最早由SunMicrosystems、IBM、爱立信等于1999年推出,其服务平台包括:服务网关、汽车、移动电话、工业自动化、建筑物自动化、PDA网格计算、娱乐(如iPronto)和IDE等。基于OSGi的系统以微内核形式运行,因而能够轻松实现软件业界梦寐以求的可热插拔、动态改变行为、稳定高效的系统。Eclipse从3.1开始,毅然抛弃了其原有的已经获得业界认可的框架,采用OSGi作为其架构。从Eclipse3.2版本开始,Eclipse提供了基于OSGi开发的支持,开发者可以利用其开发基于OSGi的系统了。Eclipse美轮美奂的人机界面受到广泛赞誉。Eclipse提供了全新的SWT/JFaceAPI(而不是AWT/Swing),一改SWT/Swing单调、沉闷的界面风格,使得开发基于本地的具有丰富图形界面的应用程序成为可能,犹如一股春风吹进Java的桌面开发领域,给人耳目一新的感觉。本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219Eclipse由业界领先者推出,具有强大的行业力量。Eclipse基金会吸收了大量学术研究机构、商业组织,领导Eclipse的长远规划和发展,并确保Eclipse处于软件工具行业的领先地位。4.3数据库系统的实现首先建设一个数据库名称QQChat,该数据库主要由userInfo表和各个用户表构成。其中userInfo表主要是用来保存通过注册的用户的相关信息,而各个用户表是用来保存对应用户的好友。其中各个表的结构如下所示:表4.1userInfo表的结构如下表:FieldTypeNullKey说明IDVarchar(20)PRIid是用户的登录名PasswordVarchar(50)Yes用户的登录密码,以密文的方式进行了保存NicknameVarchar(20)Yes用户为自己命名的昵称表4.2各个用户表的结构如下表:FieldType说明Friends_IDVarchar(20)此用户的好有名GroupsVarchar(20)这位好友所在的组4.4数据库的连接设计首先数据库的连接方式采用JDBC的方式进行的连接。JDBC是Sun提供的一套数据库编程接口API函数,由Java语言编写的类、界面组成。JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用程序时真正实现“WriteOnce,RunEverywhere!”数据库的连接工作主要通过服务器由一个java类来完成。请见附录中Conn.java代码实现部分。创建一个以JDBC连接数据库的程序,包含7个步骤:1、加载JDBC驱动程序:本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(StringclassName)实现。成功加载后,会将Driver类的实例注册到DriverManager类中。2、提供JDBC连接的URL连接URL定义了连接数据库时的协议、子协议、数据源标识。书写形式:协议:子协议:数据源标识协议:在JDBC中总是以jdbc开始子协议:是桥连接的驱动程序或是数据库管理系统名称。数据源标识:标记找到数据库来源的地址与连接端口。3、创建数据库的连接要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。使用DriverManager的getConnectin(Stringurl,Stringusername,Stringpassword)方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。4、创建一个Statement要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:执行静态SQL语句。通常通过Statement实例实现。执行动态SQL语句。通常通过PreparedStatement实例实现。执行数据库存储过程。通常通过CallableStatement实例实现。5、执行SQL语句Statement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate和executeResultSetexecuteQuery(StringsqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。intexecuteUpdate(StringsqlString):用于执行INSERT、UPDATE或DELETE语句以及SQLDDL语句,如:CREATETABLE和DROPTABLE等execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。6、处理结果两种情况:执行更新返回的是本次操作影响到的记录数。执行查询返回的结果是一个ResultSet对象。ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。7、关闭JDBC对象操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:关闭记录集关闭声明关闭连接对象本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj7812195.系统设计的独特思想5.1对腾讯QQ的基本功能的调查腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件。标志是一只戴着红色围巾的小企鹅。腾讯QQ支持在线聊天、视频聊天以及语音聊天、点对点断点续传文件、共享文件、网络硬盘、自定义面板、远程控制,QQ邮箱等多种功能,并可与移动通讯终端等多种通讯方式相连。1999年02月,腾讯正式推出第一个即时通信软件——“OICQ”,后改名为腾讯QQ。QQ注册用户由1999年的2人(马化腾和张志东)到现在已经发展到上亿用户,2014年4月11日21点11分在线人数突破两亿,如今已成为腾讯公司的代表之作,是中国目前使用最广泛的聊天软件。QQ支持显示朋友在线信息、即时传送信息、即时交谈、即时发送文件和传送语音网址。QQ可以自动检查您是否已联网,如果您的电脑已连入Internet,可以搜索网友、显示在线网友,可以根据QQ号、昵称、姓名、E-mail地址等关键词来查找,找到后可加入到通讯录中。当您的通讯录中的网友在线时,QQ中朋友的头像就会显示Online,根据提示就可以发送信息,如果对方登记了寻呼机或开通了GSM手机短消息,即使离线了,您的信息也可“贴身追踪”,及时将信息传递给您的好友。左键单击好友的头像,有收发讯息、传送文件、传送语音、二人世界、手机短讯、发送邮件、个人主页、查看信息等功能。具体如下:收发消息:这是QQ最常用的功能,当您的QQ上线以后,您可以接收好友发来的QQ消息或者发送、回复消息给好友。传送文件:您的好友在线时,只需用左键点击图标,选择“传送文件”,选定要传送的文件,点击发送,等待对方接受请求即可。传送语音:利用此功能可以传送语音信息。插好话筒,左键点击图标,选择“传送语音”,按提示先录好音,或者打开已录好的文件,发送出去。附言栏里可加入附言文字。发送邮件:可以直接给QQ上的网友发邮件,而无须再输入E-mail地址。查看资料:查看及更新QQ上网友的个人信息资料。邮件检查:设置您自己的E-mail,填好邮件POP3地址及SMTP地址,您可以选择定时检查时间,QQ就会自动检查有否新邮件到达。BP机短讯:您可以将短讯以文字的方式传给好友的BP机,不管他是否在网上。本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219手机短讯:在QQ中,您还可以把您要讲的话用文字的方式发送给您的好友的手机,只要他的手机是QQ所支持的,并且开通了短消息服务功能。5.2本系统设计在设计本聊天系统中,我参阅了不少较好的聊天程序代码。纯java代码编写的聊天系统,像本软件。这个系统也是采用房间管理的机制,客户端/服务器模式。通过对别人设计的总结,我采用各种代码优势结合的方法。渐渐总结出自己的设计思想。⒈在用户登录、注册、主面板、消息接收或发送等都放在一个独立的模块用一个的类来实现,有利于生成多个同一个类的对象,符合面向对象的设计思想。⒉在页面编写中需要独立功能的放在一个类中实现,有利于在其他的类中直接生成其对使用就可,在程序开发中避免语句的重复编写,提高代码的利用率。如我设计中的Conn.java,RegexChk.java,DESCipher.java。⒊尽量保持聊天室的页面流畅、负载能力强、灵活易用、性能稳定。本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj7812196.系统功能举例1.服务器界面:服务器界面是在客户登陆之前需要打开的,以接受来自客户端的连接请求。在实现了界面之后,需要用户点击菜单栏的文件按钮,文件按钮的下拉菜单有连接按钮,点击链接才正式启动了服务器,启动后的服务器的界面如下图6.1所示:图6.1服务器界面2.登录界面:登录界面是让用户完成登录功能的,有帐号的用户只要输入正确的用户名和密码即点击登录按钮可登录到聊天页面,登录界面如下图6.2所示:本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219图6.2登录界面3.注册界面如果用户没有账户名,也可以先注册再登录。当用户要注册时,可以点击“注册”按钮,打开注册界面,在注册界面,用户只需按照提示输入自己想使用的用户名和密码,用户名由4-20位数字、字母、下划线、汉字组成,结尾不允许为下划线,点击确认按钮可完成注册。注册界面如下图6.3所示:图6.3注册界面4.主面板界面当用户登录成功之后,会自动跳转到登陆成功用户的主面板界面显示相关的信息,会显示用户好友的分组及组中的列表,分组的类别为:朋友、同事和同学等。用户主面板如下图6.4所示:本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219图6.4主面板界面5.聊天界面:聊天界面如图6.5所示。这里主要包含了用户聊天功能。当用户要发送信息时,只要在发送消息窗口编辑自己想要发送的消息,然后点击“发送”按钮即可。发送的信息就会在分别在自己和聊天对象的接受消息窗口中显示。用户的聊天界面如下图6.5所示:图6.5聊天界面6.添加好友界面:通过此界面就可以完成添加好友到指定的群组中。用户点击添加好友按钮进入添加好友界面,在添加好友的用户名中输入要添加的好友用户名,选择所在的组分别为:好友、同学和同事等,点击确定按钮就可以完成添加好友功能。添加好友界面本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219如下图6.6所示:图6.6添加好友界面7.查看好友界面:对好友列表中的好友选中某一个,然后点击“主面板”中的“查看好友信息”按钮,就可以看到此好友相关的信息,有好友用户名、匿名、好友的好友个数和查看你们的共同好友。查看好友界面如图6.7所示:图6.7查看好友信息界面以上几个界面即本系统在运行时可以选择显示的。本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj7812197.系统测试系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。流程如图1所示。系统测试的目的是验证最终软件系统是否满足用户规定的需求。主要内容包括:·功能测试。即测试软件系统的功能是否正确,其依据是需求文档,如《产品需求规格说明书》。由于正确性是软件最重要的质量因素,所以功能测试必不可少。·健壮性测试。即测试软件系统在异常情况下能否正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力。本系统测试使用黑盒测试,下面是各个功能模块测试的测试用例:注册功能模块测试用例:表7.1注册功能模块无效的测试用例用户名密码111aaaa_111a111aa111本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219aaa111@aaaa111$aaaa111&aaaa111表7.2注册功能模块有效的测试用例用户名密码_wangwu111wangwu1111wangwu111王武111登录功能模块测试用例:表7.3登录功能模块无效的测试用例用户名密码_libai111libai1111libai111李白111_wangwuaaaa111表7.4登录功能模块有效的测试用例用户名密码_wangwu111本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219wangwu1111wangwu111王武111结束语◆系统的缺陷和不足1.由于系统没有经过网络测试,在网速太慢情况下,用户能否正常登录和正常聊天不太清楚。2.由于时间的原因,系统的在追求功能方面下了比较大的力气,在美观方面还有有缺陷的。◆评价在信息化社会的今天,人们生活节奏的加快,网络已经是人生活不可缺少的一部分。人们应用网络的目的,主要有信息检索、网络办公和在线交流等。但随着网络用户的增加,网络资源显得越来越匮乏。一个流畅、负载能力强、灵活易用、性能稳定的聊天室是人们所期盼的。所以以先进的Java技术开发的聊天系统正能满足人们的要求。事实上,也已经验证了Java技术在网络上有着的有利优势。由于我的水平有限,所作的工作远远不足人们对聊天室的要求。但我会继续努力,争取完善我的聊天室系统。我也相信将来会有基于Java更好的聊天室问世,功能也会满足人们的需求。我希望通过这次设计,能给我的大学生活留下个美好的回忆。◆体会本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219在这次设计中,我真正的体会到做一个系统的艰辛。从资料查阅,系统编码开发,到编码的测试,都需要扎扎实实地去学习和研究。尤其是开发的初期,在系统的需求分析和编程工具熟悉上非常重要。在短短几个月的系统设计中,我认识到自己理论知识的不足,特别在编写程序时,总是出现一些注意不道的错误。这样会使我在调试程序,付出很多时间,才能慢慢的发现这些错误。这使我认识到,学习和掌握全面理论知识的重要性。我想通过本次设计,我学会了许多东西,而这些东西将在我以后的学习中,起到重要的作用。我也会以本次设计为契机,奔向更高目标。参考文献[1] [美]RogersCadenhead.Java编程入门经典(第4版).梅兴文译.北京:人民邮电出版社,2007.32~55 [2] 陈轶,姚晓昆.Java程序设计实验指导.北京:清华大学出版社,2006.86~105[3] 杨昭.二级Java语言程序设计教程.北京:中国水利水电出版社,2006.54~164 [4] 赵毅.跨平台程序设计语言——Java.西安:西安电子科技大学出版社,2006.10~35 [5] 雍俊海.Java程序设计习题集.北京:清华大学出版社,2006.102~132[6] 朱福喜.Java语言习题与解析.北京:清华大学出版社,2006.105~155 [7] 谷铁涛.用java访问SQL 2000 数据库.期刊:中国科技信息,2007(16).76~104[8]王珊.数据库系统概论.西安:西安电子科技大学出版社,2006.34~55[9] 古乐,史九林等.软件测试技术概论.北京:清华大学出版社,2005.84~102 [10]贺平.软件测试技术.北京:机械工业出版社,2004.33~54[11]张海藩.软件工程导论.北京:清华大学出版社,2006.38~98[12]RogersCadenhead.SamsTeachYourselfJava6in21Days.美国:Sams出版社,2007.103~108本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219致谢历时将近两个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。尤其要强烈感谢我的论文指导老师—段利国老师,老师渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪,他对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。在设计开始的初期,老师帮助我搜集大量的设计相关资料,使我快速掌握了聊天系统设计的基本步骤,以至于我的设计工作进展顺利,在此我谨向老师表示诚挚的谢意!另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此向帮助和指导过我的各位老师表示最衷心的感谢!感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。感谢我的同学和朋友,在我写论文的过程中给予我了很多你问素材,还在论文的撰写和排版灯过程中提供热情的帮助。由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评和指正!本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219附录部分模块代码1、正则表达式部分importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassRegexChk{publicbooleanstartCheck(Stringreg,Stringstring){booleantem=false;Patternpattern=Pattern.compile(reg);Matchermatcher=pattern.matcher(string);tem=matcher.matches();本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219returntem;}/***检验用户名*取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾*用户名有最小长度和最大长度限制,比如用户名必须是4-20位**/publicbooleancheckUsername(Stringusername,intmin,intmax){Stringregex="[\wu4e00-u9fa5]{"+min+","+max+"}(?0)returntrue;}catch(SQLExceptionex){System.err.println("EXECUTEORDER:"+ex.getMessage());}returnfalse;}本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219外文原文DevelopingSwingApplicationsThefirstexposureofmanypeopletotheJavaprogramminglanguageisintheformofapplets,smallandsecureJavaprogramsthatrunaspartofawebpage.JavaWebStart,aprotocolfordownloadingandrunningJavaprograms,makesitpossibletorunapplicationsfromawebbrowserasiftheywereapplets.Today,youlearnhowtocreatetheseweb-launchedJavaprogramsasyouexplorethefollowingtopics:1.HowtoinstallandrunJavaapplicationsinawebbrowser2.Howtopublishyourapplication’sfilesandrunit3.HowSwingapplicationscanrunintoperformanceslowdownsontime-consumingtasks4.HowtosolvethisproblembyusingSwingWorker,aclassthatper-formsSwingworkin本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219itsownthreadJavaWebStartOneoftheissuesyoumustdealwithasaJavaprogrammerishowtomakeyoursoft-wareavailabletoyourusers.JavaapplicationsrequireaJavainterpreter,soonemusteitherbeincludedwiththeappli-cationorpreviouslyinstalledonthecomputer.Lackingeitherofthose,usersmustinstallaninterpreterthemselves.Theeasiestsolution(foryou)istorequirethatusersdownloadandinstalltheJavaRuntimeEnvironmentfromSun’swebsiteathttp://www.java.com.Regardlessofhowyoudealwiththerequirementforaninterpreter,youdistributeanapplicationlikeanyotherprogram,makingitavailableonaCD,website,orsomeothermeans.Ausermustrunaninstallationprogramtosetitup,ifoneisavailable,orcopythefilesandfoldersmanually.Javaappletsareeasiertomakeavailablebecausetheycanberunbywebbrowsers.However,ifyourprogramisaJavaapplet,usersmustberunningbrowsersequippedwiththeJavaPlug-in.ThistoocanbedownloadedfromSunaspartoftheJavaRuntimeEnvironment.Thereareseveraldrawbackstoofferingappletsinsteadofapplications.Thebiggestisthedefaultsecuritypolicyforapplets,whichmakesitimpossibleforthemtoreadandwritedataonauser’scomputer,amongotherrestrictions.JavaeasesthechallengesofsoftwaredeploymentwithJavaWebStart,ameansofrun-ningJavaapplicationspresentedonawebpageandstoredonawebserver.Here’showitworks:1.AprogrammerpackagesanapplicationandallthefilesitneedsintoaJARarchivealongwithafilethatusestheJavaNetworkLaunchingProtocol(JNLP),partofJavaWebStart.2.Thefileisstoredonawebserverwithawebpagethatlinkstothatfile.3.Auserloadsthepagewithabrowserandclicksthelink.4.IftheuserdoesnothavetheJavaRuntimeEnvironment,adialogboxopensaskingwhetheritshouldbedownloadedandinstalled.Thefullinstallationismorethan65Minsizeandcouldtake30–45minutestodownloadona56KInternetconnection(or3–5minutesonahigh-speedconnection).5.TheJavaRuntimeEnvironmentinstallsandrunstheprogram,openingnewframesandotherinterfacecomponentslikeanyotherapplication.Theprogramissavedinacache,soitcanberunagainlaterwithoutrequiringinstallation.Toseeitinaction,visitSun’sJavaWebStartsiteathttp://java.sun.com/products/javawebstartandclicktheCodeSamples&Appslink,andthenthe“Demos”link.TheWebStartDemospagecontainspicturesofseveralJavaapplications,eachwithaLaunchbuttonyoucanusetoruntheapplication,asshowninFigure14.1.PresentingWebStartapplicationsonawebpage.ClicktheLaunchbuttonofoneofthe本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219applications.Ifyoudon’thavetheJavaRuntimeEnvironmentyet,adialogboxopensaskingwhetheryouwanttodownloadandinstallit.TheruntimeenvironmentincludestheJavaPlug-in,aJavainterpreterthataddssupportforthecurrentversionofthelanguagetobrowserssuchasMicrosoftInternetExplorerandMozilla.Theenvironmentalsocanbeusedtorunapplications,regardlessofwhethertheyuseJavaWebStart.WhenanapplicationisrunusingJavaWebStart,atitlescreendisplaysonyourcom-puterbriefly,andtheapplication’sgraphicaluserinterfaceappears.IfyouhaveinstalledtheJDK,youarelikelytohavetheJavaNOTE:RuntimeEnvironmentonyourcomputeralready.Figure14.2showsoneofthedemoapplicationsofferedbySun,amilitarystrategygameinwhichthreeblackdotsattempttokeepareddotfrommovingintotheirterritory.Iftheuserdoesnotpermitsomething,theapplicationcannotfunctionfully.Thekindsofthingsthattriggerasecuritydialogboxarethesamethingsnotallowedbydefaultinapplets:readingandwritingfiles,loadingnetworkresourcesfromserversotherthantheonehostingtheprogram,andthelike.AfteranapplicationhasbeenrunbyJavaWebStart,itisstoredonauser’scomputerinacache,enablingittoberunagainlaterwithoutinstallation.Theonlyexceptioniswhenanewversionoftheapplicationbecomesavailable.Inthiscase,thenewversionisdownloadedandinstalledautomaticallyinplaceoftheexistingone.AJavaWebStartapplicationviewercanberundirectlytoseetheapplicationsthathavebeencached,runthem,andchangesomeoftheirsettings.Theapplicationiscalledjavaws.exeandcanbefoundinthesamefolderasjavaandtheothercommand-lineprogramsintheJDK.TherealsoshouldbeamenuitemforJavaWebStartthatwasaddedduringinstallation.AlthoughyourunaJavaWebStartapplicationforthefirsttimeNOTEusingawebbrowser,that’snotarequirement.Toseethis,runtheJavaWebStartapplicationviewer,selectaprogram,andchooseApplication,InstallShortcuts.Ashortcuttoruntheapplicationwillbeaddedtoyourdesktop.Youcanuseittoruntheprogramwith-outabrowser.ThedefaultsecurityrestrictionsinplaceforaJavaWebStartapplicationcanbeoverrid-denifitisstoredinadigitallysignedJavaarchive.Theuserwillbepresentedwiththesignedsecuritycertificate,whichdocumentstheauthoroftheprogramandthecertificategrantingauthorityvouchingforitsidentity,andaskedwhethertoacceptitorrejectit.Theapplicationwon’trununlessthecertificatehasbeenaccepted.UsingJavaWebStartAnyJavaapplicationcanberunusingJavaWebStartaslongasthewebserverthatofferstheapplicationisconfiguredtoworkwiththetechnologyandalltheclassfilesandotherfilesitneedshavebeenpackagedtogether.ToprepareanapplicationtouseJavaWebStart,youmustsavetheapplication’sfilesinaJavaarchivefile,createaspecialJavaWebStartconfigurationfilefortheapplication,anduploadthefilestotheweb本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问http://www.docin.com/lzj781219server.TheconfigurationfilethatmustbecreatedusesJavaNetworkLaunchingProtocol(JNLP),anExtensibleMarkupLanguage(XML)fileformatthatspecifiestheapplica-tion’smainclassfile,itsJARarchive,andotherthingsabouttheprogram.XMLisintroducedduringDay20,“XMLWebServices.”NOTE:theformatofJNLPfilesisrelativelyself-explanatory,youdon’tneedtoknowmuchaboutXMLtocreateaJNLPfile.ThenextprojectyouwillundertakeistouseJavaWebStarttolaunchandrunPageData,anapplicationthatdisplaysinformationaboutwebpages.TheapplicationrequiresthePageData.classfile,whichcanbedownloadedfromtheDay14pageofthebook’swebsiteathttp://www.java21days.com.(YoualsomightwantPageData.javaincaseyoudecidetomakeanychangestotheapplication.)Togetready,putacopyofthatproject’sclassfileinthefolderyouareusingasawork-spaceforyourJavaprogramming.CreatingaJNLPFileThefirstthingyoumustdoispackageallofanapplication’sclassfilesintoaJavaarchivefilealongwithanyotherfilesitneeds.IfyouareusingtheJDK,youcancreatetheJARfilewiththefollowingcommand:jar-cfPageData.jarPageData.classAJARfilecalledPageData.jariscreatedthatholdstheclassfile.Next,youshouldcreateanicongraphicfortheapplication,whichwillbedisplayedwhenitisloadedandusedasitsiconinmenusanddesktops.TheiconcanbeineitherGIForJPEGformatandshouldbe64pixelswideby64pixelstall.Forthisproject,ifyoudon’twanttocreateanewicon,youcandownloadpagedataicon.giffromthebook’swebsite.Gotohttp://www.java21days.comandopetheDay14page.Right-clickthepagedataicon.giflinkandsavethefiletothesamefolderasyourPageData.jarfile.ThefinalthingyoumustdoiscreatetheJNLPfilethatdescribestheapplication.Listin14.1containsaJNLPfileusedtodistributethePageDataapplication.Openyourwordprocessorandenterthetextofthislisting;thensavethefileasPageData.jnlp.ThestructureofaJNLPfileissimilartotheHypertextMarkupLanguage(HTML)requiredtoputaJavaappletonawebpage.Everythingwithinthe
此文档下载收益归作者所有