﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-应用，一定要应用</title><link>http://www.blogjava.net/flyffa/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 12 May 2026 12:55:58 GMT</lastBuildDate><pubDate>Tue, 12 May 2026 12:55:58 GMT</pubDate><ttl>60</ttl><item><title>【工具】powerdesigner自定义DDL生成</title><link>http://www.blogjava.net/flyffa/archive/2008/06/21/209665.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Sat, 21 Jun 2008 03:22:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2008/06/21/209665.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/209665.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2008/06/21/209665.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/209665.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/209665.html</trackback:ping><description><![CDATA[Sybase Powerdesigner具有强大的模板和脚本功能，可以自定义和扩展生成数据库时的DDL。<br />
在主界面菜单中选择Tools--&gt;Resources--&gt;DBMS.<br />
再弹出的菜单中选择需要扩展的数据库类型。<br />
点击左上角Property图标，弹出模板设置窗口。<br />
在窗口中设置相应的Sql生成模板。
<img src ="http://www.blogjava.net/flyffa/aggbug/209665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2008-06-21 11:22 <a href="http://www.blogjava.net/flyffa/archive/2008/06/21/209665.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【web】面向对象的javascript</title><link>http://www.blogjava.net/flyffa/archive/2006/12/28/90493.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Thu, 28 Dec 2006 06:39:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/12/28/90493.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/90493.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/12/28/90493.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/90493.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/90493.html</trackback:ping><description><![CDATA[
		<h2 style="MARGIN: 13pt 0cm 13pt 1cm; TEXT-INDENT: -1cm; mso-list: l1 level2 lfo1; tab-stops: list 1.0cm">
				<span lang="EN-US" style="mso-bidi-font-family: Arial; mso-fareast-font-family: Arial">
						<span style="mso-list: Ignore">
								<font face="Arial">1.1.</font>
								<span style="FONT: 7pt 'Times New Roman'">
								</span>
						</span>
				</span>
				<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">继承</span>
		</h2>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">今天遇到了需要在</span>
				<span lang="EN-US">javascript</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中继承的问题：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">查了一些帖子，自己又写了几个例子测试了一下，总结如下：</span>
		</p>
		<h3 style="MARGIN: 13pt 0cm 13pt 35.45pt; TEXT-INDENT: -35.45pt; mso-list: l0 level3 lfo2; tab-stops: list 35.45pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">
								<font size="5">1.1.1.</font>
								<span style="FONT: 7pt 'Times New Roman'">    </span>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
						<font size="5">三种方法</font>
				</span>
		</h3>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">js</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中实现继承有三种方法：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">假设父类为</span>
				<span lang="EN-US">Parent,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子类为</span>
				<span lang="EN-US">Child,</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第一种，子类强制调用父类构造</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">function Child(){</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">       </span>Parent.call(this);</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">}</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第二种，子类间接调用父类构造</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">function Child(){</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">       </span>this.base = Parent;</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">       </span>this.base();</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">}</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第三种：设置原型</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">function Child(){}</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">Child.prototype = new Parent(); </span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这种方式虽然不够直观，却应该是最有效率的方式。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<h3 style="MARGIN: 13pt 0cm 13pt 35.45pt; TEXT-INDENT: -35.45pt; mso-list: l0 level3 lfo2; tab-stops: list 35.45pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">
								<font size="5">1.1.2.</font>
								<span style="FONT: 7pt 'Times New Roman'">    </span>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
						<font size="5">总结：</font>
				</span>
		</h3>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其实</span>
				<span lang="EN-US">js</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本身是没有什么继承之类的概念的，只是为了使用利用</span>
				<span lang="EN-US">js</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的一些特性而加的。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">js</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的原型方式</span>
				<span lang="EN-US">prototype,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使得许多的工作变得容易。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个</span>
				<span lang="EN-US">function</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象和根据</span>
				<span lang="EN-US">function</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">构造出来的对象是不同的。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个</span>
				<span lang="EN-US">function</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象的原型其实就是一个根据</span>
				<span lang="EN-US">function</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象构建出来的对象。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">记住：这个对象可与</span>
				<span lang="EN-US">new</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">出来的对象不一样。在</span>
				<span lang="EN-US">function</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">内部的代码并不会被执行，如：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">this.funcName = function()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样的代码。而</span>
				<span lang="EN-US">new</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">出来的对象则不然，他具有执行后的对象特性。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">function</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的局部变量相当于</span>
				<span lang="EN-US">class</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里的私有变量，无法在子类中获取和操作。但</span>
				<span lang="EN-US">this.</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的部分是可以的。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<h3 style="MARGIN: 13pt 0cm 13pt 35.45pt; TEXT-INDENT: -35.45pt; mso-list: l0 level3 lfo2; tab-stops: list 35.45pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">
								<font size="5">1.1.3.</font>
								<span style="FONT: 7pt 'Times New Roman'">    </span>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
						<font size="5">猜测和假想</font>
				</span>
		</h3>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（这是我推断的，没有任何的根据，当然也是可以测试的）：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当一个</span>
				<span lang="EN-US">Child</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">被</span>
				<span lang="EN-US">new</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时，第一二种方法中，</span>
				<span lang="EN-US">js</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">执行器</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、先分配一个空间，（相当于</span>
				<span lang="EN-US"> this = new Object()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span>
				<span lang="EN-US">(msdn</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中有具体的描述</span>
				<span lang="EN-US">)</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、拷贝原型：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">3</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、执行构造：也就是</span>
				<span lang="EN-US">Child.call(this)</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（相当于</span>
				<span lang="EN-US">child(),</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">此时</span>
				<span lang="EN-US">this</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象有值）（</span>
				<span lang="EN-US">msdn</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中有描述）</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后执行</span>
				<span lang="EN-US">Parent();</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个时候</span>
				<span lang="EN-US">parent</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的构造函数执行以下几步：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、将</span>
				<span lang="EN-US">parent</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US">prototype</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">拷贝到</span>
				<span lang="EN-US">object</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">区域，这时覆盖了前面的区域</span>
				<span lang="EN-US"> (</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好像测试证明</span>
				<span lang="EN-US">parent</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的原型并不会被拷贝，此步不会被执行</span>
				<span lang="EN-US">)</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、对这个区域执行初始化，也就是正常的</span>
				<span lang="EN-US">function</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用的过程。（相当于</span>
				<span lang="EN-US">Parent(),this</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">变量有值）</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而普通的</span>
				<span lang="EN-US">function</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用应该是这个样子：由于没有</span>
				<span lang="EN-US">new </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">操作符，所以没有为其分配当前的</span>
				<span lang="EN-US">this(</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也没有空间</span>
				<span lang="EN-US">),</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">this</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">被放到了</span>
				<span lang="EN-US">window</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象上。但是</span>
				<span lang="EN-US">new</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候显然不是这样。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">obj.func()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的调用和</span>
				<span lang="EN-US">func()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用是完全不一样的，</span>
				<span lang="EN-US">obj.func</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中</span>
				<span lang="EN-US">this</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象是</span>
				<span lang="EN-US">obj</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象，而</span>
				<span lang="EN-US">func()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用</span>
				<span lang="EN-US">this</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象是</span>
				<span lang="EN-US">window</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象，这个应该和</span>
				<span lang="EN-US">jvm</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中静态方法和类实例方法调用的区别的原理一样。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<h2 style="MARGIN: 13pt 0cm 13pt 1cm; TEXT-INDENT: -1cm; mso-list: l1 level2 lfo1; tab-stops: list 1.0cm">
				<span lang="EN-US" style="mso-bidi-font-family: Arial; mso-fareast-font-family: Arial">
						<span style="mso-list: Ignore">
								<font face="Arial">1.2.</font>
								<span style="FONT: 7pt 'Times New Roman'">
								</span>
						</span>
				</span>
				<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">方法重载</span>
		</h2>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在实现了对象继承之后，我开始面临到第二个问题，重载。</span>
		</p>
		<h3 style="MARGIN: 13pt 0cm 13pt 35.45pt; TEXT-INDENT: -35.45pt; mso-list: l0 level3 lfo2; tab-stops: list 35.45pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">
								<font size="5">1.1.4.</font>
								<span style="FONT: 7pt 'Times New Roman'">    </span>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
						<font size="5">两种方法</font>
				</span>
		</h3>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">js</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">怎样实现重载。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、简单的重载：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在这种重载中，子类的方法无需调用父类的方法，直接在执行父类构造之后，再执行子类的重载方法，如</span>
				<span lang="EN-US">Parent</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US">toString()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法，这时只需执行</span>
				<span lang="EN-US">this.toString = function(){....}</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就可以了。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、调用父类方法的重载：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由于</span>
				<span lang="EN-US">js</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实际运行时并没有父类、子类两个实例空间，所以</span>
				<span lang="EN-US">super.toString()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">肯定是不行的，而在子类的</span>
				<span lang="EN-US">toString</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法中进行</span>
				<span lang="EN-US">this.toString()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用只能引起内存溢出，其实这种也可以想办法做到。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">this.super_toString = this.toString();</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">this.toString=function(){</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">       </span>..............</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">       </span>this.super_toString();</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">       </span>..............</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">}</span>
		</p>
<img src ="http://www.blogjava.net/flyffa/aggbug/90493.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-12-28 14:39 <a href="http://www.blogjava.net/flyffa/archive/2006/12/28/90493.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>得到准确的在线人数统计－减少搜索引擎的干扰</title><link>http://www.blogjava.net/flyffa/archive/2006/12/14/87722.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Thu, 14 Dec 2006 07:10:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/12/14/87722.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/87722.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/12/14/87722.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/87722.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/87722.html</trackback:ping><description><![CDATA[
		<h2 style="MARGIN: 13pt 0cm">
				<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">基本方法：</span>
		</h2>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">基本的方法，网上到处都是，在</span>
				<span lang="EN-US">java</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中就是在</span>
				<span lang="EN-US">web.xml</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注册一个</span>
				<span lang="EN-US">Listener</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，如下：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">&lt;listener&gt;<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>&lt;listener-class&gt;xp.web.SessionCounter&lt;/listener-class&gt;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">&lt;/listener&gt;</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">SessionCounter.java</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实现</span>
				<span lang="EN-US">javax.servlet.http.HttpSessionListener</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口，分别在</span>
				<span lang="EN-US">sessionCreated</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法和</span>
				<span lang="EN-US">sessionDestroyed</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法中处理</span>
				<span lang="EN-US">session</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数目。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样的方法有一定的问题：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、对于真正从网页访问的和搜索引擎的</span>
				<span lang="EN-US">spider</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无法区分。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、当</span>
				<span lang="EN-US">Tomcat</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">重启时，加载了上次持久化的</span>
				<span lang="EN-US">session</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时，无法准确计算在线数。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第二个问题我们可以不予考虑，这是</span>
				<span lang="EN-US">tomcat</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">容器实现不标准的问题，我们要解决的是的第一个问题，如何知道你的访问的是真实的。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<strong>
						<span class="2Char">
								<span style="FONT-SIZE: 16pt; FONT-FAMILY: 黑体; mso-ascii-font-family: Arial; mso-bidi-font-family: 'Times New Roman'">用</span>
						</span>
						<span class="2Char">
								<span lang="EN-US" style="FONT-SIZE: 16pt; mso-bidi-font-family: 'Times New Roman'">
										<font face="Arial">js</font>
								</span>
						</span>
						<span class="2Char">
								<span style="FONT-SIZE: 16pt; FONT-FAMILY: 黑体; mso-ascii-font-family: Arial; mso-bidi-font-family: 'Times New Roman'">绕过搜索引擎</span>
						</span>
				</strong>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">做过</span>
				<span lang="EN-US">pv</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">统计的都知道，可以用</span>
				<span lang="EN-US">script</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的方式得到你真实的</span>
				<span lang="EN-US">pageView</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数目，我们现在要做的就是这样的一件事情，我们在所有的页面都加入一段话：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">&lt;script type="text/javascript"&gt;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">document.write ("&lt;iframe src='/sessionCountServlet' width=0 height=0 frameborder=no border=0 MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING=no&gt;&lt;/iframe&gt;");<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">&lt;/script&gt;</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后我们写上一个</span>
				<span lang="EN-US">servlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来记录这些真正的访问者。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">import java.io.*;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">import javax.servlet.*;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">import javax.servlet.http.*;</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">public class SessionCounterServlet extends HttpServlet {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>public SessionCounterServlet() {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">        </span>super();<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>public void doGet(HttpServletRequest request,<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">                      </span>HttpServletResponse response) throws IOException,<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">            </span>ServletException {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">        </span>process(request, response);<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>public void doPost(HttpServletRequest request,<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">                       </span>HttpServletResponse response) throws IOException,<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">            </span>ServletException {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">        </span>process(request, response);<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>public void process(HttpServletRequest request,<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">                        </span>HttpServletResponse response) throws IOException,<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">            </span>ServletException {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">        </span>SessionCounter.put(request.getSession().getId());<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">}</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们可以看到这个</span>
				<span lang="EN-US">servlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只是做了一件事情，在</span>
				<span lang="EN-US">process</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里面做了</span>
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">SessionCounter.put(request.getSession().getId());</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个动作。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们来看看我们的</span>
				<span lang="EN-US">SessionCounter</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">做了些什么：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">import javax.servlet.http.*;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">import java.util.Hashtable;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">public class SessionCounter implements HttpSessionListener {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>public SessionCounter() {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>public static Hashtable m_real = new Hashtable();<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>private static long count = 0;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>public void sessionCreated(HttpSessionEvent e) {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">        </span>count++;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>public void sessionDestroyed(HttpSessionEvent e) {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">        </span>if (count &gt; 0) {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">            </span>count--;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">        </span>}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">        </span>m_real.remove(e.getSession().getId());<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>public static long getSessionCount() {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">        </span>return count;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>public static void put(String sessionId){<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">        </span>m_real.put(sessionId,"1");<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>public static int getRealCount(){<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">        </span>return m_real.size();<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
						<span style="mso-spacerun: yes">    </span>}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">}</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们记录了一个静态的</span>
				<span lang="EN-US">hash</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表来记录激活状态的</span>
				<span lang="EN-US">sessionid</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，并在</span>
				<span lang="EN-US">session</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">销毁的时候将这个</span>
				<span lang="EN-US">sessionid</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">置为空。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">怎么把</span>
				<span lang="EN-US">servlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配置到</span>
				<span lang="EN-US">web</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用中我就不罗唆了。</span>
		</p>
<img src ="http://www.blogjava.net/flyffa/aggbug/87722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-12-14 15:10 <a href="http://www.blogjava.net/flyffa/archive/2006/12/14/87722.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【服务配置】apache+tomcat配置负载均衡的网站</title><link>http://www.blogjava.net/flyffa/archive/2006/11/06/79356.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Mon, 06 Nov 2006 03:49:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/11/06/79356.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/79356.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/11/06/79356.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/79356.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/79356.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在网上找了一些文档，还是觉得不是很清楚，自己走了些弯路，才把这个配置好，还是写下来吧，以备后查。																		1.   								目标								使用				apache				和				tomcat				配置一个可以应用的				web				网站，要达到以下要求：									...&nbsp;&nbsp;<a href='http://www.blogjava.net/flyffa/archive/2006/11/06/79356.html'>阅读全文</a><img src ="http://www.blogjava.net/flyffa/aggbug/79356.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-11-06 11:49 <a href="http://www.blogjava.net/flyffa/archive/2006/11/06/79356.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【CSS】样式表中的类定义</title><link>http://www.blogjava.net/flyffa/archive/2006/11/02/78653.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Thu, 02 Nov 2006 05:14:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/11/02/78653.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/78653.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/11/02/78653.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/78653.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/78653.html</trackback:ping><description><![CDATA[
		<p align="left">   最近做网页的时候无意中发现一个有意思的问题，只在Ie中测试过，不知道在firefox中有什么现象。<br /><font style="BACKGROUND-COLOR: #d3d3d3" size="2"><font style="BACKGROUND-COLOR: #ffffff"><font size="3">先定义样式表：</font><br /><font style="BACKGROUND-COLOR: #d3d3d3">&lt;STYLE&gt;<br />DIV .head1<br />{<br /> background-color: yellow;<br />}</font></font></font></p>
		<p>
				<font style="BACKGROUND-COLOR: #d3d3d3" size="2">DIV.head2<br />{<br /> background-color: red;<br />}</font>
		</p>
		<p>
				<font style="BACKGROUND-COLOR: #d3d3d3" size="2">&lt;/STYLE&gt; 
<style><![CDATA[
DIV .head1
{
 background-color: yellow;
}

DIV.head2
{
 background-color: red;
}

>]]&gt;</style><br /><br /><br /><font style="BACKGROUND-COLOR: #ffffff">展现样式：</font></font>
		</p>
		<p>
				<font style="BACKGROUND-COLOR: #d3d3d3">&lt;div class="head1"&gt;div1&lt;/div&gt;<br />&lt;span class="head1"&gt;span1&lt;/span&gt;<br />&lt;div class="head2"&gt;div1&lt;/div&gt;<br />&lt;span class="head2"&gt;span1&lt;/span&gt;<br /></font>
		</p>
		<div class="head1">div1</div>
		<span class="head1">span1</span>
		<div class="head2">div1</div>
		<span class="head2">span1</span>
		<br />
		<br />测试head1 与head2的区别 <br /><p><font style="BACKGROUND-COLOR: #d3d3d3" size="2">&lt;div&gt;<br />&lt;div class="head1"&gt;div2&lt;/div&gt;<br />&lt;span class="head1"&gt;span2&lt;/span&gt;<br />&lt;/div&gt;</font></p><div><div class="head1"><font style="BACKGROUND-COLOR: #ffff00">div2</font></div><span class="head1"><font style="BACKGROUND-COLOR: #ffff00">span2</font></span></div><p><font style="BACKGROUND-COLOR: #d3d3d3" size="2">&lt;p&gt;<br />&lt;div class="head1"&gt;div2&lt;/div&gt;<br />&lt;span class="head1"&gt;span2&lt;/span&gt;<br />&lt;/p&gt;</font><br /></p><p></p><div class="head1">div2</div><span class="head1">span2</span><p></p><br /><br /><br />总结：<br /> head1样式和head2样式的主要区别就是中间多了一个空格。 <font color="#ff0000">感觉像是head1样式是指在div内部适用的样式；</font> head2样式是应用于div元素上的样式；<br /><br />另：由于博客上的编辑器自动在style之间增加了cdata角标，导致我的效果无法显示，head1的效果我是通过设置背景色完成的，有兴趣的朋友可以把那几段代码拷出来存成一个文件，就可以看到效果。<br /><br />请高手指教。 
<p></p><img src ="http://www.blogjava.net/flyffa/aggbug/78653.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-11-02 13:14 <a href="http://www.blogjava.net/flyffa/archive/2006/11/02/78653.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Proxool连接池的简单配置</title><link>http://www.blogjava.net/flyffa/archive/2006/11/02/78639.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Thu, 02 Nov 2006 04:00:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/11/02/78639.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/78639.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/11/02/78639.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/78639.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/78639.html</trackback:ping><description><![CDATA[      自己以前做程序都是自己写连接池，那个时候项目大，环境各异，为了便于实施，总是由自己进行连接池的管理，等到自己想做一些小东西的时候，才发现这个连接池成了一个专用的东西，和系统做了太多的绑定，只能找连接池用，用过resin自带的连接池，再用tomcat连接池的时候就很不爽，没有监控的功能，在网上选来选去，最后选择了Proxool。<br /><br />      Proxool连接池是sourceforge下的一个开源项目,这个项目提供一个健壮、易用的连接池，最为关键的是这个连接池提供监控的功能，方便易用，便于发现连接泄漏的情况。开源项目地址是：<a href="http://proxool.sourceforge.net/"><br />http://proxool.sourceforge.net/</a><br /><br />配置连接池比较的简单：<br />1、将下载的包解开，从包中的lib目录下将proxool-xxx.jar(xxx随着不同的版本号变化)加入你的工程中。<br />2、配置数据源：<br />      在web-info下建立文件：proxool.xml，文件内容如下：<br /><font style="BACKGROUND-COLOR: #d3d3d3"><font size="2">&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;something-else-entirely&gt;<br />  &lt;proxool&gt;<br />    &lt;alias&gt;Develop&lt;/alias&gt;<br />    &lt;driver-url&gt;jdbc:mysql://localhost/kuanxue&lt;/driver-url&gt;<br />    &lt;driver-class&gt;com.mysql.jdbc.Driver&lt;/driver-class&gt;<br />    &lt;driver-properties&gt;<br />      &lt;property name="user" value="root"/&gt;<br />      &lt;property name="password" value=""/&gt;<br />      &lt;property name="useUnicode" value="true"/&gt;<br />      &lt;property name="characterEncoding" value="GBK"/&gt;<br />    &lt;/driver-properties&gt;<br />    &lt;maximum-connection-count&gt;500&lt;/maximum-connection-count&gt;<br />    &lt;house-keeping-test-sql&gt;select CURRENT_DATE&lt;/house-keeping-test-sql&gt;<br />  &lt;/proxool&gt;<br /> &lt;/something-else-entirely&gt;<br /></font><br /><font style="BACKGROUND-COLOR: #ffffff">3、配置web.xml<br />在web.xml中增加：<br /><font style="BACKGROUND-COLOR: #d3d3d3" size="2">&lt;!-- 配置初始化servlet,在web容器加载的时候自动加载配置文件，如果不是web程序，这个部分就需要通过开发接口来初始化了 --&gt;<br />&lt;servlet&gt;<br />     &lt;servlet-name&gt;proxoolInitialServlet&lt;/servlet-name&gt;<br /> &lt;servlet-class&gt;org.logicalcobwebs.proxool.configuration.ServletConfigurator&lt;/servlet-class&gt;<br />     &lt;init-param&gt;<br />       &lt;param-name&gt;xmlFile&lt;/param-name&gt;<br />       &lt;param-value&gt;WEB-INF/proxool.xml&lt;/param-value&gt;<br />     &lt;/init-param&gt;<br />     &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br />   &lt;/servlet&gt;<br />&lt;!--配置监控servlet,其实如果不想监控的话，可以不配--&gt;<br />   &lt;servlet&gt;<br />    &lt;servlet-name&gt;dbpoolAdmin&lt;/servlet-name&gt;<br />    &lt;servlet-class&gt;org.logicalcobwebs.proxool.admin.servlet.AdminServlet&lt;/servlet-class&gt;<br />  &lt;/servlet&gt;<br />   &lt;servlet-mapping&gt;<br />    &lt;servlet-name&gt;dbpoolAdmin&lt;/servlet-name&gt;<br />    &lt;url-pattern&gt;/dbpool&lt;/url-pattern&gt;<br />  &lt;/servlet-mapping&gt;<br /></font><br /></font></font><font style="BACKGROUND-COLOR: #ffffff">4、在程序中调用<br />一般我将获取connection的行为封装为一个工厂模式，便于多种情况的切换，以下是其中proxool数据源的getConnection方法的实现：<br /><br /></font><font style="BACKGROUND-COLOR: #d3d3d3" size="2">public Connection getConnection() {<br />        try{<br />            Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");<br />            return DriverManager.getConnection("proxool.Develop");<br />        }catch(Exception ex){<br />            ex.printStackTrace();<br />        }<br />        return null;<br />    }<br /><br /><font style="BACKGROUND-COLOR: #ffffff">5、应用开发：<br />      在实际的应用中，我们可能需要更多的功能，比如监控功能不够强大，权限不好控制，我们希望能够编写出更强大的功能，比如杀死一些大的查询语句等，记录各种查询语句占用的时间，这就需要对开发接口进行进一步的研究了。<br /></font></font><img src ="http://www.blogjava.net/flyffa/aggbug/78639.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-11-02 12:00 <a href="http://www.blogjava.net/flyffa/archive/2006/11/02/78639.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【CSS】DIV内嵌浮动DIV时的问题</title><link>http://www.blogjava.net/flyffa/archive/2006/11/01/78449.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Wed, 01 Nov 2006 04:43:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/11/01/78449.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/78449.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/11/01/78449.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/78449.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/78449.html</trackback:ping><description><![CDATA[最近写网页，用DIV加CSS实现，发现DIV嵌套时，当内嵌浮动div的时候不能正常扩展<br /><br />&lt;div style="border-style:solid"&gt;<br />   &lt;div style = "float:right;border-style:solid"&gt;dsfsdfsd&lt;div&gt;<br />&lt;/div&gt;<br /><br />发现内层div会越界，在网上找了一下：<br />&lt;div style="border-style:solid"&gt;<br />   &lt;div style = "float:right;border-style:solid"&gt;dsfsdfsd&lt;div&gt;<br />   <font style="BACKGROUND-COLOR: #808080">&lt;div style="font: 0px/0px sans-serif;clear: both;display: block"&gt;<br /></font>&lt;/div&gt;<br />加这么一句就好了，顺便查到了一个在firefox中解决的方法：<br />&lt;div style="border-style:solid"&gt;<br />   &lt;div style = "float:right;border-style:solid"&gt;dsfsdfsd&lt;div&gt;<br />   <font style="BACKGROUND-COLOR: #808080">&lt;br clear="alll"&gt;</font><br />&lt;/div&gt;<br /><img src ="http://www.blogjava.net/flyffa/aggbug/78449.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-11-01 12:43 <a href="http://www.blogjava.net/flyffa/archive/2006/11/01/78449.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【搜索】步入全文检索第一步</title><link>http://www.blogjava.net/flyffa/archive/2006/10/12/74773.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Thu, 12 Oct 2006 05:28:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/10/12/74773.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/74773.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/10/12/74773.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/74773.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/74773.html</trackback:ping><description><![CDATA[最近由于项目需要，开始对全文检索做些了解，刚刚开始，由于项目人力的严重不足，我没有太多的时间进行细致的研究，不知道能走到如何的一个深度，走一步，看一步吧。<br /><br />我用java做的开发，由于数据库表并不多，我没有采用hibernate或者其他的持久层，而是直接使用了jdbc进行数据库操作。数据库使用的是Mysql。<br /><br />做搜索，第一想到的就是like了，后来发现条件可能比较复杂，效率可能低下，于是准备添加全文检索的搜索模式。<br /><br /><strong>第一类：数据库内嵌全文检索</strong><br /><br />第一种方案：毫无疑问，最为省事的还是数据库直接帮我搞定，我无须安装新的东西，也不用花太多的时间做新的研究。<br />      我用的是Mysql5.1。查官方文档，使用全文检索技术很简单：<br />      把表建成MyIsam的，<br />      然后导入数据，<br />      然后建立fulltext索引，<br />      然后，调整什么最小词长（这个部分我还没做就发现问题了，节约了一部分工作量），<br />      然后写一个select * from tbl where match (col1,col2) against ("关键字1","关键字2")的sql,<br />      于是发现没有任何的返回记录。上网google了一下，才知道mysql不支持中文的全文，在Mysql5.1参考手册12.7.4中有这么一段话：<br />      <strong><em><span>诸如汉语和日语这样的表意语言没有自定界符。因此</span><span>，<span> FULLTEXT</span>分析程序不能确定在这些或其它的这类语言中词的起始和结束的位置。其隐含操作及该问题的一些工作区在</span></em></strong><a title="12.7. Full-Text Search Functions" href="mk:@MSITStore:E:\专业知识\2数据~1\mySql\MYSQL5~1.CHM::/functions.html#fulltext-search"><strong><em>12.7节，“全文搜索功能”</em></strong></a><span><strong><em>有详细论述。<br /></em></strong>      但我没有找到任何关于这个部分的描述，所以我暂时认为Mysql直到现在对中文的全文检索依然没有支持。<br /><br />第二种方案：修改版的mysql，因为mysql是开源的软件，那么mysql本身不支持，有没有中文版的能支持呢，在google中顺手搜到了一个，海量公司研发了一个，网址：<a href="http://www.hylanda.com/">http://www.hylanda.com/</a>，由于不是开源的，公司是商业化运作，加上网上应用的人好像也不多，故而这个方案也被搁置了。<br /><br />第三种方案：插件，网上能够google到的就是这样一个：<a href="http://myft.twomice.net/">http://myft.twomice.net/</a>，目前好像是开源运作，我还没有尝试，粗略看了一下，怎么还要自己编译mysql，好像和插件的概念有些出入，不过总的来说，这个方式还是值得尝试的。<br /><br />第四种方案：更换数据库，目前还有oracle,ms-sql可以选择，这两个的中文搜索不知道做的如何，如果不错的，而mysql又不能解决的话，就换数据库吧，我想用oracle应该好一些。<br /><br /><strong>第二类：开源全文检索引擎<br /></strong>目前最火的就是lucene吧，可以研究研究。<br /><br />在搜索中发现了这样一篇博客文章，加上，以备查。<br /><a href="http://blog.csdn.net/jeafyezheng/archive/2006/09/29/1306463.aspx">http://blog.csdn.net/jeafyezheng/archive/2006/09/29/1306463.aspx</a></span><img src ="http://www.blogjava.net/flyffa/aggbug/74773.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-10-12 13:28 <a href="http://www.blogjava.net/flyffa/archive/2006/10/12/74773.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【读书】jsp高级编程-jsptaglib</title><link>http://www.blogjava.net/flyffa/archive/2006/08/24/65580.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Thu, 24 Aug 2006 09:15:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/08/24/65580.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/65580.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/08/24/65580.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/65580.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/65580.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 2004-12-03												JSP/XML/JSTL																		Jsp								和										xml								的合作								l         				方式										1								：												第一个大的趋...&nbsp;&nbsp;<a href='http://www.blogjava.net/flyffa/archive/2006/08/24/65580.html'>阅读全文</a><img src ="http://www.blogjava.net/flyffa/aggbug/65580.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-08-24 17:15 <a href="http://www.blogjava.net/flyffa/archive/2006/08/24/65580.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【读书】jsp高级编程-j2ee</title><link>http://www.blogjava.net/flyffa/archive/2006/08/24/65579.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Thu, 24 Aug 2006 09:13:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/08/24/65579.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/65579.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/08/24/65579.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/65579.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/65579.html</trackback:ping><description><![CDATA[
		<p>2004-12-03</p>
		<p>第一部分：JSP和J2EE<br />1、1什么是javabean<br />javabean的属性分为四类：<br />1、simple：简单属性<br />propName<br />getter:getpropName()<br />setter:setpropName()</p>
		<p>2、Index：索引属性<br />propName<br />getter:[] getpropName()<br />setter:setpropName()<br />getterI: obj getpropName(int i)<br />setterI: setpropName(int i,obj)</p>
		<p>3、bound：触发propertychange事件的属性<br />接口和普通属性没有什么不同，只是在setter里支持触发事件propertychange.</p>
		<p>4、constrained：限制类属性<br />接口和普通属性一致，setter支持bound,另外：<br />在setter中支持触发事件让相关监听组件来判断是否可以设置，如果不行，其他组件会抛出propertyvetoException</p>
		<p>事件模型：<br />基于源和listener的的事件模型。observer模式。<br />事件：java.util.EventObject及其子类。<br />监听者：java.util.EventListener及其子类。<br />源对象：接口必须标准<br />public void add&lt; ListenerType&gt;(&lt; ListenerType&gt; listener)<br />public void remove&lt; ListenerType&gt;(&lt; ListenerType&gt; listener)</p>
		<p>事件适配器：<br />可以用作确定会做出反映的事件响应者的用途。</p>
		<p>2、在jsp中使用<br /><usebean><setproperty><getproperty><p>3、jsp中javabean的scope<br />application scope:应用程序级别的。<br />session scope:会话级别<br />request scope:请求级别<br />page scope：页面级别</p><p>1、2 ejb<br />特殊的面向服务器端的javabeans.<br />包含sessionbean和entitybean两种<br />home<br />Home 接口定义了创建查找删除EJB 远程接口对象或者EJB 服务的方法客户端<br />应用程序通过使用JNDI 技术定位Home 接口的位置一旦获得Home 接口的实例就可以<br />利用它的create()方法创建EJB 远程接口的实例对象<br />remote接口<br />远程调用接口 (或者简称为远程接口Remote Interface)是对EJB 对象方法的总封装<br />在远程调用接口中声明了EJB 对象的方法但是并没有具体实现这些方法。<setproperty id="Name" property="*"></setproperty></p><p>3、jsp中javabean的scope<br />application scope:应用程序级别的。<br />session scope:会话级别<br />request scope:请求级别<br />page scope：页面级别</p><p>1、2 ejb<br />特殊的面向服务器端的javabeans.<br />包含sessionbean和entitybean两种<br />home<br />Home 接口定义了创建查找删除EJB 远程接口对象或者EJB 服务的方法客户端<br />应用程序通过使用JNDI 技术定位Home 接口的位置一旦获得Home 接口的实例就可以<br />利用它的create()方法创建EJB 远程接口的实例对象<br />remote接口<br />远程调用接口 (或者简称为远程接口Remote Interface)是对EJB 对象方法的总封装<br />在远程调用接口中声明了EJB 对象的方法但是并没有具体实现这些方法。</p><br /></getproperty></setproperty></usebean></p>
<img src ="http://www.blogjava.net/flyffa/aggbug/65579.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-08-24 17:13 <a href="http://www.blogjava.net/flyffa/archive/2006/08/24/65579.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>