﻿<?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-jedikings</title><link>http://www.blogjava.net/jedikings/</link><description /><language>zh-cn</language><lastBuildDate>Sat, 09 May 2026 23:02:37 GMT</lastBuildDate><pubDate>Sat, 09 May 2026 23:02:37 GMT</pubDate><ttl>60</ttl><item><title>JTA in Jboss (DataBase mysql)</title><link>http://www.blogjava.net/jedikings/archive/2006/09/01/66990.html</link><dc:creator>Jedi</dc:creator><author>Jedi</author><pubDate>Fri, 01 Sep 2006 00:55:00 GMT</pubDate><guid>http://www.blogjava.net/jedikings/archive/2006/09/01/66990.html</guid><wfw:comment>http://www.blogjava.net/jedikings/comments/66990.html</wfw:comment><comments>http://www.blogjava.net/jedikings/archive/2006/09/01/66990.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jedikings/comments/commentRss/66990.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jedikings/services/trackbacks/66990.html</trackback:ping><description><![CDATA[
		<p>1. mysql driver -&gt; server\default\lib<br />2. jdbc connection datasource server/default/deploy/mysql-xa-ds.xml<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;datasources&gt;<br /> &lt;xa-datasource&gt;<br />  &lt;jndi-name&gt;<font color="#ff0000">MySqlXADS</font>&lt;/jndi-name&gt;<br />  &lt;xa-datasource-class&gt;com.mysql.jdbc.jdbc2.optional.MysqlXADataSource&lt;/xa-datasource-class&gt;<br />  &lt;xa-datasource-property name="Url"&gt;<font color="#ff0000">jdbc:mysql://127.0.0.1:3306/temp</font>&lt;/xa-datasource-property&gt;<br />  &lt;xa-datasource-property name="User"&gt;<font color="#ff0000">root</font>&lt;/xa-datasource-property&gt;<br />  &lt;xa-datasource-property name="Password<font color="#ff0000">"&gt;....&lt;/</font>xa-datasource-property&gt;<br />  &lt;user-name&gt;<font color="#ff0000">root</font>&lt;/user-name&gt;<br />  &lt;password<font color="#ff0000">&gt;.....&lt;/</font>password&gt;<br />  &lt;exception-sorter-class-name&gt;org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter&lt;/exception-sorter-class-name&gt;<br />  &lt;metadata&gt;<br />   &lt;type-mapping&gt;mySQL&lt;/type-mapping&gt;<br />  &lt;/metadata&gt;<br /> &lt;/xa-datasource&gt;<br />&lt;/datasources&gt;</p>
		<p>3. server/default/conf/standardjbosscmp-jdbc.xml<br />&lt;defaults&gt;<br />      &lt;datasource&gt;java:/MySqlXADS&lt;/datasource&gt;<br />      &lt;datasource-mapping&gt;mySQL&lt;/datasource-mapping&gt;<br />....<br />....  <br />&lt;/defaults&gt;</p>
		<p>4. server/default/conf/jboss-service.xml<br />&lt;mbean code="org.jboss.tm.XidFactory"<br />      name="jboss:service=XidFactory"&gt;<br /> //uncommented the line below...<br />      &lt;attribute name="Pad"&gt;true&lt;/attribute&gt;<br />   &lt;/mbean&gt;</p>
<img src ="http://www.blogjava.net/jedikings/aggbug/66990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jedikings/" target="_blank">Jedi</a> 2006-09-01 08:55 <a href="http://www.blogjava.net/jedikings/archive/2006/09/01/66990.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Axis Tips</title><link>http://www.blogjava.net/jedikings/archive/2006/08/15/58338.html</link><dc:creator>Jedi</dc:creator><author>Jedi</author><pubDate>Tue, 15 Aug 2006 01:22:00 GMT</pubDate><guid>http://www.blogjava.net/jedikings/archive/2006/08/15/58338.html</guid><wfw:comment>http://www.blogjava.net/jedikings/comments/58338.html</wfw:comment><comments>http://www.blogjava.net/jedikings/archive/2006/08/15/58338.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jedikings/comments/commentRss/58338.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jedikings/services/trackbacks/58338.html</trackback:ping><description><![CDATA[1. 某个service的参数有复杂对象时，如果要用默认的beanmapping，记得这个对象要有的默认构造器(空参数构造器)，不然Axis在处理的时候会所有的字段都是同一个值..至于原因我没搞清楚-,-~~<br />2. 不要用List，尽量用数组!<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">ValueBean[] getValues() <br /><img id="Codehighlighter1_26_111_Open_Image" onclick="this.style.display='none'; Codehighlighter1_26_111_Open_Text.style.display='none'; Codehighlighter1_26_111_Closed_Image.style.display='inline'; Codehighlighter1_26_111_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_26_111_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_26_111_Closed_Text.style.display='none'; Codehighlighter1_26_111_Open_Image.style.display='inline'; Codehighlighter1_26_111_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />    </span><span id="Codehighlighter1_26_111_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_26_111_Open_Text"><span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        ArrayList result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ArrayList(); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> (ValueBean[]) result.toArray(); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</span></span></div>上面的代码还是会出问题，要用iterator一个一个map过去<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> ValueHelper <br /><img id="Codehighlighter1_27_322_Open_Image" onclick="this.style.display='none'; Codehighlighter1_27_322_Open_Text.style.display='none'; Codehighlighter1_27_322_Closed_Image.style.display='inline'; Codehighlighter1_27_322_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_27_322_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_27_322_Closed_Text.style.display='none'; Codehighlighter1_27_322_Open_Image.style.display='inline'; Codehighlighter1_27_322_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />    </span><span id="Codehighlighter1_27_322_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_27_322_Open_Text"><span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> ValueBean[] toArray(List values) <br /><img id="Codehighlighter1_82_318_Open_Image" onclick="this.style.display='none'; Codehighlighter1_82_318_Open_Text.style.display='none'; Codehighlighter1_82_318_Closed_Image.style.display='inline'; Codehighlighter1_82_318_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_82_318_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_82_318_Closed_Text.style.display='none'; Codehighlighter1_82_318_Open_Image.style.display='inline'; Codehighlighter1_82_318_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_82_318_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_82_318_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            ValueBean[] result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ValueBean[values.size()]; <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            Iterator i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> values.iterator(); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000"> (i.hasNext()) <br /><img id="Codehighlighter1_217_294_Open_Image" onclick="this.style.display='none'; Codehighlighter1_217_294_Open_Text.style.display='none'; Codehighlighter1_217_294_Closed_Image.style.display='inline'; Codehighlighter1_217_294_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_217_294_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_217_294_Closed_Text.style.display='none'; Codehighlighter1_217_294_Open_Image.style.display='inline'; Codehighlighter1_217_294_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span id="Codehighlighter1_217_294_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_217_294_Open_Text"><span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                ValueBean value </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (ValueBean) i.next(); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                result[i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> value; <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> result; <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"> <br /><img id="Codehighlighter1_350_433_Open_Image" onclick="this.style.display='none'; Codehighlighter1_350_433_Open_Text.style.display='none'; Codehighlighter1_350_433_Closed_Image.style.display='inline'; Codehighlighter1_350_433_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_350_433_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_350_433_Closed_Text.style.display='none'; Codehighlighter1_350_433_Open_Image.style.display='inline'; Codehighlighter1_350_433_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />    ValueBean[] getValues() </span><span id="Codehighlighter1_350_433_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_350_433_Open_Text"><span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        ArrayList result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ArrayList();  <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ValueHelper.toArray(result); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</span></span></div>3. 要生成符合ws-i的web service最好用document/literal<br />&lt;service name="MyWebRes" provider="java:RPC"<font color="#ff0000"> style="document "use="literal"&gt;</font><img src ="http://www.blogjava.net/jedikings/aggbug/58338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jedikings/" target="_blank">Jedi</a> 2006-08-15 09:22 <a href="http://www.blogjava.net/jedikings/archive/2006/08/15/58338.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>A good Http debug Utility - fiddler</title><link>http://www.blogjava.net/jedikings/archive/2006/08/15/58599.html</link><dc:creator>Jedi</dc:creator><author>Jedi</author><pubDate>Tue, 15 Aug 2006 01:15:00 GMT</pubDate><guid>http://www.blogjava.net/jedikings/archive/2006/08/15/58599.html</guid><wfw:comment>http://www.blogjava.net/jedikings/comments/58599.html</wfw:comment><comments>http://www.blogjava.net/jedikings/archive/2006/08/15/58599.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jedikings/comments/commentRss/58599.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jedikings/services/trackbacks/58599.html</trackback:ping><description><![CDATA[
		<a href="http://www.fiddlertool.com/fiddler/">http://www.fiddlertool.com/fiddler/</a> <br />.net framework 1.1 needed<br /><br />for firefox need some added configurat<br /><br />menu-&gt;tools-&gt;preference/option-&gt;connection settings-&gt;bottom-&gt;<br /><br />C:\Documents and Settings\jedikings\My Documents\Fiddler\Scripts\BrowserPAC.js -&gt; reload<br /><br /><img src ="http://www.blogjava.net/jedikings/aggbug/58599.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jedikings/" target="_blank">Jedi</a> 2006-08-15 09:15 <a href="http://www.blogjava.net/jedikings/archive/2006/08/15/58599.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mozilla web service proxy~~ (for all Gecko-based browser)</title><link>http://www.blogjava.net/jedikings/archive/2006/07/11/57630.html</link><dc:creator>Jedi</dc:creator><author>Jedi</author><pubDate>Tue, 11 Jul 2006 04:13:00 GMT</pubDate><guid>http://www.blogjava.net/jedikings/archive/2006/07/11/57630.html</guid><wfw:comment>http://www.blogjava.net/jedikings/comments/57630.html</wfw:comment><comments>http://www.blogjava.net/jedikings/archive/2006/07/11/57630.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jedikings/comments/commentRss/57630.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jedikings/services/trackbacks/57630.html</trackback:ping><description><![CDATA[
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">var</span>
				<span style="COLOR: #000000"> proxy</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">null</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #008000"> </span>
				<span style="COLOR: #0000ff">function</span> <span style="COLOR: #000000"> getTest()  </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> test by the way amazon uses</span><span style="COLOR: #008000"><br /><img id="Codehighlighter1_180_770_Open_Image" onclick="this.style.display='none'; Codehighlighter1_180_770_Open_Text.style.display='none'; Codehighlighter1_180_770_Closed_Image.style.display='inline'; Codehighlighter1_180_770_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_180_770_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_180_770_Closed_Text.style.display='none'; Codehighlighter1_180_770_Open_Image.style.display='inline'; Codehighlighter1_180_770_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_180_770_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_180_770_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_195_734_Open_Image" onclick="this.style.display='none'; Codehighlighter1_195_734_Open_Text.style.display='none'; Codehighlighter1_195_734_Closed_Image.style.display='inline'; Codehighlighter1_195_734_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_195_734_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_195_734_Closed_Text.style.display='none'; Codehighlighter1_195_734_Open_Image.style.display='inline'; Codehighlighter1_195_734_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">proxy) </span><span id="Codehighlighter1_195_734_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_195_734_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_214_704_Open_Image" onclick="this.style.display='none'; Codehighlighter1_214_704_Open_Text.style.display='none'; Codehighlighter1_214_704_Closed_Image.style.display='inline'; Codehighlighter1_214_704_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_214_704_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_214_704_Closed_Text.style.display='none'; Codehighlighter1_214_704_Open_Image.style.display='inline'; Codehighlighter1_214_704_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> listener </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_214_704_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_214_704_Open_Text"><span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> gets called once the proxy has been instantiated</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">            onLoad: </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> (aProxy) <br /><img id="Codehighlighter1_304_386_Open_Image" onclick="this.style.display='none'; Codehighlighter1_304_386_Open_Text.style.display='none'; Codehighlighter1_304_386_Closed_Image.style.display='inline'; Codehighlighter1_304_386_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_304_386_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_304_386_Closed_Text.style.display='none'; Codehighlighter1_304_386_Open_Image.style.display='inline'; Codehighlighter1_304_386_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span id="Codehighlighter1_304_386_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_304_386_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                proxy </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> aProxy;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                proxy.setListener(listener);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                requestTest();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000">,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> gets called if an error occurs</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">            onError: </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> (aError) <br /><img id="Codehighlighter1_459_483_Open_Image" onclick="this.style.display='none'; Codehighlighter1_459_483_Open_Text.style.display='none'; Codehighlighter1_459_483_Closed_Image.style.display='inline'; Codehighlighter1_459_483_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_459_483_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_459_483_Closed_Text.style.display='none'; Codehighlighter1_459_483_Open_Image.style.display='inline'; Codehighlighter1_459_483_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span id="Codehighlighter1_459_483_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_459_483_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                alert(aError);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000">,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> callback function is hardcoded to {methodname}Callback in 1.4beta</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">            getInstanceByIDCallback : </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> (aresult) <br /><img id="Codehighlighter1_609_700_Open_Image" onclick="this.style.display='none'; Codehighlighter1_609_700_Open_Text.style.display='none'; Codehighlighter1_609_700_Closed_Image.style.display='inline'; Codehighlighter1_609_700_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_609_700_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_609_700_Closed_Text.style.display='none'; Codehighlighter1_609_700_Open_Image.style.display='inline'; Codehighlighter1_609_700_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span id="Codehighlighter1_609_700_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_609_700_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                alert(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">enter callback</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);              <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">alert("a="+aresult.a+", b="+aresult.b);</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="COLOR: #000000">            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        createProxy(listener);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_742_768_Open_Image" onclick="this.style.display='none'; Codehighlighter1_742_768_Open_Text.style.display='none'; Codehighlighter1_742_768_Closed_Image.style.display='inline'; Codehighlighter1_742_768_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_742_768_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_742_768_Closed_Text.style.display='none'; Codehighlighter1_742_768_Open_Image.style.display='inline'; Codehighlighter1_742_768_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_742_768_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_742_768_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        requestTest(</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> createProxy(aCreationListener) <br /><img id="Codehighlighter1_814_1034_Open_Image" onclick="this.style.display='none'; Codehighlighter1_814_1034_Open_Text.style.display='none'; Codehighlighter1_814_1034_Closed_Image.style.display='inline'; Codehighlighter1_814_1034_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_814_1034_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_814_1034_Closed_Text.style.display='none'; Codehighlighter1_814_1034_Open_Image.style.display='inline'; Codehighlighter1_814_1034_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_814_1034_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_814_1034_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_821_993_Open_Image" onclick="this.style.display='none'; Codehighlighter1_821_993_Open_Text.style.display='none'; Codehighlighter1_821_993_Closed_Image.style.display='inline'; Codehighlighter1_821_993_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_821_993_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_821_993_Closed_Text.style.display='none'; Codehighlighter1_821_993_Open_Image.style.display='inline'; Codehighlighter1_821_993_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_821_993_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_821_993_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> factory </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> WebServiceProxyFactory();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        factory.createProxyAsync("...wsdl location...."</span><span style="COLOR: #008000">, "binding name", "", true, aCreationListener);</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="COLOR: #000000">    }</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_1007_1032_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1007_1032_Open_Text.style.display='none'; Codehighlighter1_1007_1032_Closed_Image.style.display='inline'; Codehighlighter1_1007_1032_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1007_1032_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1007_1032_Closed_Text.style.display='none'; Codehighlighter1_1007_1032_Open_Image.style.display='inline'; Codehighlighter1_1007_1032_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> (ex) </span><span id="Codehighlighter1_1007_1032_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_1007_1032_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        alert(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">test </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> ex);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">function</span> <span style="COLOR: #000000"> requestTest() <br /><img id="Codehighlighter1_1066_1751_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1066_1751_Open_Text.style.display='none'; Codehighlighter1_1066_1751_Closed_Image.style.display='inline'; Codehighlighter1_1066_1751_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1066_1751_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1066_1751_Closed_Text.style.display='none'; Codehighlighter1_1066_1751_Open_Image.style.display='inline'; Codehighlighter1_1066_1751_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_1066_1751_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_1066_1751_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_1080_1692_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1080_1692_Open_Text.style.display='none'; Codehighlighter1_1080_1692_Closed_Image.style.display='inline'; Codehighlighter1_1080_1692_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1080_1692_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1080_1692_Closed_Text.style.display='none'; Codehighlighter1_1080_1692_Open_Image.style.display='inline'; Codehighlighter1_1080_1692_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (proxy) </span><span id="Codehighlighter1_1080_1692_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_1080_1692_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        netscape.security.PrivilegeManager.enablePrivilege(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">UniversalBrowserRead</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /><img id="Codehighlighter1_1165_1589_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1165_1589_Open_Text.style.display='none'; Codehighlighter1_1165_1589_Closed_Image.style.display='inline'; Codehighlighter1_1165_1589_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1165_1589_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1165_1589_Closed_Text.style.display='none'; Codehighlighter1_1165_1589_Open_Image.style.display='inline'; Codehighlighter1_1165_1589_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_1165_1589_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id="Codehighlighter1_1165_1589_Open_Text"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        // if complex object is the parameter<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        var KeywordSearchRequest = new Object();        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        KeywordSearchRequest.page="1";<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        KeywordSearchRequest.mode="books";<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        KeywordSearchRequest.tag="webservices-20";<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        KeywordSearchRequest.type="lite";<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        KeywordSearchRequest.devtag="D2Z2KU2NWTOHI";<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        KeywordSearchRequest.format="xml";<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        KeywordSearchRequest.version="1.0";<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        proxy.getInstanceByID(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">id.....</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        alert(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">call complete!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_1700_1749_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1700_1749_Open_Text.style.display='none'; Codehighlighter1_1700_1749_Closed_Image.style.display='inline'; Codehighlighter1_1700_1749_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1700_1749_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1700_1749_Closed_Text.style.display='none'; Codehighlighter1_1700_1749_Open_Image.style.display='inline'; Codehighlighter1_1700_1749_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_1700_1749_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_1700_1749_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        alert(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Error: Proxy set up not complete!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
		<br />用起来还是很简单，唯一要注意的是用Axis生成Web Service的时候记得在global configuration里面改一下<br />&lt;parameter name="sendMultiRefs" value="false"/&gt;<br /><br />ie下的话也有一个webservice.htc，没仔细研究过..<img src ="http://www.blogjava.net/jedikings/aggbug/57630.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jedikings/" target="_blank">Jedi</a> 2006-07-11 12:13 <a href="http://www.blogjava.net/jedikings/archive/2006/07/11/57630.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Reading notes -- Singleton pattern</title><link>http://www.blogjava.net/jedikings/archive/2006/07/09/57330.html</link><dc:creator>Jedi</dc:creator><author>Jedi</author><pubDate>Sun, 09 Jul 2006 04:42:00 GMT</pubDate><guid>http://www.blogjava.net/jedikings/archive/2006/07/09/57330.html</guid><wfw:comment>http://www.blogjava.net/jedikings/comments/57330.html</wfw:comment><comments>http://www.blogjava.net/jedikings/archive/2006/07/09/57330.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jedikings/comments/commentRss/57330.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jedikings/services/trackbacks/57330.html</trackback:ping><description><![CDATA[
		<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">
				<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
				<span style="color: rgb(0, 0, 255);">public</span>
				<span style="color: rgb(0, 0, 0);"> </span>
				<span style="color: rgb(0, 0, 255);">class</span>
				<span style="color: rgb(0, 0, 0);"> Singleton {<br /><br />    </span>
				<span style="color: rgb(0, 0, 255);">private</span>
				<span style="color: rgb(0, 0, 0);"> </span>
				<span style="color: rgb(0, 0, 255);">volatile</span>
				<span style="color: rgb(0, 0, 0);"> </span>
				<span style="color: rgb(0, 0, 255);">static</span>
				<span style="color: rgb(0, 0, 0);"> Singleton uniqueInstance;<br />    </span>
				<span style="color: rgb(0, 0, 255);">private</span>
				<span style="color: rgb(0, 0, 0);"> Singleton(){<br />        <br />    }<br />    <br />    </span>
				<span style="color: rgb(0, 0, 255);">public</span>
				<span style="color: rgb(0, 0, 0);"> </span>
				<span style="color: rgb(0, 0, 255);">static</span>
				<span style="color: rgb(0, 0, 0);"> Singleton getInstance(){<br />        </span>
				<span style="color: rgb(0, 0, 255);">if</span>
				<span style="color: rgb(0, 0, 0);">(uniqueInstance</span>
				<span style="color: rgb(0, 0, 0);">==</span>
				<span style="color: rgb(0, 0, 255);">null</span>
				<span style="color: rgb(0, 0, 0);">){<br />            </span>
				<span style="color: rgb(0, 0, 255);">synchronized</span>
				<span style="color: rgb(0, 0, 0);">(Singleton.</span>
				<span style="color: rgb(0, 0, 255);">class</span>
				<span style="color: rgb(0, 0, 0);">){<br />                </span>
				<span style="color: rgb(0, 0, 255);">if</span>
				<span style="color: rgb(0, 0, 0);">(uniqueInstance</span>
				<span style="color: rgb(0, 0, 0);">==</span>
				<span style="color: rgb(0, 0, 255);">null</span>
				<span style="color: rgb(0, 0, 0);">){<br />                    uniqueInstance </span>
				<span style="color: rgb(0, 0, 0);">=</span>
				<span style="color: rgb(0, 0, 0);"> </span>
				<span style="color: rgb(0, 0, 255);">new</span>
				<span style="color: rgb(0, 0, 0);"> Singleton();<br />                }<br />            }<br />        }        <br />        </span>
				<span style="color: rgb(0, 0, 255);">return</span>
				<span style="color: rgb(0, 0, 0);"> uniqueInstance; <br />    }<br /><br />}</span>
		</div>
		<br />1. private constructor<br />2. static getInstance<br />3. syncronized..waste a lot of time<br />4. double check..modified syncronize, so time-waste might occurs only when first time the instance construct<br /><img src ="http://www.blogjava.net/jedikings/aggbug/57330.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jedikings/" target="_blank">Jedi</a> 2006-07-09 12:42 <a href="http://www.blogjava.net/jedikings/archive/2006/07/09/57330.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>What's the JRE means (zz)</title><link>http://www.blogjava.net/jedikings/archive/2006/06/24/54810.html</link><dc:creator>Jedi</dc:creator><author>Jedi</author><pubDate>Fri, 23 Jun 2006 19:26:00 GMT</pubDate><guid>http://www.blogjava.net/jedikings/archive/2006/06/24/54810.html</guid><wfw:comment>http://www.blogjava.net/jedikings/comments/54810.html</wfw:comment><comments>http://www.blogjava.net/jedikings/archive/2006/06/24/54810.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jedikings/comments/commentRss/54810.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jedikings/services/trackbacks/54810.html</trackback:ping><description><![CDATA[
		<p>
				<a href="http://www.newsmth.net/bbscon.php?bid=756&amp;id=53934">http://www.newsmth.net/bbscon.php?bid=756&amp;id=53934</a>
				<br />
				<br />以我的机器为例<br />我得jdk装在了<br />C:\Program Files\Java\jdk1.5.0_06<br />安装这个jdk的时候，它要求我安装jre，我也选择装了，装在了<br />C:\Program Files\Java\jre1.5.0_06</p>
		<p>然后  C:\Program Files\Java\jdk1.5.0_06\ 目录下有个jre目录<br />就是存在  C:\Program Files\Java\jdk1.5.0_06\jre  这么一个jre</p>
		<p>C:\Program Files\Java\jre1.5.0_06  我们叫它 jre a<br />C:\Program Files\Java\jdk1.5.0_06\jre  我们叫它 jre b</p>
		<p>平常所说的jre是指  这里的jre a，它是为了让你的机器可以运行 java程序的<br />只能运行，不能开发，因为没有javac<br />这个jre可以单独安装，版本一样的话都一样（根据licene，好象目前不允许剪裁）</p>
		<p>jre b 是随jdk的，不能不装，因为  jdk&gt;jre  jdk也需要jre啊<br />就是装jdk就会出现这个jre b</p>
		<p>一点高级的，jrea 和 jreb有什么不同<br /><br />jreb 是为jdk服务的，它有jrea的全部功能，同时为了jdk服务，它的类库，比方说rt.jar<br />，多一些调试信息，因为开发java程序，会调试啊，用jrea没办法调试，比方说不能断点到<br /> 基础类库里面<br />看jrea和b的rt.jar 大小不一样，jreb的大一些，带有调试信息（主要是class里的<br />LineNumberTable) ,所以运行时，jreb的速度或者载入速度难免慢一些，或者说，用jdk运<br />行java程序比jre运行慢一些，虽然你感觉不到，至少class尺寸上不一样</p>
		<p> </p>
<img src ="http://www.blogjava.net/jedikings/aggbug/54810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jedikings/" target="_blank">Jedi</a> 2006-06-24 03:26 <a href="http://www.blogjava.net/jedikings/archive/2006/06/24/54810.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Reading note of "Head First Design Patterns": Strategy Pattern</title><link>http://www.blogjava.net/jedikings/archive/2006/06/13/52422.html</link><dc:creator>Jedi</dc:creator><author>Jedi</author><pubDate>Tue, 13 Jun 2006 04:42:00 GMT</pubDate><guid>http://www.blogjava.net/jedikings/archive/2006/06/13/52422.html</guid><wfw:comment>http://www.blogjava.net/jedikings/comments/52422.html</wfw:comment><comments>http://www.blogjava.net/jedikings/archive/2006/06/13/52422.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jedikings/comments/commentRss/52422.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jedikings/services/trackbacks/52422.html</trackback:ping><description><![CDATA[Problem:   Started with a simple SimUDuck App..<br />   Joe's company makes a duck pond simulation game, SimUDuck, The game can show a large variety of duck species swimming and making quacking sounds.<br /><br />Initial Design:<br /><img style="WIDTH: 529px; HEIGHT: 271px" height="296" alt="diagram.JPG" src="http://www.blogjava.net/images/blogjava_net/jedikings/diagram.JPG" width="489" border="0" /><br />But now some new functionality should be added, for example: we need some of the ducks to FLY.<br /><br />First Design:<br />   We add a method fly() into the Duck class. It seems worked, but something went horribly wrong because <font style="BACKGROUND-COLOR: #9acd32">not all</font> ducks can fly. so....<br /><br />Second Design: Using inheritance and polymorphism<br />   Always override the fly() mehtod in the subclass where needed.<br /><p align="center"><img height="130" alt="test.JPG" src="http://www.blogjava.net/images/blogjava_net/jedikings/test.JPG" width="178" border="0" /><br />   </p>   Drawbacks: Everytime a new duck is added, you will be forced to look at and possibly override fly() and quack(). so is there a cleaner way of having only some of the duck types fly or quack?<br /><br />Third Design: Using interface!<br />   <img height="279" alt="test1.JPG" src="http://www.blogjava.net/images/blogjava_net/jedikings/test1.JPG" width="633" border="0" /><br />Drawbacks: It completely destroy code reuse for those behaviors.<br /><br /><font style="BACKGROUND-COLOR: #ffa500">1. Design Principles:</font><font color="#ff0000"> Identify the aspects of your application that vary and separate them form what stays the same!</font><br />                               which means Encapsulate the parts that vary!<br /><font style="BACKGROUND-COLOR: #ffa500">2. Design Principles:</font><font style="BACKGROUND-COLOR: #ffffff"> Program to an interface, not an implementation! (<font color="#ff0000">interface here means supertype! including interface<br />                               and abstract class!.. making use of the polymorphism functionality).<br /><font style="BACKGROUND-COLOR: #ffa500" color="#000000">3. Design Principles:</font> <font color="#000000"> Favor composition over interface!</font> <br /></font></font><br />Strategy Pattern: Using Composition!<br /><img height="174" alt="test2.JPG" src="http://www.blogjava.net/images/blogjava_net/jedikings/test2.JPG" width="178" border="0" /><br /><br />Code implement:<br />FlyBehavior.java<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id="Codehighlighter1_28_52_Open_Image" onclick="this.style.display='none'; Codehighlighter1_28_52_Open_Text.style.display='none'; Codehighlighter1_28_52_Closed_Image.style.display='inline'; Codehighlighter1_28_52_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_28_52_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_28_52_Closed_Text.style.display='none'; Codehighlighter1_28_52_Open_Image.style.display='inline'; Codehighlighter1_28_52_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">interface</span><span style="COLOR: #000000"> FlyBehavior</span><span id="Codehighlighter1_28_52_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_28_52_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />   </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> fly();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><br />FlyWithWings.java<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id="Codehighlighter1_48_119_Open_Image" onclick="this.style.display='none'; Codehighlighter1_48_119_Open_Text.style.display='none'; Codehighlighter1_48_119_Closed_Image.style.display='inline'; Codehighlighter1_48_119_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_48_119_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_48_119_Closed_Text.style.display='none'; Codehighlighter1_48_119_Open_Image.style.display='inline'; Codehighlighter1_48_119_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> FlyWithWings </span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000"> FlyBehavior</span><span id="Codehighlighter1_48_119_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_48_119_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_70_117_Open_Image" onclick="this.style.display='none'; Codehighlighter1_70_117_Open_Text.style.display='none'; Codehighlighter1_70_117_Closed_Image.style.display='inline'; Codehighlighter1_70_117_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_70_117_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_70_117_Closed_Text.style.display='none'; Codehighlighter1_70_117_Open_Image.style.display='inline'; Codehighlighter1_70_117_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />   </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> fly()</span><span id="Codehighlighter1_70_117_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_70_117_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">I'm flying!!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />   }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><br />FlyNoWay.java<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id="Codehighlighter1_44_114_Open_Image" onclick="this.style.display='none'; Codehighlighter1_44_114_Open_Text.style.display='none'; Codehighlighter1_44_114_Closed_Image.style.display='inline'; Codehighlighter1_44_114_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_44_114_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_44_114_Closed_Text.style.display='none'; Codehighlighter1_44_114_Open_Image.style.display='inline'; Codehighlighter1_44_114_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> FlyNoWay </span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000"> FlyBehavior</span><span id="Codehighlighter1_44_114_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_44_114_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_66_112_Open_Image" onclick="this.style.display='none'; Codehighlighter1_66_112_Open_Text.style.display='none'; Codehighlighter1_66_112_Closed_Image.style.display='inline'; Codehighlighter1_66_112_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_66_112_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_66_112_Closed_Text.style.display='none'; Codehighlighter1_66_112_Open_Image.style.display='inline'; Codehighlighter1_66_112_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />   </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> fly()</span><span id="Codehighlighter1_66_112_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_66_112_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">I can't fly</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />   }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><br />Duck.java<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id="Codehighlighter1_26_278_Open_Image" onclick="this.style.display='none'; Codehighlighter1_26_278_Open_Text.style.display='none'; Codehighlighter1_26_278_Closed_Image.style.display='inline'; Codehighlighter1_26_278_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_26_278_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_26_278_Closed_Text.style.display='none'; Codehighlighter1_26_278_Open_Image.style.display='inline'; Codehighlighter1_26_278_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">abstract</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> Duck</span><span id="Codehighlighter1_26_278_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_26_278_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />   FlyBehavior flyBehavior;<br /><img id="Codehighlighter1_72_83_Open_Image" onclick="this.style.display='none'; Codehighlighter1_72_83_Open_Text.style.display='none'; Codehighlighter1_72_83_Closed_Image.style.display='inline'; Codehighlighter1_72_83_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_72_83_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_72_83_Closed_Text.style.display='none'; Codehighlighter1_72_83_Open_Image.style.display='inline'; Codehighlighter1_72_83_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />   </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Duck()</span><span id="Codehighlighter1_72_83_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_72_83_Open_Text"><span style="COLOR: #000000">{      <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />   }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />   <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />   </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">abstract</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> display();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />   <br /><img id="Codehighlighter1_155_185_Open_Image" onclick="this.style.display='none'; Codehighlighter1_155_185_Open_Text.style.display='none'; Codehighlighter1_155_185_Closed_Image.style.display='inline'; Codehighlighter1_155_185_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_155_185_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_155_185_Closed_Text.style.display='none'; Codehighlighter1_155_185_Open_Image.style.display='inline'; Codehighlighter1_155_185_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />   </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> performFly()</span><span id="Codehighlighter1_155_185_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_155_185_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      flyBehavior.fly();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />   }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />   <br /><img id="Codehighlighter1_212_276_Open_Image" onclick="this.style.display='none'; Codehighlighter1_212_276_Open_Text.style.display='none'; Codehighlighter1_212_276_Closed_Image.style.display='inline'; Codehighlighter1_212_276_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_212_276_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_212_276_Closed_Text.style.display='none'; Codehighlighter1_212_276_Open_Image.style.display='inline'; Codehighlighter1_212_276_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />   </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> swim()</span><span id="Codehighlighter1_212_276_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_212_276_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">All ducks float, even decoys!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />   }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><br />MallardDuck.java<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id="Codehighlighter1_24_188_Open_Image" onclick="this.style.display='none'; Codehighlighter1_24_188_Open_Text.style.display='none'; Codehighlighter1_24_188_Closed_Image.style.display='inline'; Codehighlighter1_24_188_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_24_188_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_24_188_Closed_Text.style.display='none'; Codehighlighter1_24_188_Open_Image.style.display='inline'; Codehighlighter1_24_188_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> MallardDuck</span><span id="Codehighlighter1_24_188_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_24_188_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_49_98_Open_Image" onclick="this.style.display='none'; Codehighlighter1_49_98_Open_Text.style.display='none'; Codehighlighter1_49_98_Closed_Image.style.display='inline'; Codehighlighter1_49_98_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_49_98_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_49_98_Closed_Text.style.display='none'; Codehighlighter1_49_98_Open_Image.style.display='inline'; Codehighlighter1_49_98_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />   </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> MallardDuck()</span><span id="Codehighlighter1_49_98_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_49_98_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      flyBehavior</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FlyWithWings();      <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />   }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />   <br /><img id="Codehighlighter1_128_186_Open_Image" onclick="this.style.display='none'; Codehighlighter1_128_186_Open_Text.style.display='none'; Codehighlighter1_128_186_Closed_Image.style.display='inline'; Codehighlighter1_128_186_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_128_186_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_128_186_Closed_Text.style.display='none'; Codehighlighter1_128_186_Open_Image.style.display='inline'; Codehighlighter1_128_186_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />   </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> display()</span><span id="Codehighlighter1_128_186_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_128_186_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">I'm a real mallard duck</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />   }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><p><font style="BACKGROUND-COLOR: #ffffff"><font color="#ff0000"><font color="#000000">The Definition of Strategy Pattern: The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them intercahgeable. Strategy lets the algorithm vary indepanedtl from client that use it</font></font></font><font style="BACKGROUND-COLOR: #ffffff"><font color="#ff0000"><br /></font></font> <br />Problems: <br />1. It's weird to have a class that's jast a behavior: classes represent things both have state and methods. a flying behavior might have instance variables representing the attributes for the flying behavior.<br />2. Be care of Over-Design: implement your code first, then refractoring!</p><img src ="http://www.blogjava.net/jedikings/aggbug/52422.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jedikings/" target="_blank">Jedi</a> 2006-06-13 12:42 <a href="http://www.blogjava.net/jedikings/archive/2006/06/13/52422.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>