<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>Terry_Y</title>
    <description></description>
    <link>http://terry-y.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>JSP乱码的原因及处理（二）</title>
        <author>Terry_Y</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://terry-y.javaeye.com">Terry_Y</a>&nbsp;
          链接：<a href="http://terry-y.javaeye.com/blog/178925" style="color:red;">http://terry-y.javaeye.com/blog/178925</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: blue">JSP乱码的解决方法中，有一种处理方法为</span>：<br />将所有页面的编码全部设置为：UTF-8，并将服务器的编码也设置为UTF-8，<br />如：tomcat，在server.xml文件中，修改<span style="color: violet">：&lt;Connector URLEncoding="UTF-8"></span><br /><br />但是这种方法有一个问题，通过URL传参数时（如<span style="color: violet">：&lt;a href='a.html?name=我是中国人'>跳转&lt;/a></span>）,在IE浏览器中，当汉字个数为奇数时，最后一个字会是乱码（其实是这个汉字少了一个字符），在FIREFOX中则不会，不知道是不是IE的BUG？<br /><br />这个方式有一个最简单的处理办法：（明天继续，<img src="/images/smiles/icon_biggrin.gif"/>）
          <br/>
          <span style="color:red;">
            <a href="http://terry-y.javaeye.com/blog/178925#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 17:42:10 +0800</pubDate>
        <link>http://terry-y.javaeye.com/blog/178925</link>
        <guid>http://terry-y.javaeye.com/blog/178925</guid>
      </item>
      <item>
        <title>JSP乱码的原因及处理（一）</title>
        <author>Terry_Y</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://terry-y.javaeye.com">Terry_Y</a>&nbsp;
          链接：<a href="http://terry-y.javaeye.com/blog/178913" style="color:red;">http://terry-y.javaeye.com/blog/178913</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: blue">以下内容为转载</span>：<br /><br />Java 开发中遇到的乱码问题 <br />若想明白jsp开发过程中为什么会产生中文乱码，我们先来看看unicode编码。<br />Unicode （统一码）顾名思义是一个将世界上各种文字统一在一起的东东。由美国各大电脑厂商组成的Unicode策进会来推动。目的，推广一个世界通用的编码体制，惊世界上所有常用的文字都涵盖进去，从而减少个电脑商开发国外市场遇到的问题。<br />为了将成千上万的文字统统收集到一个共同的编码机制下，在兼顾经济的原则下，不管是东方还是西方文字，每个字在Unicode中一律以两个Bytes来表示，这样至少有2的16次方65536种不同的组合，足以应付目前绝大多数场合的需要。<br />基本上，计算机只是处理数字。它们指定一个数字，来储存字母或其他字符。在创造Unicode之前，有数百种指定这些数字的编码系统。没有一个编码可以包含足够的字符：例如，单单欧州共同体就需要好几种不同的编码来包括所有的语言。即使是单一种语言，例如英语，也没有哪一个编码可以适用于所有的字母，标点符号，和常用的技术符号。<br />这些编码系统也会互相冲突。也就是说，两种编码可能使用相同的数字代表两个不同的字符，或使用不同的数字代表相同的字符。任何一台特定的计算机(特别是服务器)都需要支持许多不同的编码，但是，不论什么时候数据通过不同的编码或平台之间，那些数据总会有损坏的危险。<br />Unicode给每个字符提供了一个唯一的数字，不论是什么平台，不论是什么程序，不论什么语言。Unicode标准已经被这些工业界的领导们所采用，例如：Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys和其它许多公司。最新的标准都需要Unicode，例如XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML等等，并且，Unicode是实现ISO/IEC 10646的正规方式。许多操作系统，所有最新的浏览器和许多其他产品都支持它。Unicode标准的出现和支持它工具的存在，是近来全球软件技术最重要的发展趋势。<br />将Unicode与客户服务器或多层应用程序和网站结合，比使用传统字符集节省费用。Unicode使单一软件产品或单一网站能够贯穿多个平台，语言和国家，而不需要重建。它可将数据传输到许多不同的系统，而无损坏。<br />在与Unicode相关的各技术文件中，经常会看到ISO 10646和UCS这两个名词。<br />ISO是位于瑞士的国际标准局的缩写。<br />UCS为ISO颁布的第10646号标准 Universal Character Set,就是世界通用字符集。<br />UCS通用字符集采用4个Bytes来编码,将世界上所有的官用和商用编码大小通吃，一网打尽。Unicode自1991年便和ISO的UCS小组密切配合，让Unicode和ISO 10646保持一致。因此Unicode 自2.0版开始，便和 ISO 10646-1使用相同的编码。<br />康熙字典中的汉字有4万7千，如果再加上里面没有的简体字，和不同写法的日文字，那么 Unicode6万多的分配空间，光用来分配汉字就显得捉禁见昼，更别说什么泰文，阿拉伯等其他文字了。针对这个问题Unicode和UCS采用了[中日韩文整合]（CJK Unification）的解决方案，把中日韩笔画详尽的汉字用同一个单码表示。<br />经过[中日韩文整合]的Unicode称为统汉字Unihan。<br />完整的Unicode4.0版可由http://www.unicode.org/Public/UNIDATA/Unihan.txt 下载。<br /><br />UTF (Unicode/UCS Transformation Format),Unicode推荐使用UTF-8和UTF-16两种格式其中8和16指的是Bits数而不是Bytes数。<br />UTF-16基本就是Unicode双字节的实现，加上一个应付未来需要的扩充编码机制（很少用）<br />UTF-8 是一种不等幅的编码方式，英数字（Ascii字码）保持原状，完全不受影响（因此不需要做转换），而其他汉字资料须透过程序来转换，会[变胖]，因为每个字需要额外一个或两个Bytes来编码。<br />UCS字符集中，有UCS-2和UCS-4等编码方式其中的2和4指的是bytes数，对应UTF-8和UTF-16.<br />UCS-2基本和Unicode双byte 编码差不多<br />UCS-4四 byte编码表示一个字，在每个 UCS-2前面加上两个空白的Byte，便可得到对应的 UCS-4。<br /><br />Unicode的空间分配：<br />以下Unicode区位码均以16进制表示<br />Unicode的前256个字符和ISO-8859-1(西欧字母)完全相同，其中前半段就是Ascii(u+0000到u+00FF)。每个ISO-8859-1码前面补上一个空byte(0x00)后才是相应的Unicode码。<br />和我们切身相关的Unihan主要分布在u+3400到u+F9FFF之间，GB2312和BIG5主要分布在u+4E00到U+9FFF之间。<br /><br />UTF-8的编码原理和特性：<br />知道了西欧字符和汉字在Unicode中的位置后，来看看UTF-8<br /><br />U+0000~U+007E 1 _ _ _ _ _ _ _ (7bits)<br />U+0080~U+07FF 1 1 0_ _ _ _ _ 1 0_ _ _ _ _ _ (11bits)<br />U+0800~U+FFFF 1 1 1 0 _ _ _ _ 1 0 _ _ _ _ _ _ 1 0 _ _ _ _ _ _ (16bits)<br />看一看Unicode三种格式提出自由的bits（下划线空位）是否足以用来代表区位中各Unicode码，刚好够用。<br />那么当程序处理UTF-8编码文件时，如何得知一个字符的疆界落在哪里？还有到底他是以三种形式那一中出现呢？<br />每个以UTF-8编码的字符，不管是以一、二、三个bytes出现，第一个byte前端都清楚地标示了该字符的byte总数。如110种有两个1，代表这种字符是以第二种方式出现，由两个bytes组成。而1110有三个1，表示这种字符一点种方式出现，由三个字节组成。<br />每个多重byte的UTF-8编码有一个共同的通性，即其中的第二个第三个byte, 一律以10两个bits开头。由于其中的最高位总设成1，可以很容易和那些在UTF-8中只用一个Byte的ASCII字元区分开来，方便侦错。<br />因为上述设计特点，UTF-8和Unicode之间，可以很容易做双向自由转换，而不会丢失任何资料<br /><br />解决办法：乱码问题在 NT操作系统我没怎么碰到过，但是在UNIX 或LINUX系统上出现的比较多<br />由于操作系统和使用环境不一样，产生乱码的方式也不一样，但是如果掌握了上面的Unicode 编码原理，自己仔细分析一下，很多问题便可迎刃而解。<br />下面看看几个常见的例子。<br />1． 如果一些网站服务器例如Tomcat 如果遇到中文乱码问题，可以修改conf目录下的server.xml <br />&lt;Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<br />enableLookups="false" redirectPort="8443" acceptCount="100" debug="0"connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/><br />URIENcoding 设成GBK或GB2312<br />2． 表单中或传递字符串：本来输入的汉字是正常的，但是提交后再显示出来是乱码，因为提交的一般是 ISO8859编码，所以显示的时候要转成GB2312编码：<br />String S=new String(rs.getString("news").getBytes("gb2312"),"ISO8859_1");<br />//rs.getString("news")为待转换的字符串<br />然后使用S字符串的值就可以了<br />3． 有的服务器端的语言环境如果设成简体中文的也可以解决此类问题<br />4． 插入数据库中的字符是乱码<br />看看数据库中支持的是何种编码方式，用类似2中的方式作一下转换即可。<br />5． 总之，用jsp开发，碰到乱码，你得分析是读的时候发生乱码，还是写的时候发生乱码，用2中的转换，基本就能解决问题，有些时候写的时候做一次转换，例如：<br />String S=new String(rs.getString("news").getBytes("gb2312"),"ISO8859_1");<br />//读的时候在转换回来<br />String S=new String(rs.getString("news").getBytes("ISO8859_1"),"GB2312");<br />或者把ISO8859-1和GB2312 的位置换一下，自己多试试，就能找到解决问题的办法。
          <br/>
          <span style="color:red;">
            <a href="http://terry-y.javaeye.com/blog/178913#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 17:26:22 +0800</pubDate>
        <link>http://terry-y.javaeye.com/blog/178913</link>
        <guid>http://terry-y.javaeye.com/blog/178913</guid>
      </item>
      <item>
        <title>JS在页面上显示当前日期和时间</title>
        <author>Terry_Y</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://terry-y.javaeye.com">Terry_Y</a>&nbsp;
          链接：<a href="http://terry-y.javaeye.com/blog/178907" style="color:red;">http://terry-y.javaeye.com/blog/178907</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1、<span style="color: blue">JS语句</span>：<br /><pre name="code" class="js">
