第二天【JavaBean BeanUtils XML DTD】

今天主要讲JavaBean、泛型、XML三大块:

一、JavaBean

     狭义的JavaBean

         1、有一个共有的空参数构造函数

         2、有属性,并提供public的getter和setter属性的方法。

         3、getter方法必须有返回值。

     广义的JavaBean

          在狭义JavaBean的基础上增加了业务逻辑

1.1操作JavaBean的方法

     Sun提供了操作JavaBean的一套API就是内省,同过PropertyDescriptor属性描述类,进行操作 。

1.2  BeanUtils操作JavaBean     还有一种就是Apache组织开发BeanUtils工具包,实际项目中多用这个

内省API(SUN公司开发)

  1)解决JavaBean的存取值

  2)解决JavaBean中属性的个数,名称

  3)属性和getXxx()有关,同时getXxx()必须有返回值

  4)其它PropertyDescriptor代表一个JavaBean的属性,能过它可以取得对应的存取方法

*3 BeanUtils工具/框架(APACHE组织开发)

  1)解决JavaBean的存取值,比内省代码更优

  2)BeanUtils工具自动将String->8种基本类型

  3)自定义转换器,注意转换器一定要在设置属性之前注册

  4)对于String->java.util.Date类型,可以使用内置转换器  

二、泛型,JDK1.5新特性

     1、常用于集合类型限定

     2、泛型还可以定义在方法和类上。

三、XML(Extensible Markup Language)可扩展标记语言,是W3C组织于2000年发布的1.0版本,目前也只有这个版本,XML文件一般用于保存有关系的数据和应用程序的配置文件。一个XML文件包含以下几个元素:

     1、文档声明

     2、元素

     3、属性

     4、注释,不能嵌套

     5、CDATA 区,也就是解析器不解析的区域<![CDATA[内容]]>

     6、处理指令(processing instruction)

     XML基本格式:一个XML文件必须有且只有一个根元素

     文档声明:<?xml version="1.0" encoding="utf-8"  standalone="yes" ?>,standalone标记的是XML文件是否引入 了外部的DTD

     根元素:  <root>    </root>  元素名可以随便起,只要不是数字

     引入CSS样式表文件:<?xml-stylesheet type="text/css" href="xxx.css"?>

四、DTD(Document Type Definition文档类型定义) 约束

     DTD约束可以定义在XML文件内部,也可以单独写一个DTD文件,然后在写XML文件的时候在引入

     写在XML文件内部:<!DOCTYPE  根标签 [约束]>

     引入本地DTD:<!DOCTYPE 根标签 SYSTEM "DTD文件URL">

     引入公共DTD:<!DOCTYPE 根标签 PUBLIC "DTD文件名"  "文件URL">

     1、DTD语法细节:

         1)元素  <!ELEMENT 元素名         (内容类型)>

          内容类型:

                    元素:如果元素里面有别的元素则,直接写元素,如果是多个元素用逗号隔开

                    #PCDATA:文本内容

                    ANY:任意内容,可以是空、元素、文本都可以

                    MEPTY: 空,不能有内容

          在元素内容中可以使用*,?,+等符合表示元素出现的次数,这个和正则类似,*表示出现0次或无数次,?表示出现0次或1次,+表示出现1次或多次。

       2)属性定义 <!ATTLIST 元素名

                                          属性名1  属性值类型  设置说明

                                          属性名2  属性值类型  设置说明>

                    属性值类型:

                                   CDATA:文本内容

                                   ENUMERATED:枚举值,例如(jelly|xwrite|heny) "jelly" ,后面必须跟一个初始值

                                   ID :不重复值,有点类似数据库的主键约束,必须是字母或下划线开头

                                   ENTITY:参数实体,通过%调用

                    设置说明:

                                   #REQUIRED :必须的属性值

                                   #IMPLIED:可有可无的属性值

                                   #FIXED "指定属性值":可有可无的属性值,如果有这个属性则必须是指定的属性值

                                   "默认值" :就是说该属性值如果不设置就会使用默认值,如果设置则覆盖默认值

       3)实体定义

                   引用实体:<!ENTITY 实体名 "实体内容">  ,引用实体是在XML文件中进行调用,格式为:&实体名;

                   参数实体:<!ENTITY % 实体名称 “实体内容”>,参数实体是在DTD中调用,格式为:%实体名;

posted on 2012-08-22 20:16  东方泛起鱼肚白  阅读(269)  评论(0编辑  收藏  举报

导航