精灵王
- 注册日期2010-12-08
- 发帖数640
- QQ
- 火币1103枚
- 粉丝120
- 关注75
|
阅读:3151回复:0
XML在B/S架构研发中的应用-JSP教程,Java和XML
楼主#
更多
发布于:2011-01-08 20:20
| | | | 传统上, 我们利用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已自带xml api和xslt, 并且支持xslt 1.0标准. ie6也支持同样标准. 2. 研发前先制作接口用的demo xml, 程式员的输出必须符合此格式. 美工根据此格式制作xsl. 接口可视化, 明确定义. 3. 只要定义好接口xml, 两边几乎不必再联合调试. 美工利用接口xml和ie6就能直接看到效果. 4. 程式员只要确保输出的xml的是否符合接口, 直观的做文字性对比. 5. 大量页面可重用的部分能方便的抽象出来, 在xsl文件中include/import进来. 高度重用, 标准化. 6. 写xsl可大量采用template, 结构清晰, 修改方便, 写页面变成搭积木, 不再有jsp的层层嵌套. 7. 对于不同的终端设备, 能制定不同的xsl, 非常方便的就能够支持手机, pda... 8. 在程式中利用支持xml的工具, 比如sql2000, 能直接生成xml结果, 无需复杂编程.
坏处:
1. 因为要进行xslt转换, 服务器工作量稍微增大. 以下是几个关键环节的简单示例: 考虑:
1. 能把xslt转换放在ie进行, ie6以下版本要安装msxml3, 对客户端限制太多. 2. 在客户端的xslt转换必须完全读入xml+xsl, 在网速不高或内容非常多的时候反应相当迟钝. 3. 手机, pda等设备不能进行xslt转换, 所以xslt转换还是放在服务器上比较合适. 4. 因为一般提交内容都比较简单, 所以没有采用xml处理, 在程式中也尽量少用xml, 避免影响速度. 5. 能在servlet判断特定参数, 比如发现有xml-view参数时, 不做xslt转换, 直接输出xml到浏览器, 供程式调试用. 说明:
1. 这里只是利用xslt的功能来解决网站建设中最头痛的界面和逻辑分开问题, 不是基于xml的内容处理. 2. 如果你想赶时髦, 用xml来全副武装, 能参考cocoon2, http://xml.apache.org/cocoon/. 不过请记住, cocoon 还不完善, 你将碰到乱码, 速度, 文件不足的问题, 不过他的思想的确值得学习. 3. 在tomcat, resin中有用filter实现的xslt转换,可参考。
| | | | |
|