&lt;script>
setInterval("jnkc.innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1200);
&lt;/script>
</pre><br /><br />2、<span style="color: blue">在页面上添加如下内容</span>：<br /><pre name="code" class="html">
制表时间:&lt;font id="jnkc">&lt;/font>
</pre><br /><br />3、<span style="color: blue">页面显示格式为</span>：制表时间:2007年1月15日 16:41:41 星期一
          <br/>
          <span style="color:red;">
            <a href="http://terry-y.javaeye.com/blog/178907#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 17:20:56 +0800</pubDate>
        <link>http://terry-y.javaeye.com/blog/178907</link>
        <guid>http://terry-y.javaeye.com/blog/178907</guid>
      </item>
      <item>
        <title>Frame框架，页面之间的跳转</title>
        <author>Terry_Y</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://terry-y.javaeye.com">Terry_Y</a>&nbsp;
          链接：<a href="http://terry-y.javaeye.com/blog/178904" style="color:red;">http://terry-y.javaeye.com/blog/178904</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: blue">使用Frame框架，页面之间的跳转方法：</span><br /><br />1、<span style="color: violet">self.top.frames['mainFrame'].location='a.htm'</span><br /><br />2、<span style="color: violet">top.frames[1].location='a.htm'</span><br /><br />3、<span style="color: violet">parent.leftFrame.location='a.htm'</span>
          <br/>
          <span style="color:red;">
            <a href="http://terry-y.javaeye.com/blog/178904#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 17:16:03 +0800</pubDate>
        <link>http://terry-y.javaeye.com/blog/178904</link>
        <guid>http://terry-y.javaeye.com/blog/178904</guid>
      </item>
      <item>
        <title>DecimalFormat处理科学计数法</title>
        <author>Terry_Y</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://terry-y.javaeye.com">Terry_Y</a>&nbsp;
          链接：<a href="http://terry-y.javaeye.com/blog/178875" style="color:red;">http://terry-y.javaeye.com/blog/178875</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">
import java.text.DecimalFormat;

public class Test {
	private double j=10000.2252 * 1000000000.25145* 1000000000.25145;

	public static void main(String args[]) {
		Test test = new Test();
		System.out.println(test.j);
		String hehe = test.SicenToComm(test.j);
		System.out.println(hehe);
	}

	// 解决科学技术法的问题，四舍五入保留两位小数
	public String SicenToComm(double value) {
		String retValue = null;
		DecimalFormat df = new DecimalFormat();
		df.setMinimumFractionDigits(2);
		df.setMaximumFractionDigits(2);
		retValue = df.format(value);
		System.out.println(retValue);
		retValue = retValue.replaceAll(",","");
		return retValue;
	}
}
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://terry-y.javaeye.com/blog/178875#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 15:59:36 +0800</pubDate>
        <link>http://terry-y.javaeye.com/blog/178875</link>
        <guid>http://terry-y.javaeye.com/blog/178875</guid>
      </item>
      <item>
        <title>BigDecimal处理四舍五入</title>
        <author>Terry_Y</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://terry-y.javaeye.com">Terry_Y</a>&nbsp;
          链接：<a href="http://terry-y.javaeye.com/blog/178866" style="color:red;">http://terry-y.javaeye.com/blog/178866</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">
import java.math.BigDecimal;

public class Test {

	public static void main(String args[]) {
		Test test = new Test();
		double hehe=test.toDouble2(10000.0*1000000000/(1220.0*2440.0*3.0));
		System.out.println(hehe);
	}
	
	public double toDouble2(double dou) {
		System.out.println(dou);
	    BigDecimal bd = new BigDecimal(dou);
	    System.out.println(bd);
	    BigDecimal bd1 = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
	    System.out.println(bd1);
	    dou = bd1.doubleValue();
	    return dou;
	  }

}
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://terry-y.javaeye.com/blog/178866#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 15:50:04 +0800</pubDate>
        <link>http://terry-y.javaeye.com/blog/178866</link>
        <guid>http://terry-y.javaeye.com/blog/178866</guid>
      </item>
      <item>
        <title>C3P0连接池配置详解</title>
        <author>Terry_Y</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://terry-y.javaeye.com">Terry_Y</a>&nbsp;
          链接：<a href="http://terry-y.javaeye.com/blog/178863" style="color:red;">http://terry-y.javaeye.com/blog/178863</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: blue">忘了从哪里拷贝的了</span>，<img src="/images/smiles/icon_redface.gif"/><br /><br /><pre name="code" class="xml">
&lt;c3p0-config> 
&lt;default-config> 
&lt;!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> 
&lt;property name="acquireIncrement">3&lt;/property> 

&lt;!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 --> 
&lt;property name="acquireRetryAttempts">30&lt;/property> 

&lt;!--两次连接中间隔时间，单位毫秒。Default: 1000 --> 
&lt;property name="acquireRetryDelay">1000&lt;/property> 

&lt;!--连接关闭时默认将所有未提交的操作回滚。Default: false --> 
&lt;property name="autoCommitOnClose">false&lt;/property> 

&lt;!--c3p0将建一张名为Test的空表，并使用其自带的查询语句进行测试。如果定义了这个参数那么 
属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何操作，它将只供c3p0测试 
使用。Default: null--> 
&lt;property name="automaticTestTable">Test&lt;/property> 

&lt;!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效 
保留，并在下次调用getConnection()的时候继续尝试获取连接。如果设为true，那么在尝试 
获取连接失败后该数据源将申明已断开并永久关闭。Default: false--> 
&lt;property name="breakAfterAcquireFailure">false&lt;/property> 

&lt;!--当连接池用完时客户端调用getConnection()后等待获取新连接的时间，超时后将抛出 
SQLException,如设为0则无限期等待。单位毫秒。Default: 0 --> 
&lt;property name="checkoutTimeout">100&lt;/property> 

&lt;!--通过实现ConnectionTester或QueryConnectionTester的类来测试连接。类名需制定全路径。 
Default: com.mchange.v2.c3p0.impl.DefaultConnectionTester--> 
&lt;property name="connectionTesterClassName">&lt;/property> 

&lt;!--指定c3p0 libraries的路径，如果（通常都是这样）在本地即可获得那么无需设置，默认null即可 
Default: null--> 
&lt;property name="factoryClassLocation">null&lt;/property> 

&lt;!--Strongly disrecommended. Setting this to true may lead to subtle and bizarre bugs. 
（文档原文）作者强烈建议不使用的一个属性--> 
&lt;property name="forceIgnoreUnresolvedTransactions">false&lt;/property> 

&lt;!--每60秒检查所有连接池中的空闲连接。Default: 0 --> 
&lt;property name="idleConnectionTestPeriod">60&lt;/property> 

&lt;!--初始化时获取三个连接，取值应在minPoolSize与maxPoolSize之间。Default: 3 --> 
&lt;property name="initialPoolSize">3&lt;/property> 

&lt;!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> 
&lt;property name="maxIdleTime">60&lt;/property> 

&lt;!--连接池中保留的最大连接数。Default: 15 --> 
&lt;property name="maxPoolSize">15&lt;/property> 

&lt;!--JDBC的标准参数，用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements 
属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。 
如果maxStatements与maxStatementsPerConnection均为0，则缓存被关闭。Default: 0--> 
&lt;property name="maxStatements">100&lt;/property> 

&lt;!--maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0 --> 
&lt;property name="maxStatementsPerConnection">&lt;/property> 

&lt;!--c3p0是异步操作的，缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能 
通过多线程实现多个操作同时被执行。Default: 3--> 
&lt;property name="numHelperThreads">3&lt;/property> 

&lt;!--当用户调用getConnection()时使root用户成为去获取连接的用户。主要用于连接池连接非c3p0 
的数据源时。Default: null--> 
&lt;property name="overrideDefaultUser">root&lt;/property> 

&lt;!--与overrideDefaultUser参数对应使用的一个参数。Default: null--> 
&lt;property name="overrideDefaultPassword">password&lt;/property> 

&lt;!--密码。Default: null--> 
&lt;property name="password">&lt;/property> 

&lt;!--定义所有连接测试都执行的测试语句。在使用连接测试的情况下这个一显著提高测试速度。注意： 
测试的表必须在初始数据源的时候就存在。Default: null--> 
&lt;property name="preferredTestQuery">select id from test where id=1&lt;/property> 

&lt;!--用户修改系统配置参数执行前最多等待300秒。Default: 300 --> 
&lt;property name="propertyCycle">300&lt;/property> 

&lt;!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的 
时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable 
等方法来提升连接测试的性能。Default: false --> 
&lt;property name="testConnectionOnCheckout">false&lt;/property> 

&lt;!--如果设为true那么在取得连接的同时将校验连接的有效性。Default: false --> 
&lt;property name="testConnectionOnCheckin">true&lt;/property> 

&lt;!--用户名。Default: null--> 
&lt;property name="user">root&lt;/property> 

&lt;!--早期的c3p0版本对JDBC接口采用动态反射代理。在早期版本用途广泛的情况下这个参数 
允许用户恢复到动态反射代理以解决不稳定的故障。最新的非反射代理更快并且已经开始 
广泛的被使用，所以这个参数未必有用。现在原先的动态反射与新的非反射代理同时受到 
支持，但今后可能的版本可能不支持动态反射代理。Default: false--> 
&lt;property name="usesTraditionalReflectiveProxies">false&lt;/property>

&lt;property name="automaticTestTable">con_test&lt;/property> 
&lt;property name="checkoutTimeout">30000&lt;/property> 
&lt;property name="idleConnectionTestPeriod">30&lt;/property> 
&lt;property name="initialPoolSize">10&lt;/property> 
&lt;property name="maxIdleTime">30&lt;/property> 
&lt;property name="maxPoolSize">25&lt;/property> 
&lt;property name="minPoolSize">10&lt;/property> 
&lt;property name="maxStatements">0&lt;/property> 
&lt;user-overrides user="swaldman"> 
&lt;/user-overrides> 
&lt;/default-config> 
&lt;named-config name="dumbTestConfig"> 
&lt;property name="maxStatements">200&lt;/property> 
&lt;user-overrides user="poop"> 
&lt;property name="maxStatements">300&lt;/property> 
&lt;/user-overrides> 
&lt;/named-config> 
&lt;/c3p0-config>

</pre>
          <br/>
          <span style="color:red;">
            <a href="http://terry-y.javaeye.com/blog/178863#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 15:35:22 +0800</pubDate>
        <link>http://terry-y.javaeye.com/blog/178863</link>
        <guid>http://terry-y.javaeye.com/blog/178863</guid>
      </item>
      <item>
        <title>JS操作HTML的select标签，内容之间的添加，删除</title>
        <author>Terry_Y</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://terry-y.javaeye.com">Terry_Y</a>&nbsp;
          链接：<a href="http://terry-y.javaeye.com/blog/178861" style="color:red;">http://terry-y.javaeye.com/blog/178861</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: blue">2个select之间的移动，分单个移动和全部移动，<br />具体情况如下：</span><br /><br />样式如下（<span style="color: red">类似而已，呵呵</span>）：<br /><span style="color: violet"><br />a　　　　　　　　　　　k<br />b　　　　　>>　　　　　l<br />c　　　　　　　　　　　m<br />d　　　　　>　　　　　<br />e<br />f　　　　　&lt;&lt;<br />g<br />h　　　　　&lt;<br />i</span><br /><br /><pre name="code" class="html">
&lt;script language="javascript">
function add(){
	var opt=selectfrom.options;
	len=opt.length;
	for(i=len-1;i>-1;i--){
		if(opt[i].selected){
			select2.appendChild(opt[i]);
		}
	}
}

function addAll(){
	var opt=selectfrom.options;
	len=opt.length;
	for(i=len-1;i>-1;i--){
		select2.appendChild(opt[i]);
	}
}

function del(){
	var opt=select2.options;
	len=opt.length;
	for(i=len-1;i>-1;i--){
		if(opt[i].selected){
			selectfrom.appendChild(opt[i]);
		}
	}
}

function delAll(){
	var opt=select2.options;
	len=opt.length;
	for(i=len-1;i>-1;i--){
		selectfrom.appendChild(opt[i]);
	}
}
&lt;/script>
&lt;body>
&lt;table width="27%" height="194" border="0" cellpadding="1" cellspacing="0">
  &lt;tr>
    &lt;td width="21%">&lt;select id="selectfrom" size="15" multiple="multiple" style="width:100px">
      &lt;option>a&lt;/option>
      &lt;option>b&lt;/option>
      &lt;option>c&lt;/option>
      &lt;option>d&lt;/option>
      &lt;option>e&lt;/option>
      &lt;option>f&lt;/option>
      &lt;option>g&lt;/option>
      &lt;option>h&lt;/option>
      &lt;option>i&lt;/option>
      &lt;option>j&lt;/option>
      &lt;option>k&lt;/option>
      &lt;option>j&lt;/option>
      &lt;option>m&lt;/option>
      &lt;option>n&lt;/option>
                &lt;/select>&lt;/td>
    &lt;td width="57%">&lt;p align="center">
      &lt;input name="addAll" type="button" id="addAll" value=" &gt;&gt; " style="width:40px" onclick="addAll()"/>
    &lt;/p>
    &lt;p align="center">
      &lt;input name="add" type="button" id="add" style="width:40px" value=" &gt; " onclick="add()"/>
    &lt;/p>
    &lt;p align="center">
      &lt;input name="del" type="button" id="del" value=" &lt; " style="width:40px" onclick="del()"/>
    &lt;/p>
    &lt;p align="center">
      &lt;input name="delAll" type="button" id="delAll" value=" &lt;&lt; " style="width:40px" onclick="delAll()"/>
&lt;/p>&lt;/td>
    &lt;td width="22%">&lt;select id="select2" size="15" multiple="multiple" style="width:100px">
        &lt;/select>&lt;/td>
  &lt;/tr>
&lt;/table>

</pre>
          <br/>
          <span style="color:red;">
            <a href="http://terry-y.javaeye.com/blog/178861#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 15:29:38 +0800</pubDate>
        <link>http://terry-y.javaeye.com/blog/178861</link>
        <guid>http://terry-y.javaeye.com/blog/178861</guid>
      </item>
      <item>
        <title>CSS 限制文本框输入空格无效</title>
        <author>Terry_Y</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://terry-y.javaeye.com">Terry_Y</a>&nbsp;
          链接：<a href="http://terry-y.javaeye.com/blog/178840" style="color:red;">http://terry-y.javaeye.com/blog/178840</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: blue">闲话少说，直接看代码：</span><br /><span style="color: red">PS:本来应该是帖HTML代码的，但是发表成HTML，this.value部分会出现thisthis.value，不知道怎么回事，只有帖成JAVA代码，才不会出现这个现象，请大家将就点吧。</span><br /><pre name="code" class="java">
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&lt;html>
  &lt;head>
    &lt;title>index.html&lt;/title>
  &lt;/head>
  &lt;style>
&lt;!--
.txtinputoutspace {
	background-color:blue;
	
	event:expression(
		onkeyup = function(){
			this.style.backgroundColor='red';
			this.value=this.value.replace(/(^\\s*|\\s*$)/g,'');
		}
	)
}
-->
&lt;/style>
  &lt;body>
    This is my Test HTML page. &lt;br>
    &lt;input class="txtinputoutspace" type="text" id="1">
  &lt;/body>
&lt;/html>
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://terry-y.javaeye.com/blog/178840#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 14:46:02 +0800</pubDate>
        <link>http://terry-y.javaeye.com/blog/178840</link>
        <guid>http://terry-y.javaeye.com/blog/178840</guid>
      </item>
      <item>
        <title>js的一些小秘诀(慢慢补充)</title>
        <author>Terry_Y</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://terry-y.javaeye.com">Terry_Y</a>&nbsp;
          链接：<a href="http://terry-y.javaeye.com/blog/143057" style="color:red;">http://terry-y.javaeye.com/blog/143057</a>&nbsp;
          发表时间: 2007年11月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1、js的替换，replace方法:<br />   <pre name="code" class="java">
   var str = "123123";
   //str1="423123"，只会替换第一个'1'
   var str1=str.replace('1','4');
   //str2="423423"，会替换字符串中所有的'1' 
   var str2=str.replace(/1/g,'4');
   </pre>
          <br/>
          <span style="color:red;">
            <a href="http://terry-y.javaeye.com/blog/143057#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 23 Nov 2007 14:38:26 +0800</pubDate>
        <link>http://terry-y.javaeye.com/blog/143057</link>
        <guid>http://terry-y.javaeye.com/blog/143057</guid>
      </item>
      <item>
        <title>JS操作XML</title>
        <author>Terry_Y</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://terry-y.javaeye.com">Terry_Y</a>&nbsp;
          链接：<a href="http://terry-y.javaeye.com/blog/142216" style="color:red;">http://terry-y.javaeye.com/blog/142216</a>&nbsp;
          发表时间: 2007年11月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          DOMDocument 属性和方法 <br /><br />  最近发现DOMDocument对象很重要,还有XMLHTTP也很重要<br /><br />注意大小写一定不能弄错.<br /><br />属性:<br /><br /> <br /><br /> 1Attributes     存储节点的属性列表(只读)<br /> 2childNodes     存储节点的子节点列表(只读)<br /> 3dataType     返回此节点的数据类型<br /> 4Definition     以DTD或XML模式给出的节点的定义(只读)<br /> 5Doctype     指定文档类型节点(只读)<br /> 6documentElement     返回文档的根元素(可读写)<br /> 7firstChild     返回当前节点的第一个子节点(只读)<br /> 8Implementation     返回XMLDOMImplementation对象<br /> 9lastChild     返回当前节点最后一个子节点(只读)<br />10nextSibling     返回当前节点的下一个兄弟节点(只读)<br />11nodeName     返回节点的名字(只读)<br />12nodeType     返回节点的类型(只读)<br />13nodeTypedValue     存储节点值(可读写)<br />14nodeValue     返回节点的文本(可读写)<br />15ownerDocument     返回包含此节点的根文档(只读)<br />16parentNode     返回父节点(只读)<br />17Parsed     返回此节点及其子节点是否已经被解析(只读)<br />18Prefix     返回名称空间前缀(只读)<br />19preserveWhiteSpace     指定是否保留空白(可读写)<br />20previousSibling     返回此节点的前一个兄弟节点(只读)<br />21Text     返回此节点及其后代的文本内容(可读写)<br />22url     返回最近载入的XML文档的URL(只读)<br />23Xml     返回节点及其后代的XML表示(只读)<br /><br />方法:<br /><br /> 1appendChild     为当前节点添加一个新的子节点,放在最后的子节点后<br /> 2cloneNode     返回当前节点的拷贝<br /> 3createAttribute     创建新的属性<br /> 4createCDATASection     创建包括给定数据的CDATA段<br /> 5createComment     创建一个注释节点<br /> 6createDocumentFragment     创建DocumentFragment对象<br /> 7createElement     创建一个元素节点<br /> 8createEntityReference     创建EntityReference对象<br /> 9createNode     创建给定类型,名字和命名空间的节点<br />10createPorcessingInstruction     创建操作指令节点<br />11createTextNode     创建包括给定数据的文本节点<br />12getElementsByTagName     返回指定名字的元素集合<br />13hasChildNodes     返回当前节点是否有子节点<br />14insertBefore     在指定节点前插入子节点<br />15Load     导入指定位置的XML文档<br />16loadXML     导入指定字符串的XML文档<br />17removeChild     从子结点列表中删除指定的子节点<br />18replaceChild     从子节点列表中替换指定的子节点<br />19Save     把XML文件存到指定节点<br />20selectNodes     对节点进行指定的匹配,并返回匹配节点列表<br />21selectSingleNode     对节点进行指定的匹配,并返回第一个匹配节点<br />22transformNode     使用指定的样式表对节点及其后代进行转换<br />23transformNodeToObject     使用指定的样式表将节点及其后代转换为对象<br /><br /><br />*************************************************************************************************************************<br /><br /><br />DOM(文档对象模型)<br />DOM(文档对象模型)概念的推出,这个API使HTML如虎添翼,但是有些学DHTML的朋友还是有些困挠,只是因为目前的手册的书写不太科学,是按字母<br /><br />来分的,不便查阅.其实DOM中最关键是要掌握节点与节点之间的关系(between node andnode),想学习DHTML中的DOM千万不要从头到尾地看遍所<br /><br />有的属性和方法,你有三国时张松的"过目不忘"的本领吗?没有吧,那就听我分析一下：<br /><br />其实DOM教给我们的就是一个层次结构，你可以理解为一个树形结构，就像我们的目录一样，一个根目录，根目录下有子目录，子目录下还有子<br /><br />目录……<br /><br />根节点：<br /><br /><br />DOM把层次中的每一个对象都称之为节点（NODE），以HTML超文本标记语言为例：整个文档的一个根就是&lt;html>,在DOM中可以使用<br /><br />document.documentElement来访问它，它就是整个节点树的根节点（ROOT）<br /><br />子节点：<br /><br />一般意义上的节点，根节点以下最大子节点就是主文档区&lt;body>了，要访问到body标签，在脚本中应该写：<br />document.body<br />body区以内所有的文本及HTML标签都是文档的节点，分别称为文本节点、元素节点（或者叫标签节点），大家知道HTML说到底只是文本而矣，<br /><br />不论怎么样的网页必然由这两个节点组成，也只能由这两个节点组成<br /><br />节点之间的关系：<br /><br />节点之间的关系也是DOM中最重要的一个关节，如何正确地引用到节点对象，一定要清楚节点树各个节点的相互描述方式，在DHTML里，<br /><br />Javascript脚本就用了各个节点对象的一整套方法和属性去描述另外的节点对象。<br /><br /><br />节点的绝对引用：<br />返回文档的根节点<br />document.documentElement<br />返回当前文档中被击活的标签节点<br />document.activeElement<br />返回鼠标移出的源节点<br />event.fromElement<br />返回鼠标移入的源节点<br />event.toElement<br />返回激活事件的源节点<br />event.srcElement<br /><br />节点的相对引用：(设当前对节点为node)<br />返回父节点<br />node.parentNode<br />node.parentElement<br />返回子节点集合（包含文本节点及标签节点）<br />node.childNodes<br />返回子标签节点集合<br />node.children<br />返回子文本节点集合<br />node.textNodes<br />返回第一个子节点<br />node.firstChild<br />返回最后一个子节点<br />node.lastChild<br />返回同属下一个节点<br />node.nextSibling<br />返回同属上一个节点<br />node.previousSibling<br /><br />节点的各种操作：(设当前的节点为node)<br /><br />新增标签节点句柄：<br />document.createElement(sNode) //参数为要新添的节点标签名，例：newnode=document.createElement("div");<br /><br />1、添加节点：<br />追加子节点：<br />node.appendChild(oNode) //oNode为生新增的节点句柄,例：node.appendChild(newnode)<br />应用标签节点<br />node.applyElment(oNode,sWhere)//oNode为生新增的节点句柄,sWhere有两个值：outside / inside，加在当前节点外面还是里面<br />插入节点<br />inode.insertBefore()<br />node.insertAdjacentElement()<br />node.replaceAdjacentText()<br /><br />2、修改节点：<br /><br />删除节点<br />node.remove()<br />node.removeChild()<br />node.removeNode()<br /><br />替换节点<br />node.replaceChild()<br />node.replaceNode()<br />node.swapNode()<br /><br /><br />2、复制节点：<br />返回复制复制节点引用<br />node.cloneNode(bAll)//bAll为布尔值，true / false 是否克隆该节点所有子节点<br /><br />3、节点信息<br />是否包含某节点<br />node.contains()<br />是否有子节点<br />node.hasChildNodes()<br /><br />************************************************************************************************************************<br /><br />下面为javascript操作xml<br />&lt;script language="JavaScript"><br />&lt;!--<br />var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM") <br /><br /><br />//加载文档<br />//doc.load("b.xml");<br /><br />//创建文件头<br />var p = doc.createProcessingInstruction("xml","version='1.0'  encoding='gb2312'");<br /><br />    //添加文件头<br />    doc.appendChild(p);<br /><br />//用于直接加载时获得根接点<br />//var root = doc.documentElement;<br /><br />//两种方式创建根接点<br />//    var root = doc.createElement("students");<br />    var root = doc.createNode(1,"students","");<br /><br />    //创建子接点<br />    var n = doc.createNode(1,"ttyp","");<br /><br />        //指定子接点文本<br />        //n.text = " this is a test";<br />    <br />    //创建孙接点<br />    var o = doc.createElement("sex");<br />        o.text = "男";    //指定其文本<br /><br />    //创建属性<br />    var r = doc.createAttribute("id");<br />        r.value="test";<br /><br />        //添加属性<br />        n.setAttributeNode(r);<br /><br />    //创建第二个属性    <br />    var r1 = doc.createAttribute("class");<br />        r1.value="tt";<br />        <br />        //添加属性<br />        n.setAttributeNode(r1);<br /><br />        //删除第二个属性<br />        n.removeAttribute("class");<br /><br />        //添加孙接点<br />        n.appendChild(o);<br /><br />        //添加文本接点<br />        n.appendChild(doc.createTextNode("this is a text node."));<br /><br />        //添加注释<br />        n.appendChild(doc.createComment("this is a comment\n"));<br />    <br />        //添加子接点<br />        root.appendChild(n);<br />    <br />    //复制接点<br />    var m = n.cloneNode(true);<br /><br />        root.appendChild(m);<br />        <br />        //删除接点<br />        root.removeChild(root.childNodes(0));<br /><br />    //创建数据段<br />    var c = doc.createCDATASection("this is a cdata");<br />        c.text = "hi,cdata";<br />        //添加数据段<br />        root.appendChild(c);<br />    <br />    //添加根接点<br />    doc.appendChild(root);<br /><br />    //查找接点<br />    var a = doc.getElementsByTagName("ttyp");<br />    //var a = doc.selectNodes("//ttyp");<br /><br />    //显示改接点的属性<br />    for(var i= 0;i&lt;a.length;i++)<br />      {<br />          alert(a[i].xml);<br />          for(var j=0;j&lt;a[i].attributes.length;j++)<br />          {<br />              alert(a[i].attributes[j].name);<br />          }<br />      }<br /><br />    //修改节点,利用XPATH定位节点<br />    var b = doc.selectSingleNode("//ttyp/sex");<br />    b.text = "女";<br /><br />    //alert(doc.xml);<br /><br />    //XML保存（需要在服务端，客户端用FSO）<br />    //doc.save();<br />   //如果是load(xmlFile);<br />   //那么这里需要doc.save(xmlFile);<br />    <br />    //查看根接点XML<br />    if(n)<br />      {<br />          alert(n.ownerDocument.xml);<br />      }<br /><br />//--><br />&lt;/script> <br /><br /><br /><br /><br />Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1451658<br />Trackback: http://blog.csdn.net/boby16/archive/2006/12/21/1451658.aspx
          <br/>
          <span style="color:red;">
            <a href="http://terry-y.javaeye.com/blog/142216#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 Nov 2007 09:38:54 +0800</pubDate>
        <link>http://terry-y.javaeye.com/blog/142216</link>
        <guid>http://terry-y.javaeye.com/blog/142216</guid>
      </item>
  </channel>
</rss>