电话:0731-83595998
导航

J2EE的展现层设计:Applets、servlets和XML结合使用

来源: 2017-12-22 09:17

 百度广告

使用XML配置applet来增强你的web界面

  对一般的基于J2EE的系统,用户界面(UI)总不是很健壮,这里我们提供了一个使用Java Plug-in的解决方案:使用applets来解读XML文档中的数据,并按要求显示出它们,XML文档由servlet产生 

  在标准的J2EE展现层设计中,我们会使用HTML来包装servlet和JSP产生的数据,HTML的优势在于,它易于编写、美观 

  但是当你需要更复杂的GUI时,html就不能满足要求了,比如使用

标签,你不能在表格中做到滚动、选择某一行、编辑等操作。你不可能做到让他看起来就象一个电子表格,用户可以执行各种复杂的表格操作.还有当你需要一个层次化的树型列表,可以进行折叠、扩展、拖进、拖出、对节点改名或删除等操作,这些HTML都做不到 

  当然你可以使用HTML 或DHTML来实现实现一些简单表单和树行为操作,比如使用checkbox来实现行选择.而DHTML呢,难于编写和维护,在发布时也会因浏览器的不同而产生错误.很明显Java applet应该是最好的选择,但如何使用它,怎样把它良好的整合到J2EE的结构中呢? 

  在J2EE的教程中,SUN公司简单的提到在web客户中使用applet,但更多讲述的是servlet和JSP,因为它们不需要任何插件,SUN特别指出了使用JSP来产生XML文档,XML数据是应用于Web serviced的标准的机读数据,这点很重要. 

  但是在这篇文章中,我们要介绍的是使用applets来嵌入展现层,它需要使用一个由web 组件(JSP或SERVLET)产生的XML文档作为资源文件,这样就不需要你的applet通过RMI/IIOP来访问远程的EJB,而是直接访问本地的XML文档. 

展现层数据:  

  各节点的名称、节点是否是文件夹、个节点的内容,这些数据多少很象JTree在它的TreeModel所需的数据,你可以把这些数据用XML来表示,如下: 

  
  
  
 

  你可以继续为各节点添加内容,比如加上节点的图标、它所代表对象的hyperlink以及它代表的对象类(比如现金或日期) 

  使用applet  

Figure 1. 

  在JSP中可以使用标准的HTML标签或者JSP中的,后者是使用Plug-in模式运行你的applet,它可以让你指定特定的JVM,而不是默认的浏览器使用的JVM,这样可以让浏览器应用最新的Java API。(是使用Java Plug-in有一些缺点:用户不得不下载超过9 MB的插件) 

状态改变:  

 

  和一个子节点 

 

  对这种改变,使用如下的一个URL调用来通知系统 

http://localhost:8080/tree/node-moved?node-id=7&destination-folder-id=5 

  使用java.net.URL的openStream()方法来请求该URL,该URL然后把请求由servlet转为session bean的方法调用,进行该删除操作,如果调用成功后,session bean返回如下的一个文档: 

  
  

  在接到该文档后,客户端执行操作,把这些节点从TreeModel中删除,如果服务端调用失败,则返回下列一个文档 

  
  

  客户端接收次消息后使用状态消息或对话框报出错误,显示整个过程 

  Figure 2. Process of an applet firing state changes  |||

  最佳实现  

产生尽可能简单的XML的格式  

使用轻量级的SAX解析器  

别去校验XML  

  只返回你需要的数据 要节省下载时间,你应该只返回一些你需要的数据,比如在返回JTree的数据库时,不一定要把所有的数据库都同时下载,对一些较大的描述你可以在展开某个节点时再下载,加上如下的一个data-link:(这样可以减少加载applet的时间) 

 

  又比如对JTable,你只需要加载现在说需要的数据,比如前50行,如果用户要求,再加载后50行 

只为那些必须使用applet的地方使用它们  

小结:  

请查看的范例来增强理解


Jeremy Dickson has been writing Java code for the past five years in the domain of bioinformatics and life science. He is currently a senior developer at the life science-solutions provider Viaken Systems, working on enterprise Java solutions to data integration problems. Formerly, he has worked on everything from JavaBean components for displaying genetic maps to EJB-based server-side platforms for project management.

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
拼团课程更多+
热门排行
  • 长理培训微信公众号
    每日推送精彩考试资讯
    长按二维码识别
    微信搜索“ 长理培训
  • 加入QQ群一起来考国网!
    QQ群号:223940140
    点击进入

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端