<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>frank oo java</title>
	<atom:link href="http://blog.donews.com/ooFrank/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.donews.com/ooFrank</link>
	<description>我爱oo,我爱java。http://oofrank.blogchina.com</description>
	<lastBuildDate>Thu, 20 Nov 2008 03:01:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>将weblogic作为应用代理</title>
		<link>http://blog.donews.com/ooFrank/archive/2008/11/20/1383719.aspx</link>
		<comments>http://blog.donews.com/ooFrank/archive/2008/11/20/1383719.aspx#comments</comments>
		<pubDate>Thu, 20 Nov 2008 03:01:00 +0000</pubDate>
		<dc:creator>ooFrank</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.donews.com/ooFrank/archive/2008/11/20/1383719.aspx</guid>
		<description><![CDATA[<p>由于某客户有安全性要求,可以接收HTTP请求的服务器,不能连接DB服务器,这样我们基于非分布式构架系统在部署上碰到了困难,好在客户使用weblogic,通过别人的支持,知道一种办法可以通过weblogic.servlet.proxy.HttpClusterServlet来实现我们的要求,这个东东本来是作Cluster用的,放到我们的应用中,作HTTP-server代理也不错! </p>
<p><br />&#60;servlet&#62;</p>
<p>&#160;&#160;&#160;&#160; &#60;servlet-name&#62;HttpClusterServlet&#60;/servlet-name&#62;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160; &#60;servlet-class&#62;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; weblogic.servlet.proxy.HttpClusterServlet</p>
<p>&#160;&#038;nb]]></description>
			<content:encoded><![CDATA[<p>由于某客户有安全性要求,可以接收HTTP请求的服务器,不能连接DB服务器,这样我们基于非分布式构架系统在部署上碰到了困难,好在客户使用weblogic,通过别人的支持,知道一种办法可以通过weblogic.servlet.proxy.HttpClusterServlet来实现我们的要求,这个东东本来是作Cluster用的,放到我们的应用中,作HTTP-server代理也不错! </p>
<p>&lt;servlet&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;HttpClusterServlet&lt;/servlet-name&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; weblogic.servlet.proxy.HttpClusterServlet</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/servlet-class&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;WebLogicCluster&lt;/param-name&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ip1.ip2.ip3.ip4:port</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/param-value&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;</p>
<p>&nbsp;&nbsp; &lt;/servlet&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/ooFrank/archive/2008/11/20/1383719.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何控制IE使用本地缓存读取所需资源</title>
		<link>http://blog.donews.com/ooFrank/archive/2008/07/18/1321544.aspx</link>
		<comments>http://blog.donews.com/ooFrank/archive/2008/07/18/1321544.aspx#comments</comments>
		<pubDate>Fri, 18 Jul 2008 10:33:00 +0000</pubDate>
		<dc:creator>ooFrank</dc:creator>
				<category><![CDATA[other]]></category>

		<guid isPermaLink="false">http://blog.donews.com/ooFrank/archive/2008/07/18/1321544.aspx</guid>
		<description><![CDATA[<style type="text/css">BLOCKQUOTE {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
</style>
<div style="text-indent: 2em;">针对页面，通过设置过期时间 &#60;meta http-equiv=&#34;expires&#34;  content=&#34;Thu,31 Dec 2020 23:59:59 GMT&#34;&#62;，使页面仅在浏览器刷新时才从服务器读取。</div>
<br />
<div style="text-indent: 2em;">&#160;针对图片，每次从服务器上取的是背景图片，在网上查询到，有人讲这是IE6的bug，背景图片不读缓存，都是从服务器取。有人给出了解决办法：jsp中加入以下代码得以解决：</div>]]></description>
			<content:encoded><![CDATA[<style type="text/css">BLOCKQUOTE {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
</style>
<div style="text-indent: 2em;">针对页面，通过设置过期时间 &lt;meta http-equiv=&quot;expires&quot;  content=&quot;Thu,31 Dec 2020 23:59:59 GMT&quot;&gt;，使页面仅在浏览器刷新时才从服务器读取。</div>
<p></p>
<div style="text-indent: 2em;">&nbsp;针对图片，每次从服务器上取的是背景图片，在网上查询到，有人讲这是IE6的bug，背景图片不读缓存，都是从服务器取。有人给出了解决办法：jsp中加入以下代码得以解决：</div>
<div style="text-indent: 4em;">&lt;script type=&quot;text/javascript&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;</div>
<div style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try  {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.execCommand(&quot;BackgroundImageCache&quot;, false,  true);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch(err) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp; </div>
<div style="text-indent: 4em;">&lt;/script&gt;</p>
<p><span style="text-decoration: underline;">同事 塔长城 提供，并验证</span></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/ooFrank/archive/2008/07/18/1321544.aspx/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>推荐 org.apache.commons.collections.map.LRUMap</title>
		<link>http://blog.donews.com/ooFrank/archive/2008/07/11/1318878.aspx</link>
		<comments>http://blog.donews.com/ooFrank/archive/2008/07/11/1318878.aspx#comments</comments>
		<pubDate>Fri, 11 Jul 2008 06:22:00 +0000</pubDate>
		<dc:creator>ooFrank</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.donews.com/ooFrank/archive/2008/07/11/1318878.aspx</guid>
		<description><![CDATA[
推荐 org.apache.commons.collections.map.LRUMap]]></description>
			<content:encoded><![CDATA[<p>在我们使用 jdk 的 LinkedHashMap 时,发生了</p>
<p>protected boolean removeEldestEntry(java.util.Map.Entry eldest) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(this.containsKey(eldest.getKey())); <span style="color: rgb(255, 0, 0);">//此处返回false</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (size() &gt; maxSize){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />&nbsp;}</p>
<p>不能移除多于的缓存实例的问题,</p>
<p>百般调试无效,改用 org.apache.commons.collections.map.LRUMap 后问题解决.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/ooFrank/archive/2008/07/11/1318878.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>典型OO设计[1]</title>
		<link>http://blog.donews.com/ooFrank/archive/2008/06/09/1305584.aspx</link>
		<comments>http://blog.donews.com/ooFrank/archive/2008/06/09/1305584.aspx#comments</comments>
		<pubDate>Mon, 09 Jun 2008 04:21:00 +0000</pubDate>
		<dc:creator>ooFrank</dc:creator>
				<category><![CDATA[oo]]></category>

		<guid isPermaLink="false">http://blog.donews.com/ooFrank/archive/2008/06/09/1305584.aspx</guid>
		<description><![CDATA[最近忙的利害,也懒了,好久没有更新,写个小文补补课.<br /><br /><br />应对需求的变化才是OO方法最好的用武之地,如果没有需求的变化那么OO方法的优势就很难体现了,对于<br /><br />很多程序员使用C++,java,C#等等 很多支持OO方法的语言环境编程时都不能(貌似也不必)熟练地使用OO<br /><br />方法.所以我觉得有必要把一些更具体的场景写出来,说明典型的OO设计.<br />例如:使用Decorator而不是参数.<br />具体场景如下:<br />&#160;&#160;&#160; 已有一个接口,包含一个方法 execute(),由于需求变化,该接口的实现有些需要加入一种能力<br /><br />--需要异步执行,有两种典型的处理方法:<br />&#160;&#160;&#160; 1.将execute()加入一个参数:签名将被改为 execute(boolean asynchronous)<br /><span style="color: rgb(0, 128, 128);"><span class="Title">&#160;&#038;n]]></description>
			<content:encoded><![CDATA[<p>最近忙的利害,也懒了,好久没有更新,写个小文补补课.</p>
<p>应对需求的变化才是OO方法最好的用武之地,如果没有需求的变化那么OO方法的优势就很难体现了,对于</p>
<p>很多程序员使用C++,java,C#等等 很多支持OO方法的语言环境编程时都不能(貌似也不必)熟练地使用OO</p>
<p>方法.所以我觉得有必要把一些更具体的场景写出来,说明典型的OO设计.<br />例如:使用Decorator而不是参数.<br />具体场景如下:<br />&nbsp;&nbsp;&nbsp; 已有一个接口,包含一个方法 execute(),由于需求变化,该接口的实现有些需要加入一种能力</p>
<p>&#8211;需要异步执行,有两种典型的处理方法:<br />&nbsp;&nbsp;&nbsp; 1.将execute()加入一个参数:签名将被改为 execute(boolean asynchronous)<br /><span style="color: rgb(0, 128, 128);"><span class="Title">&nbsp;&nbsp;<font size="3"><span style="font-weight: bold;">&nbsp; 2.新写一个 AsynDecorator 的新接口实现,实现execute()方法的异步调用.</span></font></span></span><br />显然,第二中方法是典型的OO方法.</p>
<p>名称 Decorator <br />意图 动态地给一个对象添加一些额外的职责。就增加功能来说，D e c o r a t o r 模式相比生成子</p>
<p>类更为灵活。 <br />适用性 在不影响其他对象的情况下，以动态、透明的方式给单个对象添加职责。 <br />处理那些可以撤消的职责。 <br />当不能采用生成子类的方法进行扩充时。一种情况是，可能有大量独立的扩展，为支持每一种组合将产</p>
<p>生大量的子类，使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏，或类定义不能用于</p>
<p>生成子类。&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/ooFrank/archive/2008/06/09/1305584.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Informix tips</title>
		<link>http://blog.donews.com/ooFrank/archive/2008/03/07/1259785.aspx</link>
		<comments>http://blog.donews.com/ooFrank/archive/2008/03/07/1259785.aspx#comments</comments>
		<pubDate>Fri, 07 Mar 2008 08:28:00 +0000</pubDate>
		<dc:creator>ooFrank</dc:creator>
				<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://blog.donews.com/ooFrank/archive/2008/03/07/1259785.aspx</guid>
		<description><![CDATA[<h3><span lang="EN-US">Informix</span><span style="font-family: 宋体;">下的分页做法</span></h3>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &#34;Courier New&#34;; color: blue;">SELECT</span><span lang="EN-US" style="font-size: 10pt; font-family: &#34;Courier New&#34;; color: black;"><span style="">&#160; </span>SKIP 10 </span><span lang="EN-US" style="font-size: 10pt; font-family: &#34;Courier New&#34;; color: blue;">FIRST </]]></description>
			<content:encoded><![CDATA[<h3><span lang="EN-US">Informix</span><span style="font-family: 宋体;">下的分页做法</span></h3>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">SELECT</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"><span style="">&nbsp; </span>SKIP 10 </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">FIRST </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">10 *<span style="">&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">FROM</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"><span style="">&nbsp; </span>a1330_1 </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">WHERE</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"><span style="">&nbsp; </span>dbank_id = </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: red;">&#8216;651080000&#8242;</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"> </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">order</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"> </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">by</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"> row_num;<o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">SKIP n </span><span style="font-size: 10pt; font-family: 宋体; color: black;">：跳过</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">N<o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">FIRST n </span><span style="font-size: 10pt; font-family: 宋体; color: black;">：获取前</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">n</span><span style="font-size: 10pt; font-family: 宋体; color: black;">条记录</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">SKIP 10 </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">FIRST </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">10 :</span><span style="font-size: 10pt; font-family: 宋体; color: black;">跳过前</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">10</span><span style="font-size: 10pt; font-family: 宋体; color: black;">条获取接下来的</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">10</span><span style="font-size: 10pt; font-family: 宋体; color: black;">条</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"><o:p></o:p></span></p>
<h3><span lang="EN-US" style="">Informix</span><span style="font-family: 宋体;">子查询</span><span lang="EN-US" style=""><o:p></o:p></span></h3>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">SELECT</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"><span style="">&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">first</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"> 10 * </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;;"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">FROM</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"><span style="">&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">TABLE</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">(MULTISET</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;;"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">(</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">SELECT</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"><span style="">&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">FIRST</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"><span style="">&nbsp; </span>20 *<span style="">&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">FROM</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"><span style="">&nbsp; </span>a1330_1 </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;;"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">where</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"><span style="">&nbsp; </span>dbank_id = </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: red;">&#8216;651080000&#8242;</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"> </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">order</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"> </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">by</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"> row_num )) a</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;;"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">order</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"> </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">by</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;"> row_num </span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">desc<o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;"><o:p>&nbsp;</o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">TABLE</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">(MULTISET(</span><span style="font-size: 10pt; font-family: 宋体; color: blue;">&hellip;&hellip;</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">)) a : </span><span style="font-size: 10pt; font-family: 宋体; color: black;">创建视图，别名为</span><span lang="EN-US" style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: black;">a<o:p></o:p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/ooFrank/archive/2008/03/07/1259785.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>简化Spring iBatis配置</title>
		<link>http://blog.donews.com/ooFrank/archive/2008/01/09/1244743.aspx</link>
		<comments>http://blog.donews.com/ooFrank/archive/2008/01/09/1244743.aspx#comments</comments>
		<pubDate>Wed, 09 Jan 2008 07:26:00 +0000</pubDate>
		<dc:creator>ooFrank</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.donews.com/ooFrank/archive/2008/01/09/1244743.aspx</guid>
		<description><![CDATA[我同事的作品seraph115@gmail.com]]></description>
			<content:encoded><![CDATA[<p>使用<br />org.springframework.orm.ibatis.SqlMapClientFactoryBean<br />的配置文件类似这样:<br />&lt;sqlMapConfig&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;settings cacheModelsEnabled=&quot;true&quot; enhancementEnabled=&quot;true&quot;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lazyLoadingEnabled=&quot;true&quot; errorTracingEnabled=&quot;true&quot; maxRequests=&quot;32&quot;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; maxSessions=&quot;10&quot; maxTransactions=&quot;5&quot; useStatementNamespaces=&quot;true&quot; /&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;!&#8211;sqlMap resource=&quot;includes:mapping*.xml&quot; /&#8211;&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-table_meta.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-task.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-table_status.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-auth_menu_info.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-auth_user_group.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-auth_bank_group.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-auth_curr_group.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-auth_table_group.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-auth_oper_group.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-auth_menu_subject.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-auth_admin_subject.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-auth_user_menu.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-auth_user_data.xml&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;mapping-message_info.xml&quot; /&gt;</p>
<p>&lt;/sqlMapConfig&gt;</p>
<p><span style="color: rgb(51, 51, 153);">IncludesSqlMapClientFactoryBean: 通过重写 afterPropertiesSet() 实现了简化配置文件的目的.</span><br style="color: rgb(51, 51, 153);" /><span style="color: rgb(51, 51, 153);">现在的配置文件像这样:</span><br style="color: rgb(51, 51, 153);" /><span style="color: rgb(51, 51, 153);">&lt;sqlMapConfig&gt;</span><br style="color: rgb(51, 51, 153);" /><br style="color: rgb(51, 51, 153);" /><span style="color: rgb(51, 51, 153);">&nbsp;&nbsp;&nbsp; &lt;settings cacheModelsEnabled=&quot;true&quot; enhancementEnabled=&quot;true&quot;</span><br style="color: rgb(51, 51, 153);" /><span style="color: rgb(51, 51, 153);">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lazyLoadingEnabled=&quot;true&quot; errorTracingEnabled=&quot;true&quot; maxRequests=&quot;32&quot;</span><br style="color: rgb(51, 51, 153);" /><span style="color: rgb(51, 51, 153);">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; maxSessions=&quot;10&quot; maxTransactions=&quot;5&quot; useStatementNamespaces=&quot;true&quot; /&gt;</span><br style="color: rgb(51, 51, 153);" /><br style="color: rgb(51, 51, 153);" /><span style="color: rgb(51, 51, 153);">&nbsp;&nbsp;&nbsp; &lt;sqlMap resource=&quot;includes:mapping*.xml&quot; /&gt;</span><br style="color: rgb(51, 51, 153);" /><span style="color: rgb(51, 51, 153);">&lt;sqlMapConfig&gt;</span><br style="color: rgb(51, 51, 153);" /></p>
<p>import org.apache.log4j.Logger;</p>
<p>import java.io.ByteArrayInputStream;<br />import java.io.ByteArrayOutputStream;<br />import java.io.IOException;<br />import java.io.InputStream;<br />import java.io.StringWriter;<br />import java.io.UnsupportedEncodingException;<br />import java.util.Iterator;</p>
<p>import org.dom4j.Document;<br />import org.dom4j.DocumentException;<br />import org.dom4j.Element;<br />import org.dom4j.Node;<br />import org.dom4j.io.OutputFormat;<br />import org.dom4j.io.SAXReader;<br />import org.dom4j.io.XMLWriter;<br />import org.springframework.core.io.ByteArrayResource;<br />import org.springframework.core.io.Resource;<br />import org.springframework.core.io.ResourceLoader;<br />import org.springframework.core.io.support.PathMatchingResourcePatternResolver;<br />import org.springframework.core.io.support.ResourcePatternResolver;<br />import org.springframework.orm.ibatis.SqlMapClientFactoryBean;</p>
<p>import com.ibatis.sqlmap.engine.builder.xml.SqlMapClasspathEntityResolver;</p>
<p>public class IncludesSqlMapClientFactoryBean extends SqlMapClientFactoryBean {<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; /** Logger for this class */<br />&nbsp;&nbsp;&nbsp; private static final Logger log = Logger<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; .getLogger(IncludesSqlMapClientFactoryBean.class);<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; public static String INCLUDES_PREFIX = &quot;includes:&quot;;</p>
<p>&nbsp;&nbsp;&nbsp; private Resource configLocation;</p>
<p>&nbsp;&nbsp;&nbsp; public void setConfigLocation(Resource configLocation) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; super.setConfigLocation(configLocation);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.configLocation = configLocation;<br />&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void afterPropertiesSet() throws Exception {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Document source = buildDocument(configLocation.getInputStream());<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Document target = generateSqlMapConfig(source);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setConfigLocation(toResources(target));</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //System.out.println(format(out.toByteArray()));<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; super.afterPropertiesSet();<br />&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; private Resource toResources(Document target)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; throws UnsupportedEncodingException, IOException {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ByteArrayOutputStream out = new ByteArrayOutputStream();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; XMLWriter writer = new XMLWriter(out);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writer.write(target);</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Resource resource = new ByteArrayResource(out.toByteArray());<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return resource;<br />&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; private Document generateSqlMapConfig(Document source)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; throws IOException {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Document target = (Document) source.clone();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Element targetRoot = (Element) target.node(0);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; targetRoot.clearContent();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Element sourceRoot = (Element) source.node(0);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (Iterator iter = sourceRoot.nodeIterator(); iter.hasNext();) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Node node = (Node) iter.next();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(node.getNodeType() == Node.ELEMENT_NODE) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Element element = (Element) node;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(&quot;sqlMap&quot;.equals(element.getName())) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String resourcePath = element.attributeValue(&quot;resource&quot;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(resourcePath == null) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; continue;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(resourcePath.startsWith(INCLUDES_PREFIX)) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String pattern = ResourceLoader.CLASSPATH_URL_PREFIX + resourcePath.substring(INCLUDES_PREFIX.length());<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Resource[] resources = resolver.getResources(pattern);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; resources.length; i++) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Resource resource = resources[i];</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Element sqlmap = targetRoot.addElement(&quot;sqlMap&quot;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; log.info(&quot;&gt;&gt;&gt; iBatis includes sqlMap: &quot; + resource.getURL().toString());<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sqlmap.addAttribute(&quot;url&quot;, resource.getURL().toString());<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; continue;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; targetRoot.add((Node) node.clone());<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return target;<br />&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; private Document buildDocument(InputStream in) throws DocumentException, IOException {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; SAXReader reader = new SAXReader();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; reader.setEntityResolver(new SqlMapClasspathEntityResolver());<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return reader.read(in);<br />&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; protected String format(byte[] data) throws Exception {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Document document = buildDocument(new ByteArrayInputStream(data));<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; StringWriter formatWriter = new StringWriter();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; XMLWriter writer = new XMLWriter(formatWriter, new OutputFormat(&quot;&nbsp; &quot;, true));<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writer.write(document);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return formatWriter.toString();<br />&nbsp;&nbsp;&nbsp; }<br />}</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/ooFrank/archive/2008/01/09/1244743.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>informix-244  不能以物理行排序读取下一行 问题的解决</title>
		<link>http://blog.donews.com/ooFrank/archive/2008/01/08/1244333.aspx</link>
		<comments>http://blog.donews.com/ooFrank/archive/2008/01/08/1244333.aspx#comments</comments>
		<pubDate>Tue, 08 Jan 2008 07:41:00 +0000</pubDate>
		<dc:creator>ooFrank</dc:creator>
				<category><![CDATA[other]]></category>

		<guid isPermaLink="false">http://blog.donews.com/ooFrank/archive/2008/01/08/1244333.aspx</guid>
		<description><![CDATA[ 不能以物理行排序读取下一行 问题的解决]]></description>
			<content:encoded><![CDATA[<p>1、设置锁级别&#8212;-可选<br />&nbsp;&nbsp; alter table t_test lock mode (ROW)<br />2、重新建索引<br />&nbsp;&nbsp; 解决了U,D,S等语句的异常<br />3、改变锁的模式 <br />&nbsp;&nbsp; SET LOCK MODE TO&nbsp; NOT WAIT<br />&nbsp;&nbsp; 或<br />&nbsp;&nbsp; SETLOCK MODE&nbsp; TO WAIT 30<br />4、将事务隔离级别设为 TRANSACTION_READ_UNCOMMITTED</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/ooFrank/archive/2008/01/08/1244333.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java调用https下的WebService的代码实例</title>
		<link>http://blog.donews.com/ooFrank/archive/2008/01/02/1242535.aspx</link>
		<comments>http://blog.donews.com/ooFrank/archive/2008/01/02/1242535.aspx#comments</comments>
		<pubDate>Wed, 02 Jan 2008 05:02:00 +0000</pubDate>
		<dc:creator>ooFrank</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.donews.com/ooFrank/archive/2008/01/02/1242535.aspx</guid>
		<description><![CDATA[<p align="left" style="text-align: left;" class="MsoNormal"><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">import</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  org.apache.axis.client.Call;</span></font><font size="2" face="Courier New"><span lang="EN-US" style="]]></description>
			<content:encoded><![CDATA[<p align="left" style="text-align: left;" class="MsoNormal"><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">import</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  org.apache.axis.client.Call;</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">import</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  org.apache.axis.client.Service;</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">import</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  javax.xml.namespace.QName;</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">import</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  org.apache.axis.encoding.XMLType;</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">public</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  </span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">class</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';"> testsoap  {</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="#3f7f5f"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'Courier New';">//keytool  -import -keystore c:\\test.keystore -file world2_ca.cer </span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;  </span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">public</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  </span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">static</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  </span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">void</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';"> main(String[]  args) {</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;&nbsp;  </span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">try</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">{</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;&nbsp;  </span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;  <u>&nbsp;System.<em><span style="font-style: italic;">setProperty</span></em>(</u></span></font><u><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;javax.net.ssl.trustStore&quot;</span></font></u><u><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">,</span></font></u><u><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;</span></font></u><strong><u><font size="2" face="Courier New" color="red"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: red; font-family: 'Courier New';">c:\\test.keystore</span></font></u></strong><u><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;</span></font></u><u><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">);</span></font></u><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';"> //  </span></font><font size="2" face="宋体" color="black"><span style="font-size: 10pt; color: black; font-family: 宋体;">这个就是我们用</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">keytool</span></font><font size="2" face="宋体" color="black"><span style="font-size: 10pt; color: black; font-family: 宋体;">生成的</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">keystore</span></font><font size="2" face="宋体" color="black"><span style="font-size: 10pt; color: black; font-family: 宋体;">文件的路径</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp; String[]  ret=</span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">null</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">;</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp; mdencode  md=</span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">new</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  mdencode();</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp; Service  service = </span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">new</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  Service();</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp; Call call =  (Call) service.createCall();</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.setTargetEndpointAddress(</span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">new</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  java.net.URL(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;</span></font><strong><font size="2" face="Courier New" color="red"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: red; font-family: 'Courier New';">https</span></font></strong><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">://esales.world2.com.cn/services/UseCardManage&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">));</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.setProperty(Call.SEND_TYPE_ATTR, Boolean.</span></font><em><font size="2" face="Courier New" color="#0000c0"><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-style: italic; font-family: 'Courier New';">FALSE</span></font></em><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.setProperty(org.apache.axis.transport.http.HTTPConstants.HEADER_SOAP_ACTION,  </span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;NameSoap&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.addParameter(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;businessId&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">,  XMLType.SOAP_INT, javax.xml.rpc.ParameterMode.IN);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.addParameter(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;playerAccount&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">,  XMLType.SOAP_STRING, javax.xml.rpc.ParameterMode.IN);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.addParameter(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;cardType&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">,  XMLType.SOAP_INT, javax.xml.rpc.ParameterMode.IN);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.addParameter(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;number&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">,  XMLType.SOAP_INT, javax.xml.rpc.ParameterMode.IN);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.addParameter(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;zoneId&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">,  XMLType.SOAP_INT, javax.xml.rpc.ParameterMode.IN);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.addParameter(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;tranSeq&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">,  XMLType.SOAP_INT, javax.xml.rpc.ParameterMode.IN);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.addParameter(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;md5Info&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">,  XMLType.SOAP_STRING, javax.xml.rpc.ParameterMode.IN);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.addParameter(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;time&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">,  XMLType.SOAP_LONG, javax.xml.rpc.ParameterMode.IN);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.setOperationName(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;useCard&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_ARRAY);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp; String  md5info=md.testDigest(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;10008&amp;luanru&amp;1&amp;4&amp;2&amp;3&amp;1&amp;FKINSVBY137NKCV&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p>&nbsp;</o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp; ret =  (String[]) call.invoke(</span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">new</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  Object[]{</span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">new</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  Integer(10008),</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;luanru&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">,</span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">new</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  Integer(1),</span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">new</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  Integer(4),</span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">new</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  Integer(2),</span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">new</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  Integer(3),md5info,</span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">new</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">  Integer(1)});</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;  System.</span></font><em><font size="2" face="Courier New" color="#0000c0"><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-style: italic; font-family: 'Courier New';">out</span></font></em><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">.println(</span></font><font size="2" face="Courier New" color="#2a00ff"><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'Courier New';">&quot;&#8212;&#8212;&#8212;&#8212;-ret=&quot;</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">+ret[0]+ret[1]);</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p>&nbsp;</o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;&nbsp;  }</span></font><strong><font size="2" face="Courier New" color="#7f0055"><span lang="EN-US" style="font-weight: bold; font-size: 10pt; color: rgb(127, 0, 85); font-family: 'Courier New';">catch</span></font></strong><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">(Exception  e)</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;&nbsp; {&nbsp;  System.</span></font><em><font size="2" face="Courier New" color="#0000c0"><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-style: italic; font-family: 'Courier New';">err</span></font></em><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">.println(e.toString());</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p>&nbsp;</o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;&nbsp;&nbsp;  }</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p>&nbsp;</o:p></span></font></p>
<p align="left" style="text-align: left;" class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">&nbsp;  }</span></font><font size="2" face="Courier New"><span lang="EN-US" style="font-size: 10pt; font-family: 'Courier New';"><o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';">}</span></font></p>
<p></p>
<p class="MsoNormal">===========================================================================================</p>
<p class="MsoNormal"><font size="1" face="Arial" color="navy"><span lang="EN-US" style="font-size: 9pt; color: navy; font-family: Arial;">keytool -import  -keystore </span></font><strong><font size="1" face="Arial" color="blue"><span lang="EN-US" style="font-weight: bold; font-size: 9pt; color: blue; font-family: Arial;">c:\\test.keystore</span></font></strong><font size="1" face="Arial" color="navy"><span lang="EN-US" style="font-size: 9pt; color: navy; font-family: Arial;">  -file</span></font><font size="1" face="Arial" color="red"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: Arial;"> <strong><span style="font-weight: bold;">world2_ca.cer </span></strong>&nbsp;</span></font><font size="1" face="宋体"><span style="font-size: 9pt; font-family: 宋体;">（蓝字是我们要生成的</span></font><font size="1" face="Arial"><span lang="EN-US" style="font-size: 9pt; font-family: Arial;">keystore</span></font><font size="1" face="宋体"><span style="font-size: 9pt; font-family: 宋体;">文件的路径，红字部分是我们从浏览器导出的证书文件路径）</span></font><font size="2" face="Courier New" color="black"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'Courier New';"></span></font><font size="1" face="Arial" color="navy"><span lang="EN-US" style="font-size: 9pt; color: navy; font-family: Arial;"><o:p></o:p></span></font></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/ooFrank/archive/2008/01/02/1242535.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java精度问题在beanshell中的解决</title>
		<link>http://blog.donews.com/ooFrank/archive/2007/11/11/1227070.aspx</link>
		<comments>http://blog.donews.com/ooFrank/archive/2007/11/11/1227070.aspx#comments</comments>
		<pubDate>Sun, 11 Nov 2007 02:00:00 +0000</pubDate>
		<dc:creator>ooFrank</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.donews.com/ooFrank/archive/2007/11/11/1227070.aspx</guid>
		<description><![CDATA[,只要改写他的 bsn/Primitive.java 的  static Object doubleBinaryOperation(Double D1, Double D2, int kind) 代码即可! ]]></description>
			<content:encoded><![CDATA[<p>最近的项目是使用beashell作公式解释器,碰到java精度问题,郁闷, a+b==c, 两个double值a,b相加明明应该等于c,但beanshell就是返回fasle,在java中一试,也一样,如果自己写程序,还可以用BigDecimal解决但在beanshell包中,怎么解决呀,没办法看看源码吧.还好!beanshell的核心计算逻辑写的很清晰,只要改写他的 bsn/Primitive.java 的&nbsp; static Object doubleBinaryOperation(Double D1, Double D2, int kind) 代码即可! OK问题终于解决了.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/ooFrank/archive/2007/11/11/1227070.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>实践Spring schema/aop 时犯的一个错误</title>
		<link>http://blog.donews.com/ooFrank/archive/2007/09/07/1207392.aspx</link>
		<comments>http://blog.donews.com/ooFrank/archive/2007/09/07/1207392.aspx#comments</comments>
		<pubDate>Fri, 07 Sep 2007 03:20:00 +0000</pubDate>
		<dc:creator>ooFrank</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.donews.com/ooFrank/archive/2007/09/07/1207392.aspx</guid>
		<description><![CDATA[<br />发生的异常 ::0 formal unbound in pointcut <br />配置如下:<br />&#160;&#160;&#160; &#60;aop:config&#62;<br />&#160;&#160;&#160; &#160;&#160;&#160; &#60;aop:aspect ref=&#34;operationCounter&#34;&#62;<br />&#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#60;aop:pointcut id=&#34;systemManagerPointCut&#34;<br />&#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; expression=&#34;execution(* nt.facade.*.*(..))&#34; /&#62;<br />&#160;&#160;&#160; &#160;&#160;&#160; &#160;&]]></description>
			<content:encoded><![CDATA[<p>发生的异常 ::0 formal unbound in pointcut <br />配置如下:<br />&nbsp;&nbsp;&nbsp; &lt;aop:config&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;aop:aspect ref=&quot;operationCounter&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;aop:pointcut id=&quot;systemManagerPointCut&quot;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; expression=&quot;execution(* nt.facade.*.*(..))&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;aop:around method=&quot;count&quot;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pointcut-ref=&quot;systemManagerPointCut&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/aop:aspect&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/aop:config&gt;<br />&nbsp;&nbsp;&nbsp; &lt;bean id=&quot;operationCounter&quot;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; class=&quot;nt.facade.aspect.OperationCounter&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/bean&gt;</p>
<p>错误的原因是在配置&nbsp; advisor 时 使用的 method=&quot;count&quot;<br />&nbsp;&nbsp; public Object count(ProceedingJoinPoint call,int count)<br />&nbsp;与pointcut的被aop的方法<br />&nbsp;&nbsp;&nbsp; public Login login()<br />&nbsp; 签名不匹配,从而造成该问题</p>
<p>将count改为<br />&nbsp;&nbsp;&nbsp; public Object count(ProceedingJoinPoint call)<br />这个问题就解决了,都是Copy代码惹得祸!<br />&nbsp;&nbsp;&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/ooFrank/archive/2007/09/07/1207392.aspx/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

