⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simpledigester--rosonsandy.htm

📁 这是最详细的对Tomcat4以上版本的解析。
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0056)http://rosonsandy.blogdriver.com/rosonsandy/1044354.html -->
<HTML><HEAD><TITLE>simpleDigester--rosonsandy</TITLE>
<META http-equiv=Content-Type content="text/html; charset=GBK">
<META http-equiv=Pragma content=no-cache>
<META http-equiv=Cache-Control content=no-cache>
<META http-equiv=Expires content=0>
<META 
content="tomcat源代码日志simpleDigesterjdom  博客 博客动力 blog blogdriver blogger 中国" 
name=description>
<META 
content="rosonsandy tomcat源代码日志simpleDigesterjdom 博客 博客动力 blog blogdriver blogger 中国" 
name=keywords><LINK href="simpleDigester--rosonsandy.files/diary.css" 
type=text/css rel=stylesheet>
<SCRIPT language=JavaScript 
src="simpleDigester--rosonsandy.files/UBB.js"></SCRIPT>

<SCRIPT src="simpleDigester--rosonsandy.files/blog.js" 
type=text/javascript></SCRIPT>

<META content="MSHTML 6.00.2900.3199" name=GENERATOR></HEAD>
<BODY>
<DIV id=container>
<DIV id=header>
<H1 class=title><A 
href="http://rosonsandy.blogdriver.com/rosonsandy/index.html">rosonsandy</A></H1></DIV>
<DIV id=category><A title=上一篇 
href="http://rosonsandy.blogdriver.com/rosonsandy/1044281.html">tomcat源代码日志</A>- 
-| <A href="http://rosonsandy.blogdriver.com/rosonsandy/index.html">回首页</A> | <A 
href="http://rosonsandy.blogdriver.com/rosonsandy/catalog_2005.html">2005年索引</A> 
| - -<A title=下一篇 
href="http://rosonsandy.blogdriver.com/rosonsandy/1045976.html">jdom</A></DIV>
<DIV class=entity>
<H2 class=diaryTitle>simpleDigester- -</H2>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

<P>There are four jars must include in the 
classpath:<BR>1\commons-beanutils.jar, <BR>2\commons-collections.jar 
<BR>3\commons-digester.jar <BR>4\commons-logging-api.jar <BR>
<P>有如下几个文件: <BR><A 
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#a">Academy.java</A> 
<BR><A 
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#b">Cource.java</A> 
<BR><A 
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#c">DigestAcademy.java</A> 
<BR><A 
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#d">Student.java</A> 
<BR><A 
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#e">Teacher.java</A> 
<BR><A 
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#f">academy.xml</A> 
<BR></P>
<P><A name=#a></A></P>
<DIV 
style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px; FONT: 11px/110% Andale Mono, Courier New, Courier, monospace; OVERFLOW: visible; WIDTH: 550px; PADDING-TOP: 5px; WHITE-SPACE: pre; BACKGROUND-COLOR: #efefef"><PRE style="COLOR: #006600; FONT-FAMILY: Andale Mono, Courier New, Courier, monospace"><B>Academy.java</B>

/*
 * Created on 2005-4-3
 * @Author roson
 */

import java.io.File;
import java.util.Vector;

import org.apache.commons.digester.Digester;

public class Academy {
    private Vector<STUDENT /> students;
    private Vector<TEACHER /> teachers;
    private String name;
    private Academy academy;
    
    public Academy()
    {
        students=new Vector&lt;Student&gt;();
        teachers=new Vector&lt;Teacher&gt;();
        System.out.println("after digester");
    }
    
    public void setAcademy(Academy academy)
    {
        this.academy=academy;
    }
    
    public void addStudent(Student student)
    {
        students.addElement(student);
    }
    
    public void addTeacher(Teacher teacher)
    {
        teachers.addElement(teacher);
    }
    
    
    public String getName() 
    {
        return name;
    }
    
    public void setName(String name) 
    {
        this.name = name;
    }
    
    public Vector getStudents() 
    {
        return students;
    }
    
    public void setStudents(Vector&lt;Student&gt; students) 
    {
        this.students = students;
    }
    
    public Vector getTeachers() 
    {
        return teachers;
    }
    
    public void setTeachers(Vector&lt;Teacher&gt; teachers) 
    {
        this.teachers = teachers;
    }
    
    public String toString()
    {
        StringBuffer buf=new StringBuffer(60);
        buf.append("Academy name&gt;&gt;"+this.getName());
        
        Vector stud=this.getStudents();
        Vector teach=this.getTeachers();
        
        buf.append("\n\n**STUDENTS**");
        for(int i=0;i&lt;stud.size();i++)
        {
            buf.append(stud.get(i));
        }
        
        buf.append("\n\n**TEACHER**");
        for(int i=0;i&lt;teach.size();i++)
        {
            buf.append(teach.get(i));
        }
        
        return buf.toString();
    }
}
</PRE></DIV><A name=#b></A>
<P></P>
<DIV 
style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px; FONT: 11px/110% Andale Mono, Courier New, Courier, monospace; OVERFLOW: visible; WIDTH: 550px; PADDING-TOP: 5px; WHITE-SPACE: pre; BACKGROUND-COLOR: #efefef"><PRE style="COLOR: #006600; FONT-FAMILY: Andale Mono, Courier New, Courier, monospace"><B>Cource.java</B>

/*
 * Created on 2005-4-3
 * @Author roson
 */

public class Course {
    private String id;
    private String name;
    
    public Course(){}

    public String getId() 
    {
        return id;
    }
    
    public void setId(String id) 
    {
        this.id = id;
    }
    
    public String getName() 
    {
        return name;
    }
    
    public void setName(String name) 
    {
        this.name = name;
    }
    
    public String toString()
    {
        StringBuffer buf=new StringBuffer(60);
        buf.append("\n\tCourseId&gt;&gt;&gt;"+this.getId()+"\t");
        buf.append("CourseName&gt;&gt;&gt;"+this.getName());
        return buf.toString();
    }
}
</PRE></DIV>
<P><A name=#c></A></P>
<DIV 
style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px; FONT: 11px/110% Andale Mono, Courier New, Courier, monospace; OVERFLOW: visible; WIDTH: 550px; PADDING-TOP: 5px; WHITE-SPACE: pre; BACKGROUND-COLOR: #efefef"><PRE style="COLOR: #006600; FONT-FAMILY: Andale Mono, Courier New, Courier, monospace"><B>DigestAcademy.java</B>

/*
 * Created on 2005-4-3
 * @Author roson
 */

import org.apache.commons.digester.Digester;
import java.io.*;
import java.util.Vector;


public class DigestAcademy {
    
    public static void main(String[] args) throws Exception {
        DigestAcademy d=new DigestAcademy();
        d.digest();
    }
    
    public void digest() throws Exception
    {
        Digester digester=new Digester();
        digester.setValidating( false );
        digester.addObjectCreate("academy",Academy.class);
        digester.addSetProperties("academy");
        
        digester.addObjectCreate("academy/student",Student.class);
        digester.addSetProperties("academy/student");
        
        digester.addObjectCreate("academy/student/course",Course.class);
        digester.addBeanPropertySetter("academy/student/course/id","id");
        digester.addBeanPropertySetter("academy/student/course/name","name");
        digester.addSetNext("academy/student/course","addCourse");
        
        digester.addSetNext("academy/student","addStudent");
        
        digester.addObjectCreate("academy/teacher",Teacher.class);
        digester.addSetProperties("academy/teacher");
        digester.addCallMethod("academy/teacher/certification","addCertification",1);
        digester.addCallParam("academy/teacher/certification",0);
        digester.addSetNext("academy/teacher","addTeacher");
        
        //there are three ways to load xml file 
       //(1) Academy a=(Academy)digester.parse(this.getClass().getClassLoader().getResourceAsStream("file://D:/mystudio/eclipse/digester/academy.xml"));
        try
        {
            //(2)
            File file=new File("academy.xml");
            Academy a=(Academy)digester.parse(file);
            Vector students=a.getStudents();
            for(int i=0;i&lt;students.size();i++)
            {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -