博文

JDOM处理XML快速上手(2006-02-23 22:58:00)

摘要:     最近的工作常常要和XML格式的文档或字符串打交道,发现用JDOM来做真是方便。可以实现XML应用程序的快速开发。     在 JDOM 中,XML 元素就是 Element 的实例,XML 属性就是 Attribute 的实例,XML 文档本身就是 Document 的实例。
    因为 JDOM 对象就是像 Document、Element 和 Attribute 这些类的直接实例,因此创建一个新 JDOM 对象就如在 Java 语言中使用 new 操作符一样容易。JDOM 的使用是直截了当的。
    JDOM 使用标准的 Java 编码模式。只要有可能,它使用 Java new 操作符而不故弄玄虚使用复杂的工厂化模式,使对象操作即便对于初学用户也很方便。
   
    本文分两步对JDOM的应用加以介绍:XML创建 和 XML解析
一、XML文档创建
    我们由零开始利用JDOM生成一个XML文档。最后的结果(样本文档)看起来象这样:
    <?xml version="1.0" encoding="UTF-8"?>
    <MyInfo comment="introduce myself">
        <name>kingwong</name>
        <sex value="male"/>
        <contact>
            <telephone>876543......

阅读全文(2789) | 评论:0

JDOM使用详解及实例&nbsp;(2006-02-23 22:42:00)

摘要:一、JDOM 简介 JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和DOM的功能有效地结合起来。 在使用设计上尽可能地隐藏原来使用XML过程中的复杂性。利用JDOM处理XML文档将是一件轻松、简单的事。 JDOM 在2000年的春天被Brett McLaughlin和Jason Hunter开发出来,以弥补DOM及SAX在实际应用当中的不足之处。 这些不足之处主要在于SAX没有文档修改、随机访问以及输出的功能,而对于DOM来说,JAVA程序员在使用时来用起来总觉得不太方便。 DOM的缺点主要是来自于由于Dom是一个接口定义语言(IDL),它的任务是在不同语言实现中的一个最低的通用标准,并不是为JAVA特别设计的。JDOM的最新版本为JDOM Beta 9。最近JDOM被收录到JSR-102内,这标志着JDOM成为了JAVA平台组成的一部分。 二、JDOM 包概览 JDOM是由以下几个包组成的
org.jdom                包含了所有的xml文档要素的java类 org.jdom.adapters         包含了与dom适配的java类 org.jdom.filter            包含了xml文档的过滤器类 org.jdom.input            包含了读取xml文档的类 org.jdom.output           包含了写入xml文档的类 org.jdom......

阅读全文(3099) | 评论:0

用JDOM处理XML文档(2006-02-22 22:50:00)

摘要:
用JDOM处理XML文档(转载)
关键词:Java、JDOM、XML、JAXB (一)JDOM的介绍以及与JAXB的比较 Java + XML = JDOM !
这就是JDOM设计者的目标。如果你曾经使用过烦人的SAX或是DOM来处理XML,你就会知道为什么要有JDOM或者是JAXB。在今年(2002)的JavaOne会议上JDOM的主要创始人Jason Hunter有一篇精彩的演讲介绍了JDOM技术,题目就是JDOM Makes XML Easy。
在那篇文档里,JDOM被拿来与DOM比较,而我更愿意拿它同JAXB比较。因为JAXB和JDOM都是为了在Java中提供比DOM和SAX更为方便的XML处理接口而开发的,并且通过完全不同的途径来解决这个问题。JDOM的处理方式是与DOM类似的树操作。而JAXB通过DTD和绑定模式来生成访问XML文档的Java代码,将XML映射成了Java对象来操作。你可以根据项目的需要和个人喜好来决定采用哪一个。
JDOM与JAXB的比较,从本身的特点来看:
1) JDOM比JAXB更容易上手。使用JAXB首先要会编写DTD,然后还要会编写绑定模式。JDOM没有这样的要求,如果你会Java和XML,甚至可以说光是看JDOM的javadoc文档就能够使用JDOM。
2) JAXB编写好DTD和绑定模式以后,XML文档被映射成了Java对象,其数据就是Java对象的属性,连数据类型都做好了转换,因此,访问XML文档比JDOM要简便,可以说是一劳永逸。
3) JAXB由某个DTD和绑定模式生成的代码只能访问该DTD所约束的文档。如果想要访问其他XML文档,需要再编写DTD和绑定模式。JDOM可以处理任何XML文档,包括受约束的和不受约束的。 目前JDOM和JAXB都没有正式版本。JDOM的最新版本是beta8,JAXB是1.0 early access,其规范版本是0.21。相对而言,JDOM更成熟一些。例如JAXB不支持名字空间、不能向XML文档写入处理指令,有时我们需要保留的换行符和首尾空格在JAXB中自动过滤掉了,就连放在里面也不能幸免。JDOM就没有这些限制。如果说以上的3点比较是JDOM和JAXB本身的特点所决定的,几乎不可能改变,那么这里表明,JAXB还......

