首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>jsp教程>资讯:剖析JSP与XML的交互编程技巧上

剖析JSP与XML的交互编程技巧上

www.jz123.cn  2010-10-27   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

  JavaServer Pages ( JSP)和XML是Sun的J2EE的两个至关紧要的组件。 JSP是用于创建应用程序服务器端程序的有效工具,而客户可以是一个浏览器,一个设备或其它的应用程序。 你可以使用XML描述数据并在联系服务器与系统的其余部分之间传递。 如果你仔细考虑Web服务的抽象概念的话,JSP可以被认为是实现技术而XML则是数据封装和消息传送技术。 JSP页面可以通过三种方式使用XML:直接使用XML文件,使用JavaBeans来执行XML处理或者通过标记库使用XML。

  一、直接使用XML

  我们可以在JSP页面中直接使用XML,这要分为三类:

  1. JSP可以读取XML文件并且基于这些数据执行动作。例如:一应用程序可以读取具有某些特定结构的数据的XML文件。

  2. JSP可以创建XML文件以发送数据到客户程序或其它的应用程序。 JSP可以转换XML文件,这个变换可以是交给XSLT处理,由JSP作为控制器,或者通过非XSLT解决方案来完成。 在这两种情况下,JSP的作用都是读取XML文件,转换它并生成一个输出。

  因为JSP包含内嵌的Java程序,所以它可以直接地调用一个分析程序来读/写xml数据。 这是非常不合理的方法,因为数据和代码逻辑并不能很好的被分离开。 另外,这样的程序也很难读得懂。 所以,下面我将介绍第二方法:使用JavaBeans。

  二、使用JavaBeans

  JSP可以通过< jsp:usebean>标记与JavaBeans紧密的整合起来。 下面的程序片段示范了如何使用在JSP页面中的一个JavaBean来设置并获取属性。

  < jsp:useBean id="cb" scope="session" class="xmlrep.Customer" />

  < jsp:setProperty name="cb" property="id" value="45" />

  < B> First Name is: < /B>

  < %=cb.getFname() %>

  < p>

  < B> Last Name is: .< /B>

  < %= cb.getLname() %>

  JSP与JavaBeans整合的特征就是可以自动把超文本标志语言的表单元素翻译成JavaBean属性。 如果有一个HTML表单并且想让它向JavaBean提交表单内容,你可以写下面的代码:

  < jsp:setProperty name="cb" property="*" />

  name属性包含JSP页面已经引用Bean的值。 前面< jsp:useBean>标记设置名称为" cb "。 与设置单独的Bean属性不同,你可以使用星号来标志"全部的"属性。 JSP页面自动地映射HTML表单值为同名的Bean属性。 如果你读取每个HTML表单元素,然后调用相应属性的Bean设置方法,那么结果也将是相同的。

  可以看到,类XML的标记允许JSP页面访问JavaBeans。 我们通过尽可能多的把封装的代码转变成可重用组件(JavaBeans),就可以把JSP页面中代码优化到最小的程度。 你可以使用通用的语法分析程序,像Xerces或者JAXPI,在单独的JavaBeans里与XML文件交互作用--并且你可以在不改动JSP页面的情况下改变分析程序。 此外,Beans还可以使用XSLT来执行XML文件的转换。

  使用JSP和JavaBeans来完成的这些抽象的动作比直接在JSP页面中插入原始的Java程序要好得多,但是你仍然需要熟悉Java程序,以便随时改变JSP页面。 应用程序的一致性与条理性依靠JavaBeans合作创建一个统一的输出结果的好坏程度。 例如,Bean中的缺陷可能会造成整个XML输出无效。 依靠Beans指定资源的方法,可能同时带来执行性能的问题


上一篇:如何用JSP读写Cookie 下一篇:剖析JSP与XML的交互编程技巧下

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图