1、会计核算管理系统专业名 软件工程如需更多资料请见论文最后摘要 本系统研发的目的是为了辅助人工完成日常生活中复杂而烦琐的凭证处理工作,并且要保证系统的安全性。系统的开发流程主要采用Rational统一过程法(RUP),系统采用Internet/Intranet应用模式,应用主要建立在B/S结构下,可以辅助以C/S结构,用户界面以浏览器为主。同时也可采用三层应用体系结构,即数据库服务器、应用服务器和前台。功能模块主要分为登录模块,凭证录入模块,凭证查询模块,凭证修改以及系统管理模块,各个子系统尽量采用模块化的设计,使子系统之间的关联规范化,减少程序上的依赖性。在系统开发过程中,系统主要涉及设计模型
2、,用例模型,JAVA编程,JSP技术和数据库开发等知识。系统的开发环境为 Borland JBuilder +Tomcat。通过系统开发,检验对JAVA有关技术和数据库开发技术的掌握,加深对Rational统一过程法的理解,熟悉完整的软件开发流程。主题词 凭证处理;会计;Rational统一过程法;应用模式 。Accountant Check Manage SystemSoftware EngineeringStudent: Liang Guang-ming Adviser: Tang Ning-jiuAbstract The purpose of this study system is t
3、o assistant people to accomplish complex voucher disposing tests in daily life, and to ensure the systems security. The exploitation flow of the system mostly adopts Rational unite process (RUP),and the system adopts Internet/Intranet application mode, appliance mostly based on B/S framework .It can
4、 assistant C/S framework .Majority of the interface users are blowser .At the same time, it also can use the three layer apply system form,namely database server、apply server and proscenium .The function part mainly contains login module,voucher put-in module,voucher demand module,voucher modificati
5、on as well as system manage module. Each subsystem adopts blocking design to the best of my abilities,to making each subsystems relationship standardization,and reducing the depend on program .At the possess of this system exploitation ,it involves the knowledge of design model ,use case model,JAVA
6、program ,JSP technic and database exploitation. The environment of the system exploitation is Borland JBuilder and Tomcat. Through the exploitation of this system, to check the technology of JAVA and to predominate technology of VF, deeply improving the understanding of Rational, and acquainting the
7、 process of developing of the softwards. key word Voucher disposing ; accountant ; Rational unite process ; application mode.目录1 综述12核算系统简介22.1基本的会计核算知识:22.2JSP技术知识介绍3221 JSP的运作模式和JSP的优点42.2.2 JSP中的session使用62.3数据库知识82.3.1数据建摸工具Power Desiginer82.3.2SQL知识介绍92.3.3在JBuilder中使用com.microsoft.jdbc.sqlserv
8、er.SQLServerDriver102.4开发环境112.4.1 Tomcat知识介绍112.4.2 JBuilderX 简介133 开发过程153.1需求分析阶段153.1.1主要的用例图153.1.2相对应的主要事件流153.1.3简单的时序图183.1.4数据库设计和开发193.2开发阶段223.2.1登录模块223.2.2凭证录入模块223.2.3凭证查询模块233.2.4凭证修改模块24总 结25参考文献26声 明27致 谢28附录1 源代码(模块代码主体部分)29附录2 翻译(原文和译文)461 综述21世纪,是发展知识经济的时代,是高科技大发展和经济管理水平大提高的时代,这种
9、大环境,将推动会计发生相应的重大发展。在发展知识经济条件下,会计的重心在管理,需要建立以会计管理为核心的会计模式。人类社会进入以知识为特征的经济发展阶段,将使市场经济得到进一步发展。在市场经济体制下,企业是一个开放系统,需要建立面向市场的会计模式:企业实行自主经营、自负盈亏、自我发展和自我约束,要强化内部管理,严格监督,不断提高经济效益,相应地需要建立强化会计管理的会计模式;政府部门通过经济政策、经济法规和经济杠杆等,对企业进行调节和规范经营活动,而不是直接干预企业具体的生产经营活动,相应地需要建立宏观调控与微观自主相协调的会计模式;企业要进入世界大市场,参与国际流通,发展国际间的经济、贸易和
10、技术交往,相应地需要建立面向市场、面向国际的知识管理型的企业会计模式。管理型会计模式的基本框架是:建立调控型的会计组织系统;建立开放型的会计信息系统;建立知识型的会计管理系统;建立服务型的会计市场系统;建立竞争型的人才系统。财务管理是企业经营战略的一个重要组成部分,在企业中处于十分重要的地位。伴随着现代电子技术的飞速发展,财务管理工作也发生了深刻的变革。目前,各企业普遍采用管理信息系统对有关业务进行处理,提供管理信息并辅助管理人员进行预测、分析、计划、控制和决策。管理信息系统的发展对企业的管理方式、组织构成、企业的生存发展等各方面都产生了深远的影响。所在单位具有资金结算中心的性质,主要业务是管
11、理企业各项经费,提供资金结算服务,并监督开户单位资金收支活动,是银行机制与企业财务控制相结合的机构,每年数以万计的项目审核拨款、数以千计的记帐凭证的制作、数以百计的报表、帐簿的编制和打印,日常业务工作量十分巨大。此外,由于所保存的数据涉及企业核心机密,因此保密性要求很高,容不得半点马虎。以上这些情况,决定了迫切需要开发一个能辅助人工完成日常审核、拨款、记帐等工作的且具有速度快、效率高、数据准确、保密性强等特点的财务管理信息系统。而核算管理系统作为财务系统的重要组成部分应运而生。2 核算系统简介本系统研发的目的是为了辅助人工完成日常生活中复杂而烦琐的凭证处理工作。系统的开发流程主要采用Ratio
12、nal统一过程法(RUP),系统采用Internet/Intranet应用模式,应用主要建立在B/S结构下,可以辅助以C/S结构,用户界面以浏览器为主。同时也可采用三层应用体系结构,即数据库服务器、应用服务器和前台。功能模块主要分为登录模块,凭证录入模块,凭证查询模块,凭证修改和删除模块,各个子系统尽量采用模块化的设计,使子系统之间的关联规范化,减少程序上的依赖性。系统主要涉及JAVA编程,JSP技术和数据库开发等知识。系统的开发环境为 Borland JBuilder +Tomcat。通过系统开发,检验对JAVA有关技术和数据库开发技术的掌握,加深对Rational统一过程法的理解,熟悉完整
13、的软件开发流程。下面将详细介绍和分析系统所涉及的知识和开发过程。2.1基本的会计核算知识:会计核算也称会计反映,以货币为主要计量尺度,对会计主体的资金运动进行的反映。传统意义上的会计核算主要是指对会计主体已经发生或已经完成的经济活动进行的事后核算,也就是会计工作中记账、算账、报账的总称;其基本内容是,以货币为主要量度,对企业、机关、事业单位或其他经济组织的生产经营活动或预算执行的过程与结果进行连续地、系统地记录,定期编制会计报表,形成一系列财务、成本、成本指标,据以考核经营目标或计划的完成情况,为经营决策的制定和国民经济计划的综合平衡提供可靠的信息和资料。其基本方法主要有设置账户和账簿、复式记
14、录、填制和审核凭证、登记账簿、成本计算、财产清查和编制会计报表等。会计核算是会计的一项基本职能,是会计工作的核心和重点。如何进行会计核算,关系到会计在经济管理和财务管理中的职能能否有效发挥。因此,从法律上对会计核算进行规范是十分必要的。会计核算可以分为三个基本环节,一是填制会计凭证;二是登记会计账簿;三是编制和提供财务会计报告。这三个环节相互衔接,基本上覆盖了会计核算的全过程。凭证,是纳税人用来记录经济业务,明确经济责任并据以登记账簿的书面证明。凭证按填制程序和用途分为两大类:一类是原始凭证,是经济业务发生时取得或填制的凭证,如套印税务机关发票监制章的专用性票据。另一类是记账凭证,是由会计人员
15、根据审核无误的原始凭证,按其内容应用会计科目和复式记账方法加以归类整理,并据以确定会计分录和登记账簿的凭证。通过凭证的填制和审核,不仅可以保证账簿记录的真实可靠,而且可以检查各项经济业务真实性和合法性,对于正确确定纳税义务具有特别重要的意义。2.2 JSP技术知识介绍 JSP是由Sun微软系统公司(SunMicrosystems Ins)倡导、许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有其强大而特别的功能。目前在国外的众多网站特别是涉及电子商务的网站中,已经大量使用了JSP技术。JSP(Java Server Pages,服务器端动态网页)既然名为“服务器端”动态网页,可
16、想而知,JSP必定是在“服务器”建立的动态网页。更明确地说,JSP是能在Web Server(尤其是JSWDK)整合Java语言至html网页的环境中,利用html网页内含的Java程序代码取代原有的CGI、ISAPI或者IDC的程序,以便执行原有CGI/WinCGI、ISAPI 的功能。9在万维网短暂的历史中,它已经从一个大部分显示静态信息的网络演化到进行股票交易和进行购书操作的一个动态信息的网络。在各种各样的应用程序中,对于可能使用的基于web的客户端,看上去没有任何限制。基于浏览器客户端的应用程序比传统的基于客户/服务器的应用程序的优势在于:几乎没有限制的客户端访问和极其简化的应用程序部
17、署和管理(要更新一个应用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序)。这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进。这些快速增长的、基于web的精巧应用程序要求开发技术上的改进。静态HTML对于显示相对静态的内容是不错的选择,新的挑战在于创建交互的、基于web的应用程序。在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。对于这个问题的一个早期解决方案是使用CGIBIN接口;开发人员编写与接口相关的单独程序,以及基于Web的应用程序,后者通过web服务器来调用前者。这个方案有着严重的扩展性问题每个新的CGI
18、要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将消耗该web服务器所有的可用资源,并且系统性能降低到极其低下的地步。 某些web服务器供应商已经尝试通过为他们的服务器提供“插件”和API来简化Web应用程序的开发。这些解决方案与特定购web服务器相关,但却不能解决跨平台操作的问题。例如,微软的ASP TM技术使得在wob页面上创建动态内容更加容易,但是也只能工作在微软的S和Personal Web Server上。当然,还存在其他的解决方案,但是它们都不能使一个普通的页面设计者能够轻易地拿捏。例如,JAVA Servlet技术就可以便得用Java语言编写交互的应用程序的服务
19、器端的代码变得容易,一个JAVA Servlet就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。开发人员需要编写出这样的serv1et,以接收来自Web浏览器的HTTP请求,动态地生成响应(可能要查询数据库来完成这项请求),然后发送包含HTML或XML文档的响应到浏览器。采用这种方法,整个网页必须都在Java Servlet中制作。如果开发人员或者Web管理人员想要调整页面显示,他们就不得不编辑并重新编译该Java Servlet,即使该Java Servlet在逻辑上已经能够运行。采用这种方法,生成带有动态内容的页面仍然需要应用程序的开发技巧。很显然
20、,目前所需要的是一个业界范围内的创建动态内容页面的解决方案。这个方案将解决当前方案所解决不了的问题,如: 能够在任何Web或应用程序服务器上运行 将应用程序逻辑和页面显示分离。 能够快速地开发和测试。 简化开发基于web的交互式应用程序的过程。 JSP技术就是设计用来满足这些要求的解决方案。JSP规范是web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。Sun Microsystems开发出这个规范来整合及平衡已经存在的对JAVA编程环境(例如,Java Servlet和JavaBeanTM)进行支持的技术和工具,其结果是产生了一种新的、开发基于web应用程序的方法,给予使
21、用基于组件应用逻辑的页面设计者以强大的功能。所谓的JSP网页(.JSP),就是在传统的网页HTML文件(.htm,.html)中加入Java程序片段(Servlet)和JSP标记(tag)而构成的。web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页,以及发送E-Mail等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户墙的仅是得到的结果,对客户浏览器的要求最低,可以实现无plug-in、无ActiveX、无Java Applet,甚至无Frame。JSP在动态网页的建设中
22、有其强大而特别的功能。 在Sun正式发布JSP之后,这种新的web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照Sun的说法,JSP能够适应市场上包括Apache WebServer、S4.0在内的85的服务器产品。在JSP以前,由于ASP的简单易用,许多用户对ASP情有独钟,即使是这样,普遍的看法认为,关注JSP的发展仍旧很有必要。7221 JSP的运作模式和JSP的优点 JSP能在WebServere (尤其是JSWDK)端整合Java语言至HTML网页的环境中,然后利用Html网页内含的Java程序代码取代原有的CGI、ISAPI或者ID
23、C的程序,以便执行原有CGI/WinCGI、ISAPI的功能。 1JSP的运作模式 相对应于Client端(指的是浏览器端的HTML文件)内嵌的描述语言,Sun公司提供的JSWDK-1.01也支持类似的描述语言,它便是Java语言。先来看看JSP的运作模式(如图所示)。图21 JSP运作模式 由于JSP放置在web服务器上,它在解析使用者由表单(Form)传送过来的字段数据后,接着通过适当的逻辑生成标形HTML文件,然后传给客户端,使用者看到的是一般符合HTML格式的文件内容。因为JSP是在JSWDK-1.O.1上执行的,所以无论使用的是任何一种平台下的浏览器,皆能欣赏由JSP产生的网页内容。
24、2JSP的优点JSP与ASP、PHP相比有下列优点:(1)将内容的生成和显示进行分离: 使用JSP技术,Web页面开发人员可以使用DM或者WL标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求而变化的,例如请求账户信息或者特定的一瓶酒的价格),其生成内容的逻图被封装在标识和JavaBean组件中,并且拥绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识Bean中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解择JSP标识和小脚本,生成所谓请求的内容(例如,通过访问JavaBe
25、an组件、使用JDBCTM技术访问数据库等),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者既保护自己的代码,又保证任何基于HTML的Web浏览器的完全可用性。(2)强调可重用的组件:绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。(3)采用标识简化页面开发:web页面开发人员不会都
26、是熟悉脚本语言的编程人员。Java Server Page技术封装了许多功能,这些功能是在生成易用的、与JSP相关的XML标识的动态内容时所需要的。标准的JSP标识能够访问和实例比JavaBeans组件、设置或者检索组件属性、下载Applet,以及执行用其他方法更难于编码和耗时的功能。 通过开发定制标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得web页面开发人员能够使用如同标识一样的工具来执行特定功能的构件。 JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一
27、部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于web的应用。6 (4)健壮性与安全性: 由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面部被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。 (5)良好的移植性; 作为Java平台的一部分JSP拥有Java编程语言“随着越来越多的供应商将JSP支持添加到他们的产品和工具中,而且更改工具或服务器并不影响当前的应用。 (6)企业级的扩展性和性能:“一次编写,各处运行”的特点。2.2.2 JSP中的session使用Jsp的sess
28、ion是使用bean的一个生存期限,一般为page,session意思是在这个用户没有离开网站之前一直有效,如果无法判断用户何时离开,一般依据系统设定,tomcat中设定为30分钟.我们使用seesion功能,可以达到多个jsp程序从操作同一个java bean, 那么这个java bean可以作为我们传统意义上的全局变量池.(在java中我们可以使用static静态化一个变量和方法,使用singleton唯一化对象.)在项目实践中,我们Jsp程序中很多参数需要从数据库中读取,有的参数实际读取一次就可以,如果设计成每个用户每产生一个页面都要读取数据库,很显然,数据库的负载很大,同时也浪费时间,
29、虽然可能有数据库连接池优化,但是尽量少使用数据库是我们编程的原则.比如,我们的test.jsp 和test1.jsp都需要得到一个参数userdir,这个userdir是从数据库中得知,使用session将大大优化性能,程序如下:设计一个javabean 存储userdir.public class UserEnv private String userdir = ;private String userurl = ;public UserEnv()/构建方法初始化userdir,可以从数据库中读取,这里简单给值ppp userdir=pppp;System.out.println(init
30、userdir, one time); public String getUserdir() throws Exceptionreturn userdir; 2.3数据库知识 2.3.1数据建摸工具Power Desiginer过去的软件开发过程往往缺乏规范.开发的软件也没有详细的文档.为了提高软件质量,降低维护难度,加强重复使用率,让开发人员、分析人员、测试人员、数据库管理人员、管理人员以及用户相互沟通,使系统发挥最大综合效率,世界各大数据库厂商和第三方合作开发出了智能化的计算机辅助软件工程(computer aided software engineering,简称CASE)工具. 在此领
31、域中,Rational公司的Rational Rose 擅长以UML(Unified Modeling Language) 构造模型,具备严谨的方法论,但技术偏高.PLATIUM公司的Erwin擅长以E-R(EntityRelationship)建立实体联系模型,并具有版本控制功能.Sybase 公司的Power Designer 则集UML与E-R 精华于一体,更能迎合市场潮流。1分析设计人员利用Power Designer 可建立三类模型,即面向对象模型(Oriented Object Model,简称OOM)、概念数据模型(Conceptual DataModel ,简称CDM) 、物理
32、数据模型(Physical Data Model,简称PDM),期中OOM包括用例图、时序图及类图.最终产生如下图深色部分的五种结果,即模型仓库(Repository) 、模型报告(Report) 、数据库SQL脚本、用户数据库结构及应用程序代码.程序开发人利用模型报告(Report) 、数据库SQL脚本用户数据库结构及应用程序代码.结合应用程序开发工具(如PB 、VB 、c+ 、c# 、java等)和数据库管理系统(Database ManagementSystem,简称DBMS)开发出符合要求的软件.完成软件分析设计通常采用三种途径:一条是从面向对象分析设计开始,依次建立用例图、时序图、及
33、类图,由类图转化为CDM及PDM;第二条路径是从结构化分析设计开始依次产生流程分析设计模型(Process Analysis Model ,简称PAM),CDM,PDM及类图,第三条路径是前两种途径的结合。图22 数据库建模流程 SQL知识介绍由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。目前主要的数据库有:Access、FoxPro、Excel、Sybase、Oracle、Informix、SQLServer等,其中网络型的SQLServer、Oracle产品安全性远远高于桌面型的Access、FoxPro等数据库。SQL是一种关系型数据库,是最初是由Micro
34、soft、Sybase和Ashton-tal3家公司共同开发的。是基于客户机/服务器的关系型数据库管理系统。SQL(Structured Query Language)即机构化查询语言,符合美国国家标准协会(ABSI)和国家标准化组织(ISO)制定的标准。Microsoft SQL Server 使用Transact-SQL 语言在服务器和客户机之见传送请求和应答。SQL可以使用客户机/服务器结构把工作负荷分解成分别在服务器和客户机上执行的任务。客户机应用程序可以运行在一个或者多个客户机上,也可以运行在服务器上,负责向用户提供数据。服务器负责管理和分配服务器资源。SQL Serve可以在多种操
35、作系统上运行,服务器环境可以是Windows 系列和DOS系列的操作系统,第三方平台和Internet浏览器。Transact-SQL是SQL Server使用的数据库编程语言,Transcat支持最新的SQL标准,并增加了许多新的功能和特点,使用Transact-SQL可以访问、查询、修改、和管理关系型数据库系统。Transact-SQL语言小巧简单,它可以用来创建逻辑存储单元,也可以创建数据库中的一些对象。另外,Transact-SQL语言可以用来增加、处理数据和数据库中的其它对象。可以由insert(向数据库表中插入数据行)、delete(删除数据库表中的数据行)、update(刷新数据
36、表中的数据)、select(数据查询和检索)4个关键字来完成基本的数据存储、检索和处理。本系统采用的是微软公司的SQL Server2000。原因如下:第一,SQL Server与Windows2000 Server服务器紧密集成,而Windows2000 Server服务器具有很好的安全性,能够排除所有未经授权的非法用户的访问,确保SQL Server2000服务器的安全性,符合系统对安全性的要求;第二,用户可以使用Web浏览器查询存储在SQL server2000数据库中的数据,符合系统远程访问数据库的要求。第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务
37、器硬盘空间的限制,符合系统的考题数目较多的要求。2.3.3在JBuilder中使用com.microsoft.jdbc.sqlserver.SQLServerDriver一你确定你安装的jdbc是否完全版,因为有个单机版只能连接本机上的sql,单机版约2m,完全版约6.5m。二安装好jdbc后,假如目录在C:ProgramFilesMicrosoftSQLServer2000JDBC,打开Jbuilder,选择Tools-;ConfigureLibraries,然后在左边的列表框下选择New,填入Name:sql,Location:Use C:ProgramFilesMicrosoftSQLS
38、erver2000JDBClib,确定。三Project-;PrjectProperties-;Paths-;RequiredLibraries-;Add加入刚才添加的UserHome/sql确定四Tools-;EnterpriseSetup-;DatabaseDrivers-;Add,加入UserHome/sql,添加之后在列表框中显示的是sql.config,确定,重新启动JBuilder五Tools-;DatabasePilot-;View-;Options-;Drivers-;Add填入Driverclass:com.microsoft.jdbc.sqlserver.SQLServer
39、DriverSimpleURL:microsoft:sqlserver:/localhost:1433;DatabaseName=mybase六确定之后,Tools-;DatabasePilot-;New的Driver里选择com.microsoft.jdbc.sqlserver.SQLServerDriver在URL里填入服务器地址或主机名:1433;DatabaseName=数据库名,确定,双击或点击+号输入sql数据库的用户名和密码,就完成了JB与sql的连接!连接代码可以查看Source!在Java的连接中执行Sql的方法为executeQuery()。因而,可以将得到
40、的结果保存为:ResultSet rs=coon.executeQuery( sql );然后就可以根据结果rs判断输入的用户名是否合法。12.4开发环境由于本课题所要开发的是一个应用性项目,而Windows操作系统由于其操作方便、界面友好,无疑是广大用户的首选操作系统;对于应用开发者来说,现在已有很多基于Windows的开发工具,详细的开发文档和功能强大的调试工具,所以我们的软件也选择在Windows操作系统下开发。在开始设计与开发本系统之前,经过系统的分析之后,我们总结出,本系统的开发工具必须要支持如下功能:网络程序开发;多线程支持;图形显示;系统安全的保证;数据库的开发。由于在开发过程当
41、中可能会遇到很多的问题,所以我们必须选择功能强大而又方便灵活的开发工具。本系统最终决定选择JbuilderX集成开发环境,JSP和Tomcat5.0+SQL+JDBC连接驱动作为系统主要开发工具。2.4.1 Tomcat知识介绍Jakarta Tomcat 服务器作为一个开放源码的软件,Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。 与传统的桌面应用程序不同,Tomcat中的应用程序是一
42、个WAR(WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLAS
43、SPATH中,但那样移植和管理起来不方便。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。是目前开发企业 Java Web 应用的最佳选择之一。Tomcat 服务器是由一系列可配置的组件构成,其中核心组件是 Catalina Servlet 容器,它是所有其他 Tomcat 组件的顶层容器。To
44、mcat 的组件可以在 /conf/server.xml 文件中进行配置,每个 Tomcat 组件在 server.xml 文件中对应一种配置元素。7以下代码以 XML 的形式展示了各种 Tomcat 组件之间的关系: 在以上 XML 代码中,每个元素都代表一种 Tomcat 组件。这些元素可分 4 类: 1、顶层类元素顶层类元素包括 元素和 元素,他们位于整个配置文件的顶层。2、连接器类元素连接器类元素代表了介于客户与服务之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应结果传递给客户。3、容器类元素容器类元素代表处理客户请求并生成响应结果的组件,有 3 种容器类元素,它们是 E
45、ngine、Host 和 Context。Engine 组件为特定的 Service 组件处理所有的客户请求,Host 组件为特定的虚拟主机处理所有客户请求,Context 组件为特定的 Web 应用处理所有客户请求。4、嵌套类元素嵌套类元素代表了可以加入到容器中的组件,如 元素、 元素和 元素。 下面是对基本 Tomcat 元素的介绍,具体元素属性参见后续文档: 元素 元素代表整个 Catalina Servlet 容器,它是 Tomcat 实例的顶层元素,由 org.apache.catalina.Server 接口来定义。 元素中可以包含一个或多个 元素,但 元素不能做为任何其他元素的子元素。 元素 元素由 org.apache.catalina.Service 接口来定义,它包含一个 元素,以及一个或多个 元素,这些 元素共享同一个 元素。 元素 元素由 org.apache.catalina.Connector 接口来定义。 元素代表和客户程序实际交互的组件,它负责接受客户请求,以及向客户返回响应结果。 元素