阅读全文(2435) | 评论:0

与Java相关的四十个名字(2006-02-22 22:40:00)

摘要:与Java相关的四十个名字--十大产品 Sun JDK :Java的基石
文/莫映 众所周知,流传于市的JDK不单Sun一家,比如IBM的JDK、BEA的JRocket、GNU的GCJ,以及如Kaffe这样的开源实现,不一而足。但是,根正苗红的Sun官方JDK一直以来都是备受瞩目的主流,它对Java社区的影响也是举足轻重。
1996年1月,Sun在成立了JavaSoft部门之后,推出了JDK 1.0,这是Sun JDK(Java Development Kit)的首个正式版本;当年12月,JDK1.1出炉。该版除了对前序版本部分特性做了改进以外,重写了AWT,采用了新的事件模型。1998年12月,JDK 1.2正式发布。此时的类库日臻完善,API已从当初的200个类发展到了1600个类。在1.2版本中引入了用100%纯Java代码写就的Swing,同时,Sun将Java更名为Java 2。
1999年,Java 技术形成了J2SE、J2EE和J2ME三大格局。Sun向世人公布了Java HotSpot性能引擎技术的研究成果。HotSpot旨在进一步改善JVM性能,提高Java ByteCode的产生品质,加快Java应用程序的执行速度。J2SE 1.3发布于2000年;2002年2月间,J2SE 1.4问世,这是有JCP参与以来首个J2SE的发行版本。2004年9月30日,代号为“Tiger”的J2SE 5.0终于出笼了,这次发布被誉为Java平台历来发布中特性变动最大的一次。包括泛型在内的若干重大语法改进、元数据支持,包括多线程、JDBC在内的多项类库改进,都令广大Java程序员激动不已。自此,Sun的官方JDK(J2SE Development Kit)已经步入了一个新的高度。 与Java相关的四十个名字--十大事件 1990-1994:Java缘起
文/孟岩 Larry Wall说,优秀程序员应有的三个特点:懒惰、急躁和傲慢。Java就是诞生在一群懒惰、急躁而傲慢的程序天才之中。
1990年12月,Sun的工程师Patrick Naughton被当时糟糕的Sun C++工具折磨的快疯了。他大声抱怨,并威胁要离开Sun转投当时在Steve Jobs领导之下的NeXT公司。领导层为了留住他,给他一个机会,......

阅读全文(2650) | 评论:0

简析Java开发中的XML编程(2006-02-22 22:04:00)

摘要:  XML作为全球通用的结构化语言,越来越受人们青睐,各种开发平台(比如Microsoft Studio系列、Oracle系列、Inprise Borland系列等)也都把支持XML开发作为宣传口号之一 。由于笔者所从事的电子政务开发较早的引入了XML,所以尝到了许多甜头,在许多项目中利用XML数据交换信息,省去了许多麻烦事,不用制定繁锁的数据格式,利用XML数据易于表达,也利于一线开发者跟踪调试。 
  在XML应用中,最常用也最实用的莫过于XML文件的读写,所以笔者通过一个简单的XML文件读写来作简要分析。可以在任何文本编辑器中先建立如下结构的XML文件,类似于HTML结构,但XML语义比较严格,起始标记必须配对,比如"〈学生花名册〉"与"〈/学生花名册〉"对应,空格多少可不必在意,但一般都以缩格形式书写,便于阅读。把此文件命名为
Input.xml,可以在任何支持XML的浏览器中打开测试一下,如果输入正确,在浏览中可以看到此文件的树形表示结构。

