超哥說(shuō)歡迎留言
          超哥說(shuō)歡迎留言,超哥說(shuō)歡迎調(diào)錯(cuò),超哥說(shuō)歡迎批評(píng),超哥說(shuō)歡迎指正,超哥說(shuō)*&%%^$^%#$%$#@ 讀者說(shuō),你丫閉嘴!讓不讓人看了!再窮叨叨,抽你丫的!!

          2006年3月17日

          好久沒(méi)有來(lái)過(guò)我的空間了,這個(gè)空間給浪費(fèi)了,懶得寫(xiě)。
          今天有些想法,就留兩句吧。
          昨天瀏覽了一下《蔣介石傳》美國(guó)人寫(xiě)的。經(jīng)過(guò)GCD同意出版的,所以對(duì)我來(lái)講它沒(méi)有任何的政治意義。
          我只是從個(gè)人發(fā)展的角度去看他。
          蔣介石家境并不好,很小就死了父親。父親死后更是艱難,經(jīng)常受當(dāng)?shù)馗蝗撕凸俑钠圬?fù)。所以蔣是堅(jiān)決反封建的……:)
          這些都不是重點(diǎn),重點(diǎn)是蔣20歲之前就已經(jīng)堅(jiān)定了他的人生觀,價(jià)值觀。
          它在日本求學(xué)時(shí)一日三餐就三個(gè)窩頭,可是他堅(jiān)持下來(lái)了。
          當(dāng)他在日本見(jiàn)到孫中山時(shí)就已經(jīng)堅(jiān)決了他以后的道路,方向,在也沒(méi)有改動(dòng)過(guò)。
          我們姑且不論對(duì)與錯(cuò),(我們也沒(méi)有資格討論)看看我現(xiàn)在吧,再過(guò)幾年就30多了。人生還是沒(méi)有明確的目標(biāo),沒(méi)有方向。
          我真的很羨慕那些有信念,并為其堅(jiān)貞不渝的人,
          像譚嗣同,像愷撒大帝,像夏明翰…………
          我為什么就不能樹(shù)立一個(gè)甚至可以為此付出生命的理想呢!
          這是怎么回事啊?
          我得理想呢?我的偉大目標(biāo)怎么不見(jiàn)了?
          我以前是有理想,有目標(biāo)的 上學(xué)前的理想是————當(dāng)官
          我記得小時(shí)候爺爺奶奶教育我時(shí)就是好好學(xué)習(xí),長(zhǎng)大當(dāng)官,至于當(dāng)官后干嗎?不知道!為什么當(dāng)官?不知道。
          不過(guò)這個(gè)理想持續(xù)到小學(xué)一年級(jí)就被推翻了。
          上學(xué)后老師就說(shuō)好好學(xué)習(xí),以后當(dāng)科學(xué)家或者以后實(shí)現(xiàn)共產(chǎn)主義,我靠 這個(gè)帽子相——當(dāng)?shù)拇蟀 8浅兜睦硐搿>蜑榱水?dāng)個(gè)科學(xué)家來(lái)好好學(xué)習(xí)?
          雖然把當(dāng)官推翻了,可是當(dāng)科學(xué)家與共產(chǎn)主義都沒(méi)有能夠占領(lǐng)我心中理想的高地。
          上了高中就基本上徹底沒(méi)有理想了。有的老師竟會(huì)說(shuō),好好學(xué)習(xí)吧,上了大學(xué)你忙就可以盡情的玩了。
          呵呵,多誘人的蛋糕啊。可是沒(méi)有人告訴我吃完蛋糕后有力氣了,應(yīng)該干點(diǎn)啥!
          posted @ 2006-03-17 12:45 超人 閱讀(293) | 評(píng)論 (2)編輯 收藏

          2005年11月30日

          commons-digester-1.7.jar

          1、功能簡(jiǎn)述:解析xml文件;

           

          2、環(huán)境配置:所需要用到的jar包÷

            Digester的運(yùn)行依賴下列包:

          一個(gè)遵循Jaxp(1.1版本及以后)的XML解析器 xerces.jar     

          Jakarta commons beanutils包 commons-beanutils.jar (1.5版本及以后)

          Jakarta commons collections包 commons-collections-3.1.jar(2.1版本及以后)

          Jakarta commons logging包 commons-logging-1.0.4.jar(1.0.2版本及以后)
           
          一個(gè)簡(jiǎn)單的例子  
          3、使用限制:無(wú)平臺(tái)限制(沒(méi)有測(cè)試過(guò))


          4、是否可進(jìn)行封裝:可以進(jìn)行封裝,但我沒(méi)試過(guò)


          5、調(diào)用思路:
             讀取配置文件時(shí)使用。


          6、代碼示例:

          本代碼囊括了xml的大多數(shù)基本情況包括屬性值(如:penson的id)單一節(jié)點(diǎn)值(如:name),混合節(jié)點(diǎn)值(如:email)

           

          ***********Example.xml**********
          <address-book>
            <person id="1" category="acquaintance" try="would be ignored">
              <name>Gonzo</name>
              <email type="business">gonzo@muppets.com</email>
              <gender result="the whole tag would be ignored">male</gender>
            </person>
            <person id="2" category="rolemodel">
              <name>Kermit</name>
              <email type="business">kermit@muppets.com</email>
              <email type="home">kermie@acme.com</email>
            </person>
          </address-book>**********Person.java************
          import java.util.HashMap;
          import java.util.Iterator;
          public class Person {
            private int id;
            private String category;
            private String name;
            private HashMap emails = new HashMap();
            //下面的兩個(gè)方法的名字中set以后的部分,與<person>的屬性名字對(duì)映。當(dāng)從xml文件中識(shí)別出<person>的屬性時(shí),如果有要求(即調(diào)用過(guò)addSetProperties方法),Digester會(huì)依據(jù)這種對(duì)映關(guān)系自動(dòng)調(diào)用相應(yīng)的方法。
            public void setId(int id) {
                this.id = id;
            }
            public void setCategory(String category) {
                this.category = category;
            }
            //對(duì)name而言,因?yàn)槠渲祦?lái)自<name>標(biāo)簽的內(nèi)容而非屬性值,需要用addCallMethod指定識(shí)別<name>后的要調(diào)用此方法(想自動(dòng)調(diào)用也要可以,需要addBeanPropertySetter,參見(jiàn)第下一個(gè)例子)。
            public void setName(String name) {
                this.name = name;
            }
            //同name,此時(shí)還要一一指定addEmail的參數(shù)值的來(lái)源。
            public void addEmail(String type, String address) {
                emails.put(type, address);
            }
            public void print() {
                System.out.println("Person #" + id);
                System.out.println("  category=" + category);
                System.out.println("  name=" + name);
                for(Iterator i = emails.keySet().iterator(); i.hasNext(); ) {
                    String type = (String) i.next();
                    String address = (String) emails.get(type);
                    System.out.println("  email (type " + type + ") : " + address);
                }
            }
          }
          **********AddressBook.java***********
          import java.util.LinkedList;
          import java.util.Iterator;
          public class AddressBook {
              LinkedList people = new LinkedList();
              public void addPerson(Person p) {
                  people.addLast(p);
              }
              public void print() {
                  System.out.println("Address book has " + people.size() + " entries");

                  for(Iterator i = people.iterator(); i.hasNext(); ) {
                      Person p = (Person) i.next();
                      p.print();
                  }
              }
          }
          ************AddressBookDigester*********
          import org.apache.commons.digester.Digester;
          /**
           * Usage: java Example1 example.xml
           */
          public class AddressBookDigester {
              public static void main(String[] args) {
                  if (args.length != 1) {
                      usage();
                      System.exit(-1);
                  }
                  String filename = args[0];
                  // 創(chuàng)建一個(gè)Digester實(shí)例
                  Digester d = new Digester();
                  // 創(chuàng)建AddressBook實(shí)例,并將其壓入棧頂。
                  AddressBook book = new AddressBook();
                  d.push(book);
                  // 增加規(guī)則
                  addRules(d);
                  // 處理輸入的xml文件
                  try {
                      java.io.File srcfile = new java.io.File(filename);
                      d.parse(srcfile);
                  }
                  catch(java.io.IOException ioe) {
                      System.out.println("Error reading input file:" + ioe.getMessage());
                      System.exit(-1);
                  }
                  catch(org.xml.sax.SAXException se) {
                      System.out.println("Error parsing input file:" + se.getMessage());
                      System.exit(-1);
                  }
                 
                 
                  // 將解析出的地址數(shù)據(jù)打印出來(lái)
                  book.print();
              }
             
              private static void addRules(Digester d) {
                  // 當(dāng)遇到<person>時(shí),創(chuàng)建類Person的一個(gè)實(shí)例,并將其壓入棧頂
                  d.addObjectCreate("address-book/person", Person.class);
                 
                  // 將<person>標(biāo)簽的屬性(attribute)與棧頂Person類對(duì)象的屬性(property)設(shè)置方法根據(jù)各自的名字進(jìn)行映射,(例如,將標(biāo)簽屬性id與屬性設(shè)置方法setId進(jìn)行映射,將標(biāo)簽屬性category與屬性設(shè)置方法setCategory進(jìn)行映射),然后將屬性的值作參數(shù)傳遞給執(zhí)行相應(yīng)的方法。
                  // 如果某標(biāo)簽屬性沒(méi)法通過(guò)名字找到相應(yīng)的屬性設(shè)置方法,則此標(biāo)簽屬性被忽略(如example.xml中第一個(gè)<person>的try屬性)。
                  d.addSetProperties("address-book/person");

                  // 調(diào)用第二棧頂對(duì)象(AddressBook實(shí)例)的addPerson方法,以棧對(duì)象(Person實(shí)例)的對(duì)象為參數(shù)
                  d.addSetNext("address-book/person", "addPerson");       
                 
                  // 當(dāng)遇到<person>的子元素<name>時(shí),調(diào)用棧頂對(duì)象(Person實(shí)例)的setName方法。
                  // 此處addCallMethod方法的第一參數(shù)是規(guī)則,第二個(gè)參數(shù)是方法的名字,第三個(gè)是參數(shù)的數(shù)量(為0時(shí),表示只有一個(gè)參數(shù),且參數(shù)的值是元素的內(nèi)容)
                  d.addCallMethod("address-book/person/name", "setName", 0);
                 
                  // 當(dāng)遇到<person>的子元素<email>時(shí),調(diào)用棧頂對(duì)象(Person實(shí)例)的addEmail方法,addEmail方法有兩個(gè)參數(shù),取值分別來(lái)自<email>的屬性type的值和<email>本身的內(nèi)容。
                  // 此處addCallParam方法的第一參數(shù)是規(guī)則,第二個(gè)參數(shù)是指明被調(diào)用方法(addEmail)參數(shù)的序號(hào),第三個(gè)是參數(shù)為字符串時(shí)指屬性的名字)
                  d.addCallMethod("address-book/person/email", "addEmail", 2);
                  d.addCallParam("address-book/person/email", 0, "type");
                  d.addCallParam("address-book/person/email", 1);
              }

              private static void usage() {
                  System.out.println("Usage: java Example1 example.xml");
              }
          }

          Address book has 2 entries
          Person #1
            category=acquaintance
            name=Gonzo
            email (type business) : gonzo@muppets.com
          Person #2
            category=rolemodel
            name=Kermit
            email (type business) : kermit@muppets.com
            email (type home) : kermie@acme.com

          posted @ 2005-11-30 15:47 超人 閱讀(1739) | 評(píng)論 (2)編輯 收藏

          2005年11月25日

          ffdfdsa gdfgdgdg dgffgfdgfdhffbffgfdfd 大幅度所附fd大幅度發(fā)地方地方
          posted @ 2005-11-25 14:58 超人 閱讀(138) | 評(píng)論 (0)編輯 收藏
          僅列出標(biāo)題  
           
          主站蜘蛛池模板: 饶平县| 吉林市| 伊宁市| 漯河市| 田东县| 蒙山县| 昌图县| 凤冈县| 滦平县| 双桥区| 阳城县| 沂南县| 井研县| 孟连| 清流县| 株洲市| 客服| 桓仁| 隆林| 水富县| 黑水县| 龙门县| 镇雄县| 平江县| 汤阴县| 桐乡市| 忻州市| 高台县| 攀枝花市| 肥城市| 临西县| 鄂州市| 连城县| 滦南县| 海南省| 克什克腾旗| 甘德县| 虹口区| 浦北县| 钟山县| 资中县|