网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Java运行时的子类识别.
.Java编程语言进阶:什么是面向接.
.J2SE5.0用Executor灵活处理事件下.
.再谈谈一些J2ME规范.
.1100行代码设计一个线程池.
.在Java应用程序中监视CPU的使用.
.web应用分页技术.
.Java程序员 Sun降低开源Java系统.
.JBuilder2005 Servlet开发之自启.
.java开源数据库项目Derby的问答.
.Java安全.
.一个绝对害了不少人的Java技术问.
.用java读写ini配置文件.
.企业内部网中使用Policy文件来设.
.敏捷开发的必要技巧:将注释转为.
.Simply Singleton -- part1 By D.
.JDBCTM 入门指南(1).
.hbm2java和hbm2ddl工具的使用.
.JAVA源代码!可以显示水波效果!.
.Eclipse 3.2 M5 .

高手进阶篇:Jive中Jdom使用方法解析

发表日期:2008-1-5



  闻名的Open Source论坛Jive有很多东西值得我们分析和学习,通过分析其Jdom的使用机制,我们可以自如方便的读写XML配置文件,从而实现下列一些功能:
  
  在配置文件中设置系统语言版本属性,不同语言版本,系统界面文字不一样,可以定义自己国家的文字,比如英文版中文简体版。这样,可以很方便的将一个系统延伸到各种语言,不用直接修改程序,只要修改XML配置文件就可以。
  
  在配置文件中设置邮件内容,通常一个系统都有各种自动邮件分发,比如用户注册成功后,会有一封Email发送到他的信箱,这套系统安装在不同客户场合,Email的内容当然不一样,如A客户使用了这套系统,当然希望在Email中有A客户的单位名称,这些都不必修改程序可以完成。
  
  设置系统的可选属性,一个系统安装在不同客户场合中,客户的要求总有些不一样,有些功能是可选的,那么当然这些都要设置在XML配置文件中。
  
  使用XML存放树形结构记录是最方便的,尤其对于那些目录分类系统,如Yahoo,在大分类中有小分类,或者直接是元素我们知道关系数据库是不擅长存放树形数据,在关系数据库中,典型做法是采取两个表:一个表记录每个cell;一个表指明其前后关系;但是我们一旦要从这两张表展开树形结构,将要在空间和时间上反复平衡。
  
  假如使用XML作为数据源,就很方便解决这个问题,假如配合对XML数据源有很方便的增、修、等功能,那么我们当然选择XML,实际上,Jdom就方便地提供了这个工具.Jdom是类似DOM SAX之类的XML解析办法,只适合Java语言,Jdom的特点就是简单方便。
  
  那么,让我们来看看Jive是怎么实现上面功能的吧,它是把这些属性都写在一个叫jive_config.xml的文件中。这个XML文件的排列方式和使用方式是这样:
  
  XML文件内容格式:
  
  <!-- root element, all properties must be under this element -->
  <jive>
  <email>
  <fromName>Jive_Administrator</fromName>
  <fromEmail>webmaster@example.com</fromEmail>
  <subject>Your thread was updated!</subject>
  <body>Hello {name}! The thread {threadName} was updated!</body>
  </email>
  <jive>
  
  其中:
  
  <jive></jive>
  
  是根元素,所有的属性必须在其中。使用方式也比较简单,使用标点符号“.”来间隔。比如我们要得到上面的webmaster@example.com的值,那么使用email.fromEmail就可以。在Jive中,具体语句就是JiveGlobals.getJiveProperty("email.fromEmail");这样获取值很简单,而且明了,无论XML树形结构有多深,我们都可以方便的获取。
  
  这里要害的是一个使用Jdom来解析XML文件的类:XMLProperties ,其中实现了几个主要操作方法:
  
  获得(查询):getProperty(name) ;
  
  新增修改:properties.setProperty(name, value);
  
  删除:properties.deleteProperty(name) ;
  
  这几个方法是不是很类似Hasntable的方法?Hashtable中数据是存放在内存中,而XML是存放在文件系统,无疑我们可以象使用hashtable一样方便的使用XML。
  
  XMLProperties我们可以原封不动的拷贝到我们系统中。唯一要做的就是编制类似Jive的JiveGlobals,其实这也很简单,分两步:先load取出XML文件;然后就提供getProperty(name)等方法。如
  
  public class JiveGlobals {
  private static final String JIVE_CONFIG_FILENAME = "jive_config.xml";
  ....
  
  public static String getJiveProperty(String name) {
  loadProperties();
  return properties.getProperty(name);
  }
  ....
  
  private synchronized static void loadProperties() {
  if (properties == null) {
  //Create a manager with the full path to the xml config file.
  properties = new XMLProperties(jiveHome + File.separator +
  JIVE_CONFIG_FILENAME);
  }
  }
  }
  
  当然,所有这些前提,是到http://www.jdom.org下载Jdom包,并加入到Tomcat的common/lib中,或者放入Classpath中。
  
  其他辅助文件有:DataFormatFilter.java DataUnformatFilter.java XMLFilterBase.java。假如你对Jdom具体每一句是如何使用的,可以仔细研究XMLProperties,很轻易理解的.
上一篇:用Apache Img Tag生成随即验证图片 人气:958
下一篇:教你学会XML Web Service 的安全性 人气:1019
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