<?xml version="1.0" encoding="GB2312"?> 
<学生花名册> 
 <学生 性别 = "男"> 
  <姓名>李华</姓名>  
  <年龄>14</年龄> 
  <电话>6287555</电话> 
 </学生> 
 <学生 性别 = "男"> 
  <姓名>张三</姓名> 
  <年龄>16</年龄> 
  <电话>8273425</电话> 
 </学生> 
</学生花名册> 
  准备工作做完后,接着就开始写实质性的JAVA代码了。为保存从XML文件读入的信息,需要先建一个简单的Bean来保存学生信息,命名为StudentBean,代码如下所示: 

public class StudentBean { 
 private String sex; //学生性别 
 private String name; //学生姓名 
 private int age; //学生年龄 
 private String phone; //电话号码 

 public void setSex(String s) { <......

阅读全文(2396) | 评论:0

JSP过滤器----朋友写的!(2006-02-20 22:21:00)

摘要:<%@ page contentType="text/html; charset=gb2312" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%
String temp=request.getParameter("id");
if(temp!=null)
{
byte bytes[]= temp.getBytes("iso-8859-1");
String str=new String(bytes,"gb2312");
pageContext.setAttribute("str",str);
request.setAttribute("str",str);
}
%>
 
<html>
<head>
<title>
jsp1
</title>
</head>
<body bgcolor="#ffffff">
<h1>
JBuilder Generated JSP
</h1>
<form method="post" action="jsp1.jsp">
<c:out value="${pageScope.str}"/>
<c:out value="${requestScope.str}"/>
</form>
</body>
</html>......

阅读全文(2990) | 评论:2

呵呵!有点道理(2006-02-15 20:42:00)

摘要:A 不要在同事面前说别的同事,因为你们都是一根绳子上的蚂蚱。 不要在上司面前诋毁同事,因为上司远远比你聪明。 不要在同事面前表达对上司的不满,因为这是他最好表达忠诚的机会。 不要在更高的上司面前投诉直接上司,因为他们合作的利益远远大过同你。 总之,别在办公室耍小聪明,最忌讳抢别人的事。   B 不要滥交异性,尤其是女孩子,因为一举一动都会留下铬印,将来成为把柄。 不要相信异性,尤其是女孩子,因为世事多变,每个人都有太多的不得已。 不要依靠异性,尤其是女孩子,因为生活沉重,谁都想活得轻松。 不要伤害异性,尤其是女孩子,因为报复迟早都会来,弄不好吃亏的是你自己。
  总之:要和异性保持距离,敬而远之。   C 不要相信文字,因为文字是别人脑袋里的排泄物,只想骗你吃进去。 不要相信搞文字的人,因为他们软弱而畸形,从不知道自己是个什么东西。 不要相信政治,因为政治是社会的黑洞,靠近它眨眼就被吞噬。 不要相信搞政治的人,因为他们狡猾而凶狠,父母兄弟老婆孩子统统可以牺牲。
总之,不要让别人看出你的天真,如果你不懂,就跑远一些。   D 不要评价别人的容貌,因为他不靠你吃饭。 不要评价别人的德行,因为你不比他高尚。 不要评价别人的家庭,因为那和你无关。 不要评价别人的学问,因为世上最不缺的就是学问。 总之,不要评价任何人,哪怕是你的老婆孩子。   E 不要乱花钱,因为明天你就可能失业。 不要趾高气扬,因为明天你就可能失势。 不要吹嘘爱情,因为明天你就可能失恋。 不要委屈自己,因为明天你就可能死去。 总之,做人低调一点。
  F 令人不能自拔的,除了牙齿还有爱情。 --台湾歌星齐秦爱情感言   G 高难度的爱情,是月色、诗歌、三十六万五千朵玫瑰,加上永恒; 高难度的婚姻,是账簿、证书、三十六万五千次争吵,加上忍耐; 高难度的人生,是以上两者皆无。 --朱德庸妙言爱情、婚姻、人生   H 在爱情中,有人"视死如归";在婚姻中,有人"视归如死"。 相亲是"经销",恋爱是"直销",征婚是"招标"。   I 人的"喜新"最多最久只有30......

阅读全文(2549) | 评论:3

JDBC连接数据库经验技巧集萃(2006-02-14 14:56:00)

摘要:Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。

  一、连接各种数据库方式速查表

  下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。

  1、Oracle8/8i/9i数据库(thin模式)

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
  2、DB2数据库

Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
  3、Sql Server7.0/2000数据库

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName......

阅读全文(2073) | 评论:0

2005年感悟做男人100条(2006-02-06 22:59:00)

摘要: 1:能不抽烟最好不抽,它或许可以帮助你吸引一些女生,但不抽绝不会招来厌烦,表现男子气概的途径有很多,没必要拿健康做赌注。 2:给自己定目标,一年,两年,五年,也许你出生不如别人好,通过努力,往往可以改变70%的命运。破罐子破摔只能和懦弱做朋友。 3:找女朋友外表是第一关,但要了解她的品行之后再做打算也不迟。 4:不要在乎小钱,工作的人都后悔从前对自己的GF不够好。记住你们的重要日子,你们的谈话,女生要敏感得多,这样做,至少可以证明你对她的重视。 5:爱她,但别怕她,你们是恋人,也是朋友,她要的不是宠物,这样的感情,走不长远。 6:她要是病了,带她去医院,她害怕时,找个人少的地方抱着她,给她勇气,帮她排队,挂号,放下你那点可悲的面子,周围人只会向她投来羡慕的眼光,不会对你说三道四。 7:别把两个人的生活绞在一起,空间才是爱情的长寿药。不要经常吃醋,谁都有异性朋友,该吃的时候才吃,并且让她知道。 8:善待她的朋友,即使她讨厌的人,你也没资格说坏话,你要做的,就是静静的听她倾诉。适当给她安慰。有时候,她们更需要依靠,即使你们都还是学生。 9:不要问她过去,时机到了,她会毫无保留的告诉你。她要是想见从前那位,让她去,原因是你不让她去,她也会去。为何不表现得大度点,但要让她知道你相当的郁闷。 10:珍惜身边人,不要见异思迁,大家都需要安定。即使对方比你GF漂亮10倍,还主动靠近你,给你暗号,请严肃的告诉她,你有女朋友! 11:她开始管你的生活,你的钱 ,对你唠叨,频繁发消息询问你的位置。别担心,她只是把自己交给了你,害怕失去你。 12:带她去你从前常去的地方,她内心会无比快乐,你失意时,她会在第一时间找到你。 13:发生口角后,别关机,也别在街上和其他异性闲逛,那只能使矛盾激化。 14:过生日,送她草莓蛋糕,不要太大,但要足够精致,把你对她的腻称放在蛋糕上。再买一个大的,让她和朋友一起过。 15:牵手时,即使你的手有多汗,也别放开。 16:把她介绍给你最好的朋友,包括异性朋友。 17:别总是让她打电话来,她也需要被重视的感觉。 18:衣着尽量和她的品位搭调,即使你要提升品质,请带上她一起。 19:别偷看她的隐私,不要去猜测,在一起是缘分,离开也是缘分。 20:如果失恋,不要轻信江湖上传言的借酒消愁,吐的滋味不好受,即使喝了,也......

阅读全文(2181) | 评论:3

java中容易搞错的一些东东 (2006-01-31 23:29:00)

摘要:1)instanceof:实现了某接口的类的对象也是该接口的实例;某类的对象也是该类超类的实例。 2)native()修饰的方法没有方法体,用一个分号";"代替大括号。 3)main不是关键字。 4)System.exit(int value),也就是说,只要是int的,就能够使JVM退出System.exit('a');同样的是合法的。 5)&,|能用在int和boolean上,而^(异或)只能用在int上。 6)如果一个类和一个接口被定义在同一文件中,而且类被声明为public,则接口前什么都不能写,因为接口只能用public来修饰,而一个文件中又只能有一个public访问控制关键字。
7)unreachable statement    下面的几种情况会出现unreachable statement
        (1)在reutrn语句后写语句。
        (2)在throw语句后写语句。
        (3)break、continue语句之后定义语句。 8)“\u10100”//合法,相当于‘\u1010’和字符串“0”
9)移位运算符可以用于long int char short byte
10)类的访问控制符可以是public或什么都不加.
11)goto是保留字但不是关键字.then什么都不是.
12)把超类的类型强制转换后赋给子类的对象时,编译无异常,但运行时会出现异常.......

阅读全文(2225) | 评论:0