JAVA基础:XML在分布式系统中的作用
1 引论
在学习web过程中,无论是学习Tomcat,还是Struts,hibernate,Spring,都出现配置文件。而配置文件一般都是用XML语言编写的。从而对本文web应用中的XML所起的作用产生了兴趣。随着分布式系统越来越流行,更多基于XML的技术都会出现,研究目前XML在web应用中对以后学习和研究web新技术具有指导意义。
2 XML
2.1 什么是XML?
1998年2月发表的XML 1.0规范中有如下描述:
“eXtensible Markup Language (XML)是SGML的一个子集……其目标是能够以目前HTML可能实现的方式在web上使用、接受和处理通用SGML。XML的设计目标是实现简便并且能与SGML和HTML共同操作。”
也就是说,XML是一个精简的SGML,它保留了SGML的可扩展功能,将SGML的丰富功能和HTML的易用性结合到web应用中。简单地说,XML是一种定义标记语言的元标记语言,是一套定义语义标记的规则,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的语言。
XML不是HTML的扩展,而是一种用于定义标记语言的类似于SGML的语言。XML不再使用固定标记,而允许定义数量无限的标记来描述文档中的资料。HTML是web中显示数据的通用方法,而XML着重描述web页面的内容。
为了使编写的web页面成为一个有效的XML文档,文档中的每一个添加的标记必须记入DTD(Document Type Definitions,文档类型定义)中。XML主要用于描述web页面的内容,因此它必须与多种相关技术相互作用才能达到正确的显示效果和链接。这些技术主要包括CSS(Cascading Style Sheet,级联样式单)、XSL(eXtensible Style Language,可扩展样式语言)和XLL(eXtensible Link Language,可扩展链接语言)。CSS可以使XML页面具有更复杂的表现形式。XSL可以将XML 数据翻译为HTML风格或其他的风格,并提供一种级联样式单的功能,使开发者能构造出具有表达层次结构的web页面。XLL是XML的链接语言,它与HTML的链接相似,但功能更强大,同时支持可扩展的链接和多方向的链接。
2.2 XML的优点
1. 减少固有数据的障碍;
2. 让应用系统可以相同方式存取所有数据;
3. 让搜索更快速,更有效率;
4. 数据的比较与汇整更为便利;
5. 系统可以逐步修改,不需要大幅调整;
6. 具有识别数据提供者提供程序并验证他的身份的功能;
7. 可降低重复数据的传输,强化网络系统的使用效率。
2.3 XML的特点
(1)XML遵循严格的语法要求
浏览器可以显示有文法错误的HTML文件。但XML就不同了,它不但要求标记配对、嵌套,而且还要求严格遵守DTD的规定,一个具有良好语法结构的网页文件可以提供较好的可读性和可维护性,从长远来看还是大有好处的。何况这大大减轻了浏览器开发人员的负担,也提高了浏览器的时间空间效率。
(2)XML便于不同系统之间信息的传输
当今的计算机世界中,不同企业、不同部门中存在着许多不同的系统。操作系统有NT、UNIX,数据库系统有SQL Server、Oracle,...,要想在这些不同的平台、不同的数据库软件之间传输信息,不得不使用一些特殊的软件,非常之不便。而不同的显示界面,从工作站、个人微机、到手机,使这些信息的个性化显示也变得很困难。
现在有了XML,各种不同的系统之间可以采用XML作为交流媒介。XML不但简单易读,而且可以标注各种文字、图像甚至二进制文件,只要有XML处理工具,就可以轻松地读取并利用这些数据,使得XML成为一种非常理想的网际语言。
现在有了XML,各种不同的系统之间可以采用XML作为交流媒介。XML不但简单易读,而且可以标注各种文字、图像甚至二进制文件,只要有XML处理工具,就可以轻松地读取并利用这些数据,使得XML成为一种非常理想的网际语言。
(3)XML具有较好的保值性
XML的保值性来自它的先驱之一——SGML语言。SGML是一套历史悠久的国际标准,它具有强大复杂的功能。HTML目前是web页面的显示标记语言。XML可以很好地与HTML和SGML兼容,具有较好的保值性。
2.4 XML组件
重要组件:元素、属性、实体、DTD
元素:是文档的一个成分。元素可能由其他元素、其他类型数据或描述性表示构成。该描述性表示告知XML分析应用程序关于存在于文档外的什么地方的资源;
属性:提供有关XML元素及其内容的其他信息,由名-值对和等号算符组成;
实体:希望在文档中引用的任何一部分数据;
DTD:文档类型定义。独立于主XML文档的单元,提供了该XML文档所附的一组规则;
3 XML应用
作为表达数据的一种规范,XML必须和具体的应用结合起来才能体现出它的优势。
从XML刚引入开始,几年内已经出现了许多XML应用。如电子商务,电子数据存储,数据交换,前后检索,多媒体传输,化学科技领域,以至于各个不同的领域的特殊文件格式,都可使用XML定义,达到网络统一文件的目的,有人称XML为“计算机语言的世界语”。
我们本文中主要是针对XML在web领域的应用做一些说明,寻找出XML应用的主要方面。
4 XML作为web配置文件
XML文件常用做各种web应用的配置文件。下面列举它在一些新的web技术中的应用。
4.1 XML作为Tomcat的配置文件
下面是Tomcat服务器配置示例文件。这些组件的构成是根据相互之间的父子关系进行嵌套的。
一个“Server”是一个提供完整的JVM的独立组件,它可以包含一个或多个“Service”实例。服务器在指定的端口上监听shutdown命令。一个“Service”自身不是一个“Container”(容器),而是一个或多个共用一个单独“Container”(容器)的“Connectors”组合(因此,应用程序在容器中可见)。通常,这个容器是一个“Engine”(引擎),但这不是必须的。
一个“Connector”(连接器)代表一个请求被接收和应答所需要的端点。每个连
接器通过相关的“Container”(容器)处理请求。默认情况下,一个非SSL的HTTP/1.1的连接器被绑定在端口8080。在端口8443上定义一个SSL的HTTP/1.1的连接器。在端口8009上定义一个Coyote/JK2 AJP 1.3连接器。在8082端口上定义一个代理HTTP/1.1连接器
接器通过相关的“Container”(容器)处理请求。默认情况下,一个非SSL的HTTP/1.1的连接器被绑定在端口8080。在端口8443上定义一个SSL的HTTP/1.1的连接器。在端口8009上定义一个Coyote/JK2 AJP 1.3连接器。在8082端口上定义一个代理HTTP/1.1连接器
一个“Engine”(引擎)代表处理每个请求的入口点(在Catalina内)。这个Tomcat的标准独立引擎实现分析包含在请求中的HTTP头信息,并将请求传送到适当的主机或虚拟主机上。请求转储器值转储非常有用的通过Tomcat这个实例接收到的所有请求的,关于接收到的请求头和cookies,以及发送出的回应头和cookies的调试信息。如果你只在意一个特定的虚拟主机或者一个特定应用程序的请求,在对应的或入口中套用这个元素。通过定义这个群集元素,意味着每个管理员都将被改变。因此,当运行一个群集时,只有确认在必须被聚集和移除其他的地方有你的web软件。当配置群集时,你也添加一个值来捕获所有传入的请求,在请求结束时,这个会话可能被子复制,也可能不被复制。
与这个虚拟主机有关系所有上下文所共享的日志。默认情况下(使用FileLogger时),日志文件被创建在相对于$CATALINA_HOME目录下的logs目录下。如果你希望,你也可以给directory指定一个不同的路径。可以使用相对于$CATALINA_HOME的相对路径,也可以使用绝对路径。
4.2作为Struts的配置文件
在基于Struts框架的web应用中,有两个重要的配置文件: web.xml 和struts-config.xml 。web.xml文件用于配置web应用,如Servlet组件。struts-config.xml用于配置Struts框架,如各种Action组件。
那么配置文件的作用
补充:软件开发 , Java ,