JSP即时通信系统_需求分析_摘要一个年夜略的即时通信工具的计划与开发摘要即时通信(Instant Messaging)是今朝Internet上最为风行的通信方法,各类千般的即时通信软件也层出不穷;处事供应商也供应了越来越厚实的通信处事功效。
Java是当前对照风行的开发说话之一,它有着自己的易用特点与机能上风,比如跨平台、安适性、多线程、收集Socket编程、数据流观念等方面,是以通过对开源即时通信LinuxQQ的研究和剖析,基于Java说话和J2EE类型计划了一个即时通信工具JICQ (Java for I seek you),并对其系统结构、构成模块及系统关键妙技举办了剖析与计划。
在系统计划与建模历程中,使用了UML 和面向工具的剖析、计划要领,并使用Rose作为建模工具;本系统基于j2se1.5,j2ee1.4,使用Eclipse等作为开发工具,在开发历程顶用到了时下风行的重构开发要领,优化了系统的计划。
力争使系统具有安适、高效、适用、撑持在差别系统平台运行等特点。
关键词:即时通信;多线程;SOCKET编程;JSPDesign and Development of a Simple Instant Communication ToolAbstractInstant Message is currently the most popular way to communicate on the Internet,so various Instant Messaging software are continuously appearing; Service providers offer more and more communication service nowadays. Java programming language (Java 2 Standard Edition) is one of popular programming languages. With its features of cross-platform, security, multi-threaded capability, Socket Programming, data flow concepts and so on, Java has its own distinctive and functional advantages. Therefore, based on the research and analysis of LinuxQQ, with the Java language and J2EE, this paper designs an instant messenger—JICQ (Java for I seek you), and then analyzes its architecture, modules, as well as its key technologies. During the design and modeling process of instant messenger system, the UML and method of object-oriented analysis and design are used. Furthermore, the modeling tool of Rose is included. Based on the system j2se1.5, j2ee1.4, the Eclipse development tool in the development process, and refactoring development method, the system design is optimized. Due to these factors, the system is safe, efficient and practical in different operating system platforms.Key words: instant message; multithreaded; socket program; JSP目录论文总页数:30页1 小序 (1)1.1 项目开发背景 (1)1.1.1 项目背景 (1)1.1.2 妙技背景 (1)1.2 该系统计划的意义 (2)2相关理论及基本妙技与开发平台 (2)2.1 即时通信应用事项事理剖析 (2)2.2所用妙技 (3)2.3工具及开发平台 (4)2.4 系统配置要求 (5)3系统系统结构的计划 (5)3.1 需求描写 (5)3.2系统架构计划 (6)3.3 系统的总体功效计划 (7)3.3.1总体功效计划 (7)3.3.2注册模块计划 (8)3.3.3 登录模块计划 (10)3.3.4用户间交互模块计划 (12)3.4数据库计划 (14)3.4.1数据库物理模型 (14)3.4.2数据字典 (15)4系统实现 (16)4.1收集通信编码实现 (16)4.1.1谈天客户端部分代码 (16)4.1.2处事器端监听与滚动员静代码 (17)4.1.3处事端单线程上线措置代码 (18)4.2 系统运行的下场图 (20)4.2.1 登录界面 (20)4.2.2 主界面 (20)4.2.3 群谈天界面 (21)4.2.4 摰友谈天界面 (22)4.2.5 摰友查找界面 (23)4.3注册模块的实现 (24)4.3.1 数据库毗邻 (24)4.3.2 字符编码过滤器的核心代码 (24)4.4 注册模块运行下场图 (25)4.4.1 主页面 (25)4.4.2 注书页面 (25)5 系统测试与运行 (26)结论 (27)参考文献 (28)致谢 (29)声明 (30)1 小序1.1 项目开发背景1.1.1 项目背景“即时通信产品”最早的首创人是三个以色列青年,是他们在1996年做出来的,取名叫ICQ( I seek you)。
随后,腾迅QQ捉住IM的年夜好机会,在中国迅速崛起并把持即时通信市场。
自从腾迅的QQ在中国即时通信行业把持后,即时通信的产品在IT行业可谓雨后春笋,层出不穷,今朝,Windows平台方面的即时通信已经很多,可是其他系统比如Linux平台,虽然有近似QQ方面的一些产品,比如LinuxQQ,Lunaqq,但数量终究未几且功效界面等都还不是很理想,鉴于此种情形,我们开发了基于Java说话的即时通信系统(JICQ),该系统是以J2SE(Java 2 Standard Edition)说话实现的收集即时通信工具,搜罗处事器端和客户端,可以在企业内部收集和互联网上运行,同时具有Java应用的跨平台特征,便利运行在各个系统之上。
该系统具有相比拟较标致的界面以及近似于QQ 的很多功效,比如可以和摰友举办交换以及离线发送与摰友打点、可以插手差此外群,即时发送、即时回覆等功效。
1.1.2 妙技背景妙技上授与sun公司的java说话,该说话有很多有点,比如多线程、收集流观念、非常捕获措置、安适性以及速率与机能等方面,而且具有可以一次编写、处处运行的跨平台利益。
多线程:多线程是这样一种机制,它许可在措施中并发实行多个指令流,每个指令流都称为一个线程,互相间互相自力,线程又称为轻量级历程,多线程妙技许可你在一个应用措施中启动多个实行轻量措施,使多段措施同时竞争CPU资本,从而进步系统效用。
而对付收集通信工具来说,多线程的特征是必需的,不只是为了效用,而且可以实现同时措置多个恳求。
收集流:java中的收集通信以及文件的读取都是以一种流的观念来领略的,这样,收集上数据的传输着实就等同于算作一台呆板上文件的读取,有利于领略与编写运用措施,java类库中供应了厚实的IO流类资本以及收集编程类资本,软件开发职员可以很便利的编写收集应用措施。
例外措置:Java通过面向工具的要领来措置例外。
在一个要领的运行历程中,要是产生了例外,则这个要领天生代表该例外的一个工具,并把它交给运行时系统,运行时系统探求响应的代码来措置这一例外。
我们把生通例外工具并把它提交给运行时系统的历程称为丢弃(throw)一个例外。
运行时系统在要领的调用栈中查找,从生通例外的要领起头举办回朔,直到找到包, 含响应例外措置的要领为止,这一个历程称为捕获(catch)一个例外。
以是,java的例外措置使很是便利的。
跨平台:Java说话的一个很是紧张的特点便是与平台的无关性。
而使用Java 假造机是实现这一特点的关键。
一般的高级说话要是要在差此外平台上运行,至少必要编译成差此外方针代码。
而引入Java说话假造机后,Java说话在差别平台上运行时不必要从头编译。
Java说话使用模式Java假造机屏障了与详细平台相关的信息,使得Java说话编译措施只需天生在Java假造机上运行的方针代码(字节码),就可以在多种平台上不加改削地运行。
Java假造机在实行字节码时,把字节码评释成详细平台上的呆板指令实行。
1.2 该系统计划的意义陪伴着当今互联网迅速成长,网上通信成为一种必不成少的通信风俗,该系统的计划便是为了实此刻互联网上的即时通信,它是操作当今最为风行的java 编程说话来实现即时通信工具的雏形,同时在系统开发历程中所用的都是java 常用的妙技可能难点,比如用java的swing怎么去做一个界面美不雅的应用措施、java的收集编程妙技的事理与应用、以及怎样按照J2EE类型去开发一个基于Jsp和Servlet的Web应用等关键妙技。
通过计划和开发该系统,使自己所学的理论常识获得实践应用,也对即时通信软件的通信事理有了对照深刻的了解,年夜年夜的进步了自己的动抄手段和解决题目的手段,为此后事项打下坚硬的基本。
2相关理论及基本妙技与开发平台2.1 即时通信应用事项事理剖析我们通俗听到TCP/IP和UDP(用户数据报和谈)这两个术语,它们都是成立在更低层的IP和谈上的两种通信传输和谈。
前者是以数据流的情势,将传输数据经支解、打包后,通过两台呆板之间成立起的虚电路,举办持续的、双向的、严厉保证数据精确性的文件传输和谈。
而后者是以数据报的情势,对拆分后的数据的先后达到挨次不做要求的文件传输和谈。
QQ便是使用UDP和谈举办发送和吸取“动静”的。
当你的呆板安顿了OICQ 往后,实际上,你既是处事端(Server),又是客户端(Client)。
当你登录OICQ时,你的OICQ作为Client毗邻到腾讯公司的主处事器上,当你“看谁在线”时,你的OICQ又一次作为Client从QQ Server上读取在线网友名单。