南京华信智原XML在BS架构开发中的应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

XML在B/S架构开发中的应用•关注微信服务号(疯狂软件)随时掌握活动相关信息• 传统上,我们利用JSP+Bean来开发用户界面,这里介绍一种利用XML+XSLT的方法来替代JSP动机:•1.JSP构造页面太痛苦。代码嵌入页面导致页面臃肿,逻辑复杂,不易编辑。•2.程序员和美工的接口必须精确定义。复杂的嵌套输出必须构造复杂的显示类作为接口。•3.调试JSP必须等到前端程序结束才能看到效果。•4.调试JSP效率极低,一点点小的修改都会引起jsp的重新编译。新的XML的解决方案:•1.一个servlet做统一管理。接受url请求,映射到对应的程序bean.•2.程序bean只产生XML,由servlet统一用对应的XSL转换为html.好处•1.JDK1.4已经自带XMLAPI和XSLT,并且支持XSLT1.0标准。IE6也支持同样标准。•2.开发前先制作接口用的demoXML,程序员的输出必须符合此格式。美工根据此格式制作XSL.接口可视化,明确定义。•3.只要定义好接口XML,两边几乎不需要再联合调试。美工利用接口XML和IE6就可以直接看到效果。•4.程序员只要保证输出的XML的是否符合接口,直观的做文字性对比。•5.大量页面可重用的部分能方便的抽象出来,在XSL文件中include/import进来。高度重用,标准化。•6.写XSL可大量采用template,结构清晰,修改方便,写页面变成搭积木,不再有jsp的层层嵌套。•7.对于不同的终端设备,可以定制不同的XSL,很方便的就能够支持手机,pda•8.在程序中利用支持XML的工具,比如sql2000,可以直接生成XML结果,无需复杂编程。坏处:•1.因为要进行XSLT转换,服务器工作量稍微增大。•以下是几个关键环节的简单示例:•◆servlet中的XML转换•/**•*XML是String•*XSL从文件中读取•*直接写入response•*/•//importjavax.xml.transform.*;•//importjavax.xml.transform.stream.*;•StreamSourcexml=newStreamSource(newStringReader(xmlSource));•StreamSourcexsl=newStreamSource(xslFileName);•response.setContentType(“text/html;charset=UTF-8”);•StreamResultresult=newStreamResult(response.getWriter());•Transformertrans=TransformerFactory.newInstance()。newTransformer(xsl);•trans.setOutputProperty(“encoding”,“UTF-8”);•trans.transform(xml,result);接口XML文件样本•<?xmlversion=“1.0”encoding=“UTF-8”?>•<?xml:stylesheettype=“text/xsl”href=“xxx.xsl”?>•<page>•<output>•<info>推广UNICODE,解决多语言问题。</info>•</output>•</page>XSL文件样本•<?xmlversion=“1.0”encoding=“UTF-8”?>•<xsl:stylesheetversion=“1.0”xmlnssl=“”>•<xsl:templatematch=“/”>•<html>•<head>•<metahttp-equiv=“Content-Type”content=“text/html;charset=UTF-8”/>•</head>•<body>•<palign=“center”>•<xsl:value-ofselect=“page/output/info”/>•</p>•</body>•</html>•</xsl:template>•</xsl:stylesheet>考虑:•1.可以把XSLT转换放在IE进行,IE6以下版本要安装MSXML3,对客户端限制太多。•2.在客户端的XSLT转换必须完全读入XML+XSL,在网速不高或者内容很多的时候反应相当迟钝。•3.手机,pda等设备不能进行XSLT转换,所以XSLT转换还是放在服务器上比较合适。•4.因为一般提交内容都比较简单,所以没有采用XML处理,在程序中也尽量少用XML,避免影响速度。•5.可以在servlet判断特定参数,比如发现有xml-view参数时,不做XSLT转换,直接输出XML到浏览器,供程序调试用。

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功