docBase="path-to-your-work-directory"
crossContext="false"
debug="0"
reloadable="true">
其中的path-to-your-work-directory是你的开发目录。
将Tomcat的webapps/xsl-examples目录下的内容原封不动的拷到你的开发目录,以这个程序为参考开始写你自己的XML处理程序。
关于如何使用JSP做XML开发可以参考Sun的whitepaper,在:
讲的基本上就是我上面告诉你的这种方法。
步骤5。
安装一个XMLParser。
做完了步骤3和步骤4,你已经有了两个可用的XMLParser了,那就是Tomcat本身使用的Sun的JAXP和XSLTaglib使用的xml.apache.org的Xerces。
JAXP包括两个文件parser.jar和jaxp.jar,Xerces只有一个文件xerces.jar,这几个文件可以从Tomcat的目录下找到。
推荐使用Xerecs这个XMLParser,因为它目前已经可以支持XMLSchema,并且它是opensource软件。
但是这完全是出于个人喜好,Sun的XMLParser也是非常出色的。
决定使用哪个XMLParser后将其文件加入到CLASSPATH中。
但是不要同时使用两个XMLParser。
CLASSPATH生效后你就可以在你的Java程序中使用JDOM和SAX的API处理XML文件了。
关于JDOM和SAX适用的场合和用法的例子可以从这里找到:
步骤6。
安装一个支持XSLT的浏览器。
这一步并不是必须的,因为我们现在已经可以在Server端使用XSLTaglib将XML文件转换为HTML格式后发给Browser,所以实际上你可以使用任何你喜欢的浏览器。
但是安装一个支持XSLT的浏览器可以方便我们的学习。
虽然现在我们需要在Server端做XSLT,但是将来支持XSLT的浏览器流行了之后我们甚至连这一步都可以省掉,直接把XML和XSL文件发给浏览器就行了。
这样就可以大大减轻Server端的负担,因为做XSLT可不是一件轻松的工作。
推荐使用Mozilla0.8。
说到这里,你可能又要问了,为什么不使用IE4/5呢?
IE4/5不是也可以做XSLT吗?
除了个人喜好以外,我可以举出3个使用Mozilla的理由:
首先Mozilla支持的XSLT版本比IE4/5要新,IE4/5支持的XSLT不是正式版本,而是一个草稿。
即:
http:
//www.w3.org/TR/WD-xsl,而Mozilla支持的XSLT是XSLT的正式版本。
即:
http:
//www.w3.org/1999/XSL/Transform。
其次Mozilla中的XML应用不仅包括XSLT,还包括RDF,XUL,SVG,MathML等等,所以Mozilla对XML的支持从广度和深度上都要超过IE4/5。
第三XMLFAQ的作者对Mozilla推崇有加,认为Mozilla对XML的支持在鲁棒性上比IE4/5要好得多。
OK,说了这么多,现在转到正题上来,如何使Mozilla0.8支持XSLT?
首先,从这里下载Mozilla0.8:
http:
//www.mozilla.org/releases/
最新的是0.8.1版,但是这个版本安装了支持XSLT的模块后无法运行,所以目前还只能使用老一点但是比较慢的0.8版。
如果你不想再要其它诸如SVG/MathML的功能的话,最方便的方法是使用做好的.exe文件安装。
安装完毕后,启动Mozilla,访问这个页面:
http:
//www.mozilla.org/projects/xslt/
页面里有一个Install按钮,点击这个按钮就可以安装实现XSLT功能的TransforMiiX模块。
重新启动Mozilla,访问上面提到的那个页面。
点击上面simpleexample的链接。
如果看到的结果与点击looklike链接看到的结果相同,那么你的Mozilla就已经能够支持XSLT了。
关于如何配置Mozilla0.8支持JavaPlug-in请参考我发在XML版的另一篇帖子:
基于Mozilla的XML客户端解决方案,这里就不多说了。
步骤7。
安装一个XML文件的编辑器。
这一步就更不是必须的了。
你听说过现在还有人使用vi做HTML页面吗?
我就见过这样的人,那就是于明俭老师。
在于老师的个人主页上有样一句醒目的话:
Justvimit!
实际上你可以使用任何你喜欢的编辑器来编辑XML文件,但是为了方便那些习惯使用WYSIWYG编辑器的朋友,我还是推荐几个比较好的XML编辑器:
1。
XMLSpy:
一个功能很全的XML编辑器,有试用版可以下载。
2。
EditMLPro:
另一个功能比较全的XML编辑器。
3。
PSGMLforEmacs:
Emacs,我就不用说什么了吧?
http:
//www.lysator.liu.se/projects/about_psgml.html
这里只是为了锦上添花再介绍一些其它的知识,使用这些知识我们可以建造一个更为强大的开发环境。
步骤8。
安装一个比较好的JSPFramework
推荐使用Struts。
Struts是Jakarta项目的一个子项目,目的是开发一个基于MVC设计模式的JSPFramework。
在Struts的框架内做开发可以有效地分离Web应用的表示层和实现层,提高代码的可重用性。
基于MVC设计模式的开发也就是所谓的Model2开发模式。
目前该项目已接近完成,最新的版本是1.0-beta-1。
关于什么是MVC设计模式可以参考机械工业出版社的《设计模式》这本书。
关于Struts的用法,可以参考我翻译的《Struts用户指南》,在文章荟萃里:
从这里下载JakartaStruts:
http:
//jakarta.apache.org/builds/jakarta-struts/release/v1.0-b1/
你需要下载jakarta-struts-1.0-b1.zip这个文件。
将其解压缩,然后将其中的struts-example.war,struts-documentation.war这两个文件拷到Tomcat的webapps目录下,然后重新启动Tomcat。
使用浏览器访问
http:
//localhost:
8080/struts-example/
运行页面里的MailReader程序,如果能正确注册就可以用了。
Struts的文档也装好了,在
http:
//localhost:
8080/struts-documentation/
关于如何在自己的开发目录中使用Struts,请参考Struts所带的文档。
Java版里有一些关于Struts的讨论,使用论坛的搜索功能可以找到。
步骤9。
建立与Apache的连接
这已经是老生长谈了,我介绍一下最简单的方法,使用mod_jk建立与Apache的连接。
假设你已经安装好了Apache,从这里下载mod_jk:
http:
//jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.1/bin/win32/i386/
你需要下载mod_jk.zip这个文件。
将其解压缩,得到一个mod_jk.dll,拷到Apache安装目录下的modules目录中。
修改Apache的配置文件httpd.conf,加入以下两行:
IncludeC:
/tomcat/conf/mod_jk.conf-auto
JkMount/*.doajp12
其中"C:
/tomcat"是Tomcat的安装目录。
将index.jsp加到DirectoryIndex中,即:
DirectoryIndexindex.htmlindex.jsp
如果ServerName前有注释,打开ServerName前的注释,将其设置为localhost,即:
ServerNamelocalhost
重新启动Apache,访问这个页面:
http:
//localhost/examples/
如果能列出jsp和servlet目录,Tomcat和Apache的连接就建好了。
OK,说这么多,其实不过是整理了一下内务。
现在内务整理好了,我们可以开始做XML开发了。
前言
XML越来越热,关于XML的基础教程网络上也随处可见。
可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:
XML到底有什么用,我们是否需要学习它?
我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章。
首先有两点是需要肯定的:
第一:
XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会;
第二:
新知识肯定会有很多新概念,尝试理解和接受,您才可能提高。
不要害怕和逃避,毕竟我们还年轻。
提纲
本文共分五大部分。
分别是XML快速入门,XML的概念,XML的术语,XML的实现,XML的实例分析。
最后附录介绍了XML的相关资源。
作者站在普通网页设计人员的角度,用平实生动的语言,向您讲述XML的方方面面,帮助你拨开XML的神秘面纱,快速步入XML的新领域。
第一章:
XML快速入门
一.什么是XML?
二.XML是新概念吗?
三.使用XML有什么好处?
四.XML很难学吗?
五.XML和HTML的区别
六.XML的严格格式
七.关于XML的更多
一.什么是XML?
这往往是第一个问题,也往往在第一个问题上你就会搞不明白,因为大多的教材上这样回答:
XML是ExtensibleMarkupLanguage的简写,一种扩展性标识语言。
这是标准的定义。
那么什么是标志语言,为什么叫扩展性?
已经让人有些糊涂。
我想我们这样来理解会好一些:
对HTML你已经非常熟悉了吧,它就是一种标记语言,记得它的全称吗:
"HypertextMarkupLanguage"超文本标记语言。
明白了?
同时,HTML里面有很多标签,类似,等,都是在HTML4.0里规范和定义,而XML里允许你自己创建这样的标签,所以叫做可扩展性。
这里有几个容易混淆的概念要提醒大家:
1.XML并不是标记语言。
它只是用来创造标记语言(比如HTML)的元语言。
天,又糊涂了!
不要紧,你只要知道这一点:
XML和HTML是不一样的,它的用处途比HTML广泛得多,我们将在后面仔细介绍。
2.XML并不是HTML的替代产品。
XML不是HTML的升级,它只是HTML的补充,为HTML扩展更多功能。
我们仍将在较长的一段时间里继续使用HTML。
(但值得注意的是HTML的升级版本XHTML的确正在向适应XML靠拢。
)
3.不能用XML来直接写网页。
即便是包含了XML数据,依然要转换成HTML格式才能在浏览器上显示。
下面就是一段XML示例文档(例1),用来表示本文的信息:
XMLQuickStart