




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天博培训机构 Http JSPJSP 与与 XMLXML 的交互的交互 一 一 JSPJSP 与与 XMLXML 的交互的交互 1 概述 JavaServer Pages JSP 和 XML 是 Sun 的 J2EE 的两个至关紧要的组件 JSP 是用于创建服务器 端应用程序的有效工具 而客户端可以是一个浏览器 一个设备或其它的应用程序 可以使用 XML 描 述数据并在联系服务器与系统的其余部分之间传递 以便各种基于 eb 的应用之间能更方便的交换数据 JSP 可以被认为是实现技术而 XML 则是数据封装和消息传送技术 随着 JAVA 和 XML 的不断发展 二者事实上已经发展成为可移植的语言和可移植的数据实现者 在 JSP 页面中可以通过三种方式使用 XML 直接使用 XML 文件 使用 JavaBeans 来执行 XML 处理 通过标记库使用 XML 2 2 直接在 直接在 JSPJSP 页面中使用页面中使用 XMLXML 可以在 JSP 页面中直接使用 XML 这要分为三种不同的情况 1 JSP 可以读取 XML 文件并且基于这些数据执行动作 例如 一应用程序可以读取具有某些特定 结构的数据的 XML 文件 2 JSP 可以创建 XML 文件以发送数据到客户程序或其它的应用程序 注意 注意 xml 文件存储数据与数据库的对比 对很多目前的用途来说 用数据库太过浪费了 xml 文件很容易备份和共享 或下载到你的客户端 同样的 你可以方便地通过 ftp 上载新的数 据到你的站点 xml 还有一个更抽象的优点 即作为层次型的格式比关系型的更好 它可以用一种很直接的方 式来设计数据结构来符合你的需要 3 JSP 可以转换 XML 文件 这个变换可以是交给 XSLT 处理 由 JSP 作为控制器 或者通过非 XSLT 解决方案来完成 在这两种情况下 JSP 的作用都是读取 XML 文件 转换它并生成一个输出 因为 JSP 包含内嵌的 Java 程序 所以它可以直接地调用一个分析程序来读 写 xml 数据 这是非常 不合理的方法 因为数据和代码逻辑并不能很好的被分离开 另外 这样的程序也很难读得懂 所以 可以使用 JavaBean 3 3 使用 使用 JavaBeanJavaBean 处理处理 XMLXML 文件文件 JSP 可以通过 jsp usebean 标记与 JavaBean 紧密的整合起来 并对 JavaBean 的属性进行操作 类 XML 的标记允许 JSP 页面访问 JavaBeans 通过尽可能多的把封装的代码转变成可重用组件 天博培训机构 Http JavaBeans 就可以把 JSP 页面中代码优化到最小的程度 在单独的 JavaBeans 里与 XML 文件交互作用 并且你可以在不改动 JSP 页面的情况下改变 JavaBean 的程序 此外 JavaBeans 还可以使用 XSLT 来执行 XML 文件的转换 使用 JSP 和 JavaBeans 来完成的这些抽象的动作比直接在 JSP 页面中插入原始的 Java 程序要好得 多 但是你仍然需要熟悉 Java 程序 以便随时改变 JSP 页面 应用程序的一致性与条理性依靠 JavaBeans 合作创建一个统一的输出结果的好坏程度 例如 JavaBean 中的缺陷可能会造成整个 XML 输出无效 依靠 JavaBeans 指定资源的方法 可 能同时带来执行性能的问题 4 4 在 在 JSPJSP 中通过标记库与中通过标记库与 XMLXML 进行交互进行交互 通过标记库可以定义出现在 JSP 页面中的作为类 XML 元素的自定义标签 可以把特定的 Java 代码 与每个标记都关联起来 例如 假定你可以访问一个天气情况数据库 而且你需要输出现在的天气状况 那么 你可以在 JSP 中插入 JDBC 程序代码直接查询数据库 虽然这并不是一个好的选择 把这些代 码封装到一个 JavaBean 内 或者把它包装成一个标记库 使用标记库时的 JSP 页面内的程序代码看上去就像 taglib uri the TLD file prefix foo foo Weather Current weather is foo Weather 注意在上述程序代码中看不到任何 Java 代码的踪迹 作为一个页面设计人员 你使用一种熟悉的 语法就像 foo weather 这些与其它的任何标记看起来非常相似 在页面中包含现在的天气状况的 HTML 字符串的地方插入它 当使用标记库时 JSP 页面看上去就非常像 XML 文件了 当 JSP 页面被处理时 引擎执行与标记 相关联的程序代码 实际上 首先调用 JSP 引擎把 JSP 页面翻译成一个 servlet 然后再编译 servlet 与标记库相关联的方法都被包含在 servlet 中 一个熟悉 XML 的人就可以设计并使用各种各样的页面布 局进行试验 而不必改变任何 Java 程序代码 当然 代码与数据的分离的程度还是主要依赖标记库元素 设计的好坏程度 5 5 使用 使用 JSPJSP 技术生成动态技术生成动态 XMLXML 通过使用 JSP 页面 页面内的静态 XML 数据就可以充当一个模板 该模板是用动态内容填充的 Java 代码的任务仅仅是生成可能随时间变化的内容 这是一种更有效的方法 从而无须为每个请求重 新生成静态内容是有意义的 假定 XML 文档只有部分内容是动态的 1 对应的 XMLOne jsp 文件 xmlstandalone no 作者姓名 作者出世时间 第一章 本章的标题 第一部分 天博培训机构 Http 副标题 本段的内容 cal add java util Calendar MINUTE 10 out print 出版时间为 cal getTime toString 注意 必须放在第一行 因为在 XML 文档 中 XML 版本标记必须位于第一行 利用Java 代码不仅可以生成 XML 标记之间的数据 也可以生成一个 XML 文档中的整个标记树 此时 的 Java 代码除了要显示数据之外 还必须产生 XML 的标记 2 对应的 对应的 CSS 文件为文件为 XMLOne css chapter display block introdution display block color blue chap num display block font family Comic Sans MS font size 20 font style italic font weight bolder text align center margin top 2ex chap title display block font family arial black font size 25 text align center part display block margin top 2ex part num font family courier new font size 18 font weight bolder part title font family courier new font size 20 font weight bolder para 1 display block 3 3 在浏览器中的执行后的结果为 在浏览器中的执行后的结果为 4 4 通过查看其源 通过查看其源 HTMLHTML 代码是一个标准的代码是一个标准的 XMLXML 格式的文件格式的文件 天博培训机构 Http 6 6 用 用 socketsocket 发送发送 xmlxml 文档文档 把生成的 xml 文档转化成字符流 然后通过 Socket 输出到服务器端 Socket c new Socket host port PrintWriter pw new PrintWriter new OutuputStreamWriter c getOutputStream true File f new File xmlFileName BufferedReader br new BufferedReader new FileReader f String line while line br readLine null pw println line pw close br close 天博培训机构 Http 二 在二 在 HTMLHTML 页中绑定页中绑定 XMLXML 文档数据文档数据 1 1 数据绑定 数据绑定 通过数据绑定 可以把一个 XML 文档链接到一个 HTML 页 然后绑定标准的 HTML 元素 例如 SPAN TABLE 等 到独立的 XML 元素 HTML 标签元素会自动显示所绑定的 XML 元素的内容 2 2 数据绑定的方法 数据绑定的方法 使用数据绑定的两个主要步骤 1 链接 XML 文档到想要显示 XML 数据的 HTML 页中 通过在 HTML 页中包括标签名为 XML 的 HTML 标签 来完成 其次 给它分配一个 ID 例如下面的代码实现将 HTML 页中的标签 ID 名称为 dsoBook 把 XML 文档 Book xml 链接到该 HTML 页面页 将 XML 中的数据绑定到 HTML 页面中 2 绑定 HTML 标签元素到 XML 标签元素 当绑定一个 HTML 标签元素到一个 XML 标签元素时 HTML 标签元素会自动显示所绑定的 XML 标签元素 的内容 例如 书名 作者 出版社 书号 价格 结果将在 HTML 标签元素 SPAN 中显示出 XML 各个标签元素的内容 数据实际上是使用 HTML 标记 ALT SPAN DIV 等等提取的 datasrc 属性指定了你想从中提取数据的那个数据岛 datafld 属性指定了你想要的数据的 XML 标记 天博培训机构 Http 3 应用例 1 HTML 页面 文件名称为 HtmlBindingXML htm 将 XML 中的数据绑定到 HTML 页面中 XMLSRC Books xml 书名 作者 出版社 书号 价格 2 XML 文件 文件名称为 Books xml XML 编程技术 张三 清华大学出版社 100 5 49 Java 编程技术 李四 电子工业出版社 101 天博培训机构 Http 8 5 3 执行的结果 天博培训机构 Http 三 在三 在 HTMLHTML 中通过中通过 JavaScriptJavaScript 调用调用 XMLXML 数据数据 1 1 HTMLHTML 页面 文件名称为 页面 文件名称为 UserXMLData htmlUserXMLData html var xmlDoc new ActiveXObject Microsoft XMLDOM xmlDoc async false xmlDoc load XMLData xml nodes xmlDoc documentElement childNodes title innerText nodes item 0 text author innerText nodes item 1 text email innerText nodes item 2 text
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北省武汉市武昌区2025届高三下学期5月质量检测考试语文试题(含答案)
- 微信后台运营方案
- 万圣节化妆晚会方案
- 安徽省安庆市区二十二校联考2025届七下生物期末考试试题含解析
- 湖北省随州市尚市中学2025届七年级生物第二学期期末考试模拟试题含解析
- 市政工程农民工安全教育
- 企业贷款协议合同范例
- 84用工合同范例
- 2025年四川内江市兴睿人力资源服务有限责任公司招聘笔试参考题库含答案解析
- 2025年四川威远县国有资产经营有限公司招聘笔试参考题库附带答案详解
- 医疗机构经营情况说明范文
- 月子中心产康部产后恢复流程解析
- 中国邮政集团有限公司国企招聘笔试真题2024
- 社会福利 课件汇 高和荣 第6-11章 社会福利客体-社会福利的挑战
- 2025年安徽合肥东部新中心建设管理办公室招聘2人历年高频重点模拟试卷提升(共500题附带答案详解)
- 热电材料与器件-深度研究
- 2024-2025学年统编版道德与法治八年级下册第四单元检测卷(含答案)
- GB/T 2812-2024头部防护通用测试方法
- 呼吸机湿化的护理
- 总公司与分公司隶属关系证明-企业管理
- 大学英语(阅读与思政)(青岛理工大学(临沂))知到智慧树章节答案
评论
0/150
提交评论