<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>狂飙的蜗牛</title>
<link>http://blogger.org.cn/blog/blog.asp?name=liqiangxf</link>
<description>狂飙的蜗牛的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[学习蜡烛图]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=43270</link>
<author>liqiangxf</author>
<pubDate>2009/2/25 13:31:53</pubDate>
<description><![CDATA[<a>　<font color="Navy">蜡烛图或者称为K线图，是技术分析当中唯一没有滞后性的参照分析对象。<br>  <br>  均线啊，MACD、KDJ等等这些指标，由于所设置的参数的大小，平均或者加权等算法导致，都有一定相应程度的滞后性。<br>  <br>  平均线，比其他指标都简单，骗线更少，因为它就只是计算平均数。你用一根木棒去哄骗人总比用一块手表去哄骗人来的更困难。<br>  <br>  虽然均线已经很简单，接近技术分析的本质----价格，但一样有滞后性----因为平均才有平滑曲线。<br>  <br>
如何走到曲线的前面，蜡烛图可以做到，反映的是当下的价格，价格包容一切。入场时机是等来的，根据蜡烛图分析，可以更准确的知道市场中在发生什么和可能将
发生什么，帮助你走到其他指标所形成的入场信号前面，进一步讲，你比别人把握更早的时机，对行情的演变有一个大概的预判。<br>  <br>  蜡烛图的学习，建议根本不用去记什么形态的名称，明白形态所表达的意思才是重要的，名称只是写书人为了形象方便记忆，但那并不能帮助你如何去用，重要的是领会。比如乌云盖顶，就是高开阴包阳。<br>  <br>  想要学好蜡烛图，多问自己为什么，上影线下影线和实体的高低所形成的K线的力量绝对是不同的，各种不同力量的K线出现在上涨还是下跌中的意义也是不同的，相似似的形态结果走出了不同的结果，这才是我们要去分析的，更容易找到导致问题的原因的。<br>  <br>  最后还是要说，蜡烛图的学习，重意不重形态名称，可以少走弯路，领会意思更有助于把分析变成本能，名称为了交流方便。就好像，许多从未听说过“理性”这个词的人，却依然按照理性生活。</font></a>]]></description>
</item><item>
<title><![CDATA[2009-02-19(汇市报道)]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=43126</link>
<author>liqiangxf</author>
<pubDate>2009/2/19 13:33:55</pubDate>
<description><![CDATA[<a>　截止发贴时，eur/usd 1.2579,离我的目标还相当远啊!<br><br>&nbsp; 试着估计一下，今天eur/usd开盘1.2576,早间盘的走势不错，预计今天17点，应该有希望冲至1.2600-1.2640之间，可惜，离我的价位1.3100还差好远噢!!<br><br>&nbsp; 有人一起作外汇的吗，大家来预测一下啊!<br></a>]]></description>
</item><item>
<title><![CDATA[2009-2-18]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=43113</link>
<author>liqiangxf</author>
<pubDate>2009/2/18 19:19:09</pubDate>
<description><![CDATA[<a>推荐：<br>　1.2720-1.2750卖欧元,1.2880止损,看1.2500;&nbsp; <br><br>记录下自己学习的过程!<br><br><br><br></a>]]></description>
</item><item>
<title><![CDATA[正式进入汇市]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=43112</link>
<author>liqiangxf</author>
<pubDate>2009/2/18 19:17:53</pubDate>
<description><![CDATA[<a>　正式宣布，从今天开始，正式进入汇市了，吼吼!!!!</a>]]></description>
</item><item>
<title><![CDATA[jsp上传图片]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=16199</link>
<author>liqiangxf</author>
<pubDate>2006/7/3 10:17:37</pubDate>
<description><![CDATA[<p>&lt;%@ page contentType="text/html;charset=gb2312" language="java"
import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,<br>java.sql.*,com.jspsmart.upload.*,java.util.*"%&gt;<br>&lt;%<br>SmartUpload mySmartUpload =new SmartUpload();<br>long file_size_max=4000000;<br>String fileName2="",ext="",testvar="";<br>String url="uploadfile/images/";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //应保证在根目录中有此目录的存在<br>//初始化<br>mySmartUpload.initialize(pageContext);<br>//只允许上载此类文件<br>try {<br>&nbsp;mySmartUpload.setAllowedFilesList("jpg,gif");<br>//上载文件 <br>&nbsp;mySmartUpload.upload();<br>} catch (Exception e){<br>%&gt;<br>&nbsp; &lt;SCRIPT language=javascript&gt;<br>&nbsp; alert("只允许上传.jpg和.gif类型图片文件");<br>&nbsp; window.location='upload.html';<br>&nbsp; &lt;/script&gt;<br>&lt;%<br>}<br>try{</p>
<p>&nbsp;&nbsp;&nbsp; com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);<br>&nbsp;&nbsp;&nbsp; if (myFile.isMissing()){%&gt;<br>&nbsp;&nbsp; &lt;SCRIPT language=javascript&gt;<br>&nbsp;&nbsp; alert("请先选择要上传的文件");<br>&nbsp;&nbsp; window.location='upload.html';<br>&nbsp;&nbsp; &lt;/script&gt;<br>&nbsp;&nbsp;&nbsp; &lt;%}<br>&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //String myFileName=myFile.getFileName(); //取得上载的文件的文件名<br>&nbsp;&nbsp; ext= myFile.getFileExt();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //取得后缀名<br>&nbsp;&nbsp; int file_size=myFile.getSize();&nbsp;&nbsp;&nbsp;&nbsp; //取得文件的大小&nbsp; <br>&nbsp;&nbsp; String saveurl="";<br>&nbsp;&nbsp; if(file_size&lt;file_size_max){<br>&nbsp;&nbsp;&nbsp; //更改文件名，取得当前上传时间的毫秒数值<br>&nbsp;&nbsp;&nbsp; Calendar calendar = Calendar.getInstance();<br>&nbsp;&nbsp;&nbsp; String filename = String.valueOf(calendar.getTimeInMillis()); <br>&nbsp;&nbsp;&nbsp; saveurl=request.getRealPath("/")+url;<br>&nbsp;&nbsp;&nbsp; saveurl+=filename+"."+ext;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //保存路径<br>&nbsp;&nbsp;&nbsp; myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);<br>&nbsp;&nbsp;&nbsp; //out.print(filename);<br>//-----------------------上传完成，开始生成缩略图-------------------------&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; java.io.File file = new java.io.File(saveurl);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //读入刚才上传的文件<br>&nbsp;&nbsp;&nbsp; String newurl=request.getRealPath("/")+url+filename+"_min."+ext;&nbsp; //新的缩略图保存地址<br>&nbsp;&nbsp;&nbsp; Image src = javax.imageio.ImageIO.read(file);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //构造Image对象<br>&nbsp;&nbsp;&nbsp; float tagsize=200;<br>&nbsp;&nbsp;&nbsp; int old_w=src.getWidth(null);&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //得到源图宽<br>&nbsp;&nbsp;&nbsp; int old_h=src.getHeight(null);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; int new_w=0;<br>&nbsp;&nbsp;&nbsp; int new_h=0;&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;&nbsp;&nbsp; //得到源图长<br>&nbsp;&nbsp;&nbsp; int tempsize;<br>&nbsp;&nbsp;&nbsp; float tempdouble; <br>&nbsp;&nbsp;&nbsp; if(old_w&gt;old_h){<br>&nbsp;&nbsp;&nbsp;&nbsp; tempdouble=old_w/tagsize;<br>&nbsp;&nbsp;&nbsp; }else{<br>&nbsp;&nbsp;&nbsp;&nbsp; tempdouble=old_h/tagsize;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; new_w=Math.round(old_w/tempdouble);<br>&nbsp;&nbsp;&nbsp; new_h=Math.round(old_h/tempdouble);//计算新图长宽<br>&nbsp;&nbsp;&nbsp; BufferedImage tag = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);<br>&nbsp;&nbsp;&nbsp; tag.getGraphics().drawImage(src,0,0,new_w,new_h,null);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //绘制缩小后的图<br>&nbsp;&nbsp;&nbsp; FileOutputStream newimage=new FileOutputStream(newurl);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //输出到文件流<br>&nbsp;&nbsp;&nbsp; JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; encoder.encode(tag);&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //近JPEG编码<br>&nbsp;&nbsp;&nbsp;&nbsp; newimage.close();&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp; }<br>&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp; out.print("&lt;SCRIPT language=\'javascript\'&gt;");<br>&nbsp;&nbsp;&nbsp; out.print("alert('上传文件大小不能超过"+(file_size_max/1000)+"K');");<br>&nbsp;&nbsp;&nbsp; out.print("window.location=\'upload.html;\'");<br>&nbsp;&nbsp;&nbsp; out.print("&lt;/SCRIPT&gt;");<br>&nbsp;&nbsp; }<br>&nbsp; }<br>}catch (Exception e){</p>
<p>e.toString();</p>
<p>}<br>%&gt; <br>以上就是上传及生成缩略图的代码了，可以再加一个选择上传文件的页面：</p>
<p>&lt;html&gt;<br>&lt;head&gt;<br>&lt;title&gt;请选择上传的图片&lt;/title&gt;<br>&lt;/head&gt; <br>&lt;body&gt;<br>&lt;table border="0" align="center" cellpadding="0" cellspacing="0"&gt;<br>&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;
&lt;td height="45" align="center" valign="middle"&gt;&lt;form
action="uploadimage.jsp" method="post" enctype="multipart/form-data"
name="form1"&gt;<br>请选择上传的图片<br>&nbsp;&nbsp;&nbsp; &lt;input type="file" name="file"&gt;<br>&lt;input type="submit" name="Submit" value="上传"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/form&gt;&lt;/td&gt;<br>&nbsp; &lt;/tr&gt;<br>&lt;/table&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</p>
<p>这样就OK了。</p>
当然，前提是你已经下载了smartupload包，并且已经放在了正确的位置。]]></description>
</item><item>
<title><![CDATA[一个MM搞笑的Google搜索记录]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=16022</link>
<author>liqiangxf</author>
<pubDate>2006/6/29 18:12:50</pubDate>
<description><![CDATA[<a>　<span style="font-size: 12px;">如今的女生，无论是学化工的还是学哲学的，都要配台笔记本电脑，以示跟上时代。但是我有些疑惑，很多女生连WORD都不会用，她们的电脑到底用来干吗呢？前两天，因为帮MM扛箱子，我有幸潜入传说中的女生宿舍。MM很得意地请我参观她的电脑，我这才略知一二。 <br>
<br>
　　我打开IE浏览器上网，首页是Google。我发现MM的电脑有历史记录，点击搜索栏，以前搜索过的内容便列了出来，出于好奇，我仔细看了一下，原来是这样： <br>
<br>
　　1.114(噢，想查电话号码。) <br>
<br>
　　2.114＋电话号码(傻呀，问题＝答案？) <br>
<br>
　　3.13××＋王仁甫＋很讨厌(很讨厌搜他干嘛？) <br>
<br>
　　4.MP3(想买啊！) <br>
<br>
　　5.奖品＋MP3(看来是想弄个免费的！) <br>
<br>
　　6.LV(这是什么东东？) <br>
<br>
　　7.LV包包(原来是个时装品牌！) <br>
<br>
　　8.LV包包＋仿冒(看来是钱不够啊！) <br>
<br>
　　9.LV包包＋仿冒＋分期(哇噻，分期付款才能搞定，别买不就得了！) <br>
<br>
　　10.S.H.E的大姐(你是想找Ella对吧？) <br>
<br>
　　11.S.H.E的E(她叫Ella！) <br>
<br>
　　12.小猫小小猫的头饰(这是什么？给小猫买的还是给自己买？) <br>
<br>
　　13.赵薇与林心如不和(真够八卦的！) <br>
<br>
　　14.心理测验(看来女孩都喜欢这个。) <br>
<br>
　　15.心理测验＋速配指数(看来MM还是单身，呵呵，我还有机会！) <br>
<br>
　　16.心理测验＋速配指数＋变心(这个……没速配先想着变心。) <br>
<br>
　　17.减肥秘方(看来MM还有自知之明！) <br>
<br>
　　18.减肥秘方＋无须运动(这个我试过，骗人的！) <br>
<br>
　　19.削铅笔机(那玩意儿叫转笔刀！) <br>
<br>
　　20.削铅笔机＋可折叠＋多功能(想拿来做什么……等等……该不是想找瑞士军刀吧！) <br>
<br>
　　21.××银行(存款还是取款？) <br>
<br>
　　22.××银行＋金库(怎么对这个感兴趣？) <br>
<br>
　　23.××银行＋金库＋平面图(到底想干吗？……不会是想抢银行吧！) <br>
<br>
　　24.折嫁券(什么条件？) <br>
<br>
　　25.折价券(这次总算打对了。) <br>
<br>
　　26.折价券＋很便宜(太贪心了吧！) <br>
<br>
　　27.折价券＋很便宜＋会后悔(是找不到后悔吧！) <br>
<br>
　　28.计算机系王子(谁呀，是我吗？) <br>
<br>
　　29.我觉得＋好帅啊(想看帅哥？) <br>
<br>
　　30.小猫(热爱小动物。) <br>
<br>
　　31.小猫＋领养(好有爱心啊！) <br>
<br>
　　32.小猫＋领养＋很乖＋短毛＋黑色的不要(还真挑剔呀！) <br>
<br>
　　33.抛弃过去(为什么？) <br>
<br>
　　34.抛弃过去面对崭新人生(到底怎么了？遇到什么事了？) <br>
<br>
　　35.系统供应商(是不是电脑出现“发生错误即将关闭，请与系统供应商联系”？) <br>
<br>
　　36.春上村树(拜托，是村上春树！) <br>
<br>
　　37.抽奖名单＋黄××(MM名字)(想碰碰运气？) <br>
<br>
　　38.送全年时尚杂志一份(哼，天下没有白吃的午餐！) <br>
<br>
　　39.首都机场＋列车时刻表(晕……到机场赶火车？) <br>
<br>
　　40.××游戏＋网站＋下载(女生也玩网络游戏？) <br>
<br>
　　41.土耳其鸡肉卷(那叫墨西哥鸡肉卷！) <br>
<br>
　　42.翻译年糕(恐怕买不到这种东西吧！) <br>
<br>
　　43.樱桃大丸子(这个……是想买樱桃小丸子大人版，还是……想找一种吃的丸子？) <br>
<br>
　　44.珍珠＋翡翠＋钻石＋变漂亮(代价太大了吧！)</span>
<br><br><script type="text/javascript"><!--
google_ad_client = "pub-0497309828986323";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="1687106770";
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><iframe name="google_ads_frame" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-0497309828986323&amp;dt=1151575591421&amp;lmt=1151575582&amp;format=728x90_as&amp;output=html&amp;channel=1687106770&amp;url=http%3A%2F%2Fwww.panjinlian.net%2Fviewthread.php%3Ftid%3D5959%26extra%3Dpage%253D4&amp;ad_type=text&amp;ref=http%3A%2F%2Fwww.panjinlian.net%2Fforumdisplay.php%3Ffid%3D10%26page%3D4&amp;cc=33&amp;u_h=768&amp;u_w=1024&amp;u_ah=740&amp;u_aw=1024&amp;u_cd=16&amp;u_tz=480&amp;u_his=1&amp;u_java=true&amp;u_nplug=23&amp;u_nmime=103" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" height="90" scrolling="no" width="728"></iframe></a>]]></description>
</item><item>
<title><![CDATA[两头猪的精典对白]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=16021</link>
<author>liqiangxf</author>
<pubDate>2006/6/29 17:20:44</pubDate>
<description><![CDATA[<font size="4"><a>　<span style="font-size: 12px;">猪甲：大妹子，吃了没？ <br>
　　猪乙：吃了，大哥吃了没？ <br>
　　猪甲：吃了。 <br>
　　猪乙：吃的啥？ <br>
　　猪甲：咳，还能有啥，饲料呗。你们家吃的啥？ <br>
　　猪乙：（不屑地）：哇赛！这都什么年月了，还吃饲料哇？今天我去吃的日本料理，那叫一个爽。 <br>
　　猪甲：我听主人说现在都抵制日货呢，你咋还去吃日本鬼子的东西？ <br>
　　猪乙：抵制日货？哼，日货就是比国货好，你怎么抵制？再说了，抵制日货会给我们国家造成多少经济损失你知道么？只有那些游手好闲、就知道发牢骚的愤青采取抵制日货呢！我是没机会出国，我要是能出国，铁定嫁一日本人。 <br>
　　猪甲：可是你是头猪啊，要嫁也是嫁给日本猪，怎么能嫁给日本人？ <br>
　　猪乙：有区别吗？ <br>
　　猪甲：区别……不大。不过我说大妹子，你都吃上日本料理了，生活条件挺不错嘛。 <br>
　　猪乙：那是，做猪就要学会享受。 <br>
　　猪甲：那么，你这么阔了，欠我的那点钱…… <br>
　　猪乙：啊哟哟，你着什么急吗，我又没说不给你。啊哟哟，（气愤地）真是愈是有钱，愈是一刻不肯放松；愈是一刻不肯放松，便愈是有钱。 <br>
　　猪甲：可是你又不是没钱，为什么不能还我呀？ <br>
　　猪乙：我问你，今天几号？ <br>
　　猪甲：31号呀――今天几号跟你还我钱有什么关系？ <br>
　　猪乙：当然有关系，你没听说我是月光族么？ <br>
　　猪甲：月光族？挺有诗意的，什么意思？ <br>
　　猪乙：就是每到月底就把钱花光。 <br>
　　猪甲：那日光族就是发下工资来当天就花光？ <br>
　　猪乙：真聪明，学习能力挺强嘛！我妹妹就是日光族。 <br>
　　猪甲：瞧你们姐俩这点出息！ <br>
　　猪乙：你懂什么？这叫新新人类！土老冒！ <br>
　　猪甲：我土老冒？我TM再土也不会赖帐！ <br>
　　猪乙：谁赖账了？我要是有钱能不还你吗？我现在还是个大学生哩，根本没有经济来源。 <br>
　　猪甲：你别当我不知道，你大二的时候就让一个老板给包了！ <br>
　　猪乙：这是个人隐私，你管得着么？ <br>
　　猪甲：我才不管你那些个破事呢，一句话，你到底还是不还？ <br>
　　猪乙：你要是这么说，我还就真不还了，怎么的？你还想动粗拱我不成？ <br>
　　猪甲：好公猪不跟母猪斗！再说我们怎么也是个老师，岂能像你一样没教养？ <br>
　　猪乙：老师？哼哼，你也配当老师？自己编本破书强迫学生买的是你吧？劝成绩差的学生退学提高升学率的是你吧？体罚学生把学生那出毛病来的也是你吧？你也佩！ <br>
　　猪甲（气急败坏地）：那也比你这只臊猪强！ <br>
　　猪乙：我怎么了，我也是堂堂正正考上大学的！ <br>
　　猪甲（冷笑）：考上的？你们北京的猪考大学，分数线比别的省份低一百多分，我老家的瘟猪到了你们那儿也能考上！ <br>
　　猪乙：你是吃不着葡萄说葡萄酸吧？谁说我学习不好？我正准备考研呢！ <br>
　　猪甲：就你？考研？考什么研？ <br>
　　猪乙：考中国古代文学。 <br>
　　猪甲：你知道秦观、黄庭坚、张耒、晁补之合称什么吗？ <br>
　　猪乙：这个……大概其F4吧。 <br>
　　猪甲：连这都不知道！告诉你记住了，他们号称“苏门四学士”，他们的老师苏东坡曾经写过“黄州好猪肉，价钱如泥土”，大肆贬低我们猪的价值，是我们猪的不共戴天的仇敌，你居然连这也不知道！还想考古代文学的研究生？ <br>
　　猪乙：这有什么要紧？现在考研考的就是外语，小姐我学的是日语专业，沾大了光了，全国的名校想TNND考哪儿就TNND考哪儿。 <br>
　　猪甲：就你这样的，读个博士也是猪渣！ <br>
　　猪乙：我猪渣！你不知道我现在人气多高！ <br>
　　猪甲：我知道，你不就是参加超级女生出了点小名吗？ <br>
　　猪乙：我出的名还真不怎么大。（附耳低语）你知道么，网上现在流传的“牡丹姐姐”的“N”型照片，都是我妹妹的。 <br>
　　猪甲：你妹妹？你妹妹不是傍上大款了么？ <br>
　　猪乙：什么大款呀，一个踢球的。 <br>
　　猪甲：好像是国家队的主力前拱吧。 <br>
　　猪乙：咳，老长时间不进球了。 <br>
　　猪甲：臭，真TM臭。 <br>
　　猪乙：也不能都怨我妹夫，队里有人踢黑球呢――对了，你二姨夫不是个裁判么，整个一黑哨！ <br>
　　猪甲：你别说我，你爸爸就是足协的头！还有，你妹夫嫖妓被公安局抓住了，别当我不知道。 <br>
　　猪乙：那我妹妹也不离开他。 <br>
　　猪甲：为什么？ <br>
　　猪乙：我妹妹是混娱乐圈的，多造点绯闻有利于发展。 <br>
　　猪甲：你妹妹上一个男朋友是唱歌的吧？ <br>
　　猪乙：对，就是唱“哼哼哈兮”的那个。 <br>
　　猪甲：那也叫歌么？ <br>
　　猪乙：你懂什么，人们听正经音乐听腻了，现在我们猪的朦胧吐字法最时髦。音乐好坏不要紧，唱片公司赚的是钱！ <br>
　　猪甲：钱？对了，你还欠我钱呢！ <br>
　　猪乙：又来了！ <br>
　　猪甲：你不能不还！ <br>
　　猪乙：（火冒三丈）你真无聊！ <br>
　　猪甲：（火冒四丈）你真无耻！ <br>
　　猪乙：（火冒五丈）你是个败类！ <br>
　　猪甲：（火冒六丈）你是个娼猪！ <br>
　　猪乙：（火冒七丈）你十恶不赦！ <br>
　　猪甲：（火冒八丈）你遗臭万年！ <br>
　　猪乙：（火冒九丈）你TM简直就是个人！ <br>
　　猪甲（爆炸）：你TM简直就是个日本人</span>
</a></font>]]></description>
</item><item>
<title><![CDATA[一个未婚男人的自述]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15969</link>
<author>liqiangxf</author>
<pubDate>2006/6/28 17:37:00</pubDate>
<description><![CDATA[<a>　<span class="tpc_content">汽车渴望公路， 
<br>　　花草渴望雨露， 
<br>　　太监迫切渴望著雄性激素。 
<br>　　灵魂渴望超度， 
<br>　　心灵渴望归宿， 
<br>　　而我则迫切渴望著有个媳妇。 
<br>　　众里寻她千百度， 
<br>　　踏平脚下路。 
<br>　　蓦然回首细环顾， 
<br>　　大婶大娘无数。 
<br>　　偶有美女光顾， 
<br>　　还是有夫之妇， 
<br>　　余下大多数， 
<br>　　基本不堪入目。 
<br>　　时间犹如脱兔， 
<br>　　匆匆不肯停步。 
<br>　　转眼就把我拖到了该当爹妈的岁数。 
<br>　　然而上天却挺可恶， 
<br>　　对我不管不顾。 
<br>　　把我培养的庸庸碌碌， 
<br>　　难以获得少女的爱慕。 
<br>　　我曾向月老求助， 
<br>　　求他将我单身的生涯结束。 
<br>　　而他给予我的眷顾， 
<br>　　竟是接踵而至的恶女和怨妇。 
<br>　　比起她们的飞扬跋扈， 
<br>　　以及对我精神上的无情屠戮， 
<br>　　我更愿意选择让步， 
<br>　　甘心走向黄泉之路。 
<br>　　无助，无助。 
<br>　　其实我并非一无是处。 
<br>　　我有很多的优点可以列举和陈述。 
<br>　　但我不知道是什么缘故， 
<br>　　我竟无法得到过别人的敬仰和拥护 
<br>　　我的爱心彰明较著， 
<br>　　最最热心于公益捐助。 
<br>　　为了祖国福利和体育事业的长足进步，、 
<br>　　我不知疲倦的奔波于体彩和福彩中心投注； 
<br>　　为了向世人体现优越的社会主义制度， 
<br>　　以及在党和国家的领导下我们小康的程度， 
<br>　　我毅然决然的增加了喝酒的次数， 
<br>　　终于练出了代表富足的啤酒肚； 
<br>　　我还坚持为人民服务，用我最大的热情为别人提供帮助。 
<br>　　为了让我这片心意落到实处， 
<br>　　我硬是把不愿过去的大娘也搀过了马路…… 
<br>　　而我得到的赞扬却远远少于挨骂的次数。 
<br>　　我不明白我的努力换来的为何只是别人的不屑一顾甚至是愤怒。 
<br>　　是因为我过人的天赋， 
<br>　　让他们相形见绌， 
<br>　　还是我高尚的品格和气度， 
<br>　　让他们产生了深深的嫉妒？ 
<br>　　我的优秀并没有让我自负， 
<br>　　更没有因为自己的伟大而恃才傲物。 
<br>　　本以为这样才能有女孩对我暗生情素， 
<br>　　谁知我等到现在也还没有一点迹象和眉目。 
<br>　　其实要把女人比做猎物， 
<br>　　我则是一个迷茫的猎户。 
<br>　　因为我实在是不懂狩猎的技术。 
<br>　　该跟著群雄逐鹿， 
<br>　　还是该继续著守株待兔， 
<br>　　思考了很久也没有整理出一条清晰的思路。 
<br>　　也许这便也成了我的桎梏， 
<br>　　成了我无法得到爱情的又一大因素。 
<br>　　或许曾经的某次时机被我奢侈的贻误， 
<br>　　就造成了现在的万劫不复。 
<br>　　咱们这个国度， 
<br>　　人口资源丰富。 
<br>　　但为何娶不到老婆的男人还是不计其数？ 
<br>　　是因为封建思想的束缚， 
<br>　　打乱了男女的比例和数目， 
<br>　　还是因为社会的退步， 
<br>　　又重新开始了一夫多妻的制度？ 
<br>　　有时想想也他妈愤怒， 
<br>　　你说凭啥大款就可以包养了Ｎ个情妇？ 
<br>　　难道只为著权利和财富， 
<br>　　就可以不受道德的约束， 
<br>　　并置我们光棍于不顾， 
<br>　　抢占著资源无数？ 
<br>　　怪也怪女人们过于世故， 
<br>　　对金钱和地位的趋之若鹜。 
<br>　　只知道花园洋房和别墅， 
<br>　　早把真情的概念颠覆。 
<br>　　冲动时我真恨不得变成动物， 
<br>　　哪怕只是头卖力的牲畜。 
<br>　　听凭主人的吩咐， 
<br>　　不用感受做人的无助。 
<br>　　或者干脆来个移花接木， 
<br>　　彻底的做个变性手术。 
<br>　　跑到人群中滥竽充数， 
<br>　　也好让同胞们多一条可以选择的出路。 
<br>　　街上的婚介星罗棋布。 
<br>　　我也曾幻想著他们能帮我打开销路。 
<br>　　然而最终的结果是让我明白了什么叫认贼作父， 
<br>　　并被婚托儿们榨干了我几年的收入。 
<br>　　吃不著猪蹄儿能看看猪跑也算对我心灵创伤的平复。 
<br>　　所以能看到美女的繁华地段成了我最爱的去处。 
<br>　　每当看著她们迈著款款的猫步， 
<br>　　在我的视线里出出入入， 
<br>　　我总是能感受到久违了的心跳并顺便痛心一下她们的已为人妇。 
<br>　　现实的打击让我鸡肠小肚。 
<br>　　我最看不惯情侣们当众亲密过度。 
<br>　　只要看到有人稍越雷池半步， 
<br>　　我就会上前阻止并提醒他们病出口入。 
<br>　　结果自然不必赘述， 
<br>　　我经常会体验到肢体语言的丰富。 
<br>　　尽管如此我也并没有减少对此事的关注， 
<br>　　反而更觉得有必要加大宣传的攻势和力度。 
<br>　　没有爱的倾注， 
<br>　　我如涸辙之鲋。 
<br>　　这样的生活确实很难让我安之若素。 
<br>　　看著朋友们已为人父， 
<br>　　小生活过的美满和睦， 
<br>　　我又何尝不是深深的羡慕， 
<br>　　并渴望著感情上的脱贫致富？ 
<br>　　都说男儿有泪不扑簌， 
<br>　　但那绝对是未到伤心处。 
<br>　　有谁知道泪水已经多少次模糊了我心灵的窗户？ 
<br>　　况且咱都是沧海一粟， 
<br>　　凭啥我就不能在爱情的海岸登陆？ 
<br>　　只能一口一口的吃著干醋， 
<br>　　被动的尽著晚婚晚育的义务！ 
<br>　　人生本来就短促，我又怎能就这样默默的虚度？ 
<br>　　为了尽快给自己找一个归宿， 
<br>　　我决心不择手段的全力以赴。 
<br>　　错误，错误。 
<br>　　这种想法最终成了我难逃的劫数。 
<br>　　没想到我一时的慌不择路， 
<br>　　竟上演了那样惨绝人寰的一幕。 
<br>　　那是我走投无路， 
<br>　　勾引了有夫之妇。 
<br>　　谁知道罪行败露， 
<br>　　被人家当场抓住。 
<br>　　只后悔不会武术， 
<br>　　没能够杀出血路。 
<br>　　无奈的任人摆布， 
<br>　　惨遭了打击报复。 
<br>　　他们恼羞成怒， 
<br>　　打得义无反顾。 
<br>　　片刀循环往复， 
<br>　　板砖频频招呼。 
<br>　　我浑身血流如注， 
<br>　　俩腿还不住抽搐。 
<br>　　走错那罪恶一步， 
<br>　　差点就死不瞑目。 
<br>　　恐怖，恐怖。、 
<br>　　真庆幸我还能把命保住。 
<br>　　那场我自导自演的前车之覆， 
<br>　　带给了我贼深贼深的感触。 
<br>　　往事历历在目， 
<br>　　我此刻一一追溯。 
<br>　　经历了苦痛挣扎后的觉悟， 
<br>　　终于上升到了前所未有的高度。 
<br>　　问世间情为何物， 
<br>　　我算是大彻大悟。 
<br>　　感情上的事儿看来还真不能过于盲目。 
<br>　　是你的挡不住， 
<br>　　不是你的留也留不住。 
<br>　　别人的老婆就是再好也不能轻易接触。 
<br>　　有道是皮之不存毛将焉附， 
<br>　　我要是ＯＶＥＲ了还上哪儿去找我的贤内助？ 
<br>　　更何况人生短促， 
<br>　　还有很多东西值得我们珍惜和呵护。 
<br>　　爱情的光环固然眩目， 
<br>　　也毕竟不是生命的全部。 
<br>　　岁月的痕痕无孔不入。 
<br>　　无有爱情的皮囊苍老的更加迅速。 
<br>　　看著我那用蒸汽熨斗都已无法熨平的面部， 
<br>　　真不知还有谁肯向我将她的终身托付。 
<br>　　等待著等待到行将就木， 
<br>　　持续著持续到人生落幕。 
<br>　　盼望吧盼望著解决光棍待遇的法规早日颁布， 
<br>　　但愿啊但愿我首先踏入的能够是婚姻的坟墓</span></a>]]></description>
</item><item>
<title><![CDATA[寂寞而高贵的武士-----野蛮人（一）]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15908</link>
<author>liqiangxf</author>
<pubDate>2006/6/27 15:26:27</pubDate>
<description><![CDATA[<a>　<span class="tpc_content">当野蛮人和那个外来者来到法拉家门口的时候，法拉已经换好了衣服，正斜靠在锻炉前悠闲的喝着茶，我
不知道她为什么喜欢那种微苦微涩的味道，可能是喜欢那种很好闻的香气，在这里很多人喝茶，但都加了很多东西，有的加糖，有的加牛奶。法拉是除了一点干的花
瓣，什么都不加，她给我尝过一口，我受不了吐了出来，但喝后，嘴里都有一种很微清微苦的味道，很舒服。 <br>我喜欢法拉和我说话时，她嘴里的淡淡的味道。 
<br>看到陌生人，法拉只是微微的举了一下杯子致意了一下。另一只手环抱着胸前，继续啜饮着茶。我知道法拉不喜欢这个外来者。 
<br>“德鲁依？”法拉微侧着头淡淡问道。 
<br>“是，女士。”德鲁依很有礼貌的放下手里的袋子。他黎黑的脸一直在很开朗的微笑，露出很白的牙齿。他的眼睛很亮，盯人久了，被盯的人会有一种不太自然的感觉。 
<br>“哪里来的？”法拉也被盯的不太自在，她换了个姿势。开始正视德鲁依。 
<br>“北方，你可能没听说过，育空河的卡鲁尔部族。” 
<br>“我知道，”法拉冷冷说道，“我的母亲有四分之一的卡鲁尔血统，你们崇拜狼，海鹰和棕熊。。还想知道什么？” 
<br>德鲁依楞了一下，然后开始开心的笑了。“没想到在这里还可以看到，狼族的子孙，我叫白牙，你母亲好吗？” 
<br>“15年前就死了。”法拉声音有点黯然。“不说了。”然后转身进了屋子。 
<br>野蛮人有点奇怪的看看他俩。 
<br>“怎么了？大熊”白牙笑道，当胸给了野蛮人一拳，“不会吃醋了吧？眼光不错，很有味道的女人。” 
<br>“我觉的好象你们更适合一点。”野蛮人看了一下狐疑的白牙，笑了笑。 
<br>“你们聊起来好象话更多一些。” 
<br>“TMD不许反悔，。。”白牙笑道。“我就不知道你哪点比我强，到处。。。。。”<br></span><span class="tpc_content">这是个很古怪的地方，在城外的荒原上，有吃人的野兽和莫名其妙的攻击人的秃鹫。在地道里，散发着腐尸气息。在那里的恐怖声响不是人能发出来的在王宫里，莫名的恐怖使宫女常在夜里发出歇斯底里的惊叫。但门口的警卫却一直装的若无其事的样子。 
<br>来这个嘈杂而混乱的地方的人不多，我记的最多有七个人来过这里。有一个白头发的张着一张死人脸高个男人来过。还有一个拿弓箭女人来过这个地方，身
材不错，但是凶巴巴的。有一个小贩多看了她一眼就差点被她打断肋骨。还有两个女人，面目都记不太清了。但一个拿着一根棍子，她好象也很漂亮，但很和气，不
过她身上有一种让人害怕的气息。另一个从进来后就没说过话。有人说她是从东方来的。安拉保佑，但他们仿佛都没有一丁点爱心。当他们路过我的时候，连一个小
钱都不给我。 <br>对不起，忘记介绍我自己了。我是一个小乞丐。就躺在丢了丈夫的那个风骚女人的店口。不远是全镇最漂亮的女铁匠法拉。有空她常给我抛锤子给我看。我也常用她的炉火烤烤土豆什么的。那些外来人又怎么会看到我这个脏兮兮的乞丐呢？ 
<br>那些人走后不久，来过一个半死的骑士。身上的盔甲都锈了。他躺在那里呻吟了半个多月才走。我知道他比我还穷。常要到讨饭的地步。有钱的骑士谁会到外面来闯？ 
<br>我第一次见那个野蛮人是一个中午，法拉还在玩她的锤子。有一个很高很壮的男人来到她跟前。问：“有结实一点的大剑吗？他的声音很奇特。很重也不太清楚。但不难听。 
<br>法拉扫了他一眼，说：”有，但很贵。“野蛮人迟疑地看了他一眼。接着问，“多少？”法拉这种人见的多了。她笑了一声，”一万二的。你买的起吗？“
法拉的父亲是死在外面的那片荒地上，据说，连尸首都没找到。所以法拉对好称杀妖的外地人开价绝不含糊。野蛮人迟疑了一下。从口袋里套出十几个金币，在她那
里买了一把平常的几乎可以砍柴的长剑。和一个比锅盖厚不了那去的盾牌。然后用很沉的脚步向城外的荒原走去。”你不要命了吗？法拉叫道：“这样的装备出去是
白白送死。”野蛮人仿佛没听到。法拉无奈地摇了摇头，又忙着其他事了。 <br>每天都有人在这里一去不回。很多人已经习惯了死亡阴影下的生活。 
<br>几天后，那个野蛮人奇迹般的回来了。他一身血污，但表情还是那样，很沉，也很自信。 
<br>他来到目瞪口呆的法拉那里。从包里逗出一堆盔甲。问道“多少钱？”法拉楞了半晌才叫了起来。”死亡之首“？不要了？很值钱的。野蛮人第一次笑了一
下。他的笑容一点都不灿烂。相反，有点狰狞。他脸上的伤痕象蛛网爬满了脸颊，有新的，也有旧的。那几个外来者脸上都没有伤痕。法拉没给他多少。法拉还是老
样。狠很宰了他一刀。野蛮人，没说什么，接过钱袋转身就走。上次法拉少给那个女弓箭手一个金币。两人差点打起来。 <br>那个野蛮人走过我时，扫了我一眼。然后径直走进了酒馆。当我以为他和其他人一样一毛不拔并开始在心里暗骂时。我的余光发现他又回来了。并走向我。他来到我跟前。把一个东西递给我。--是半条烤熟的羊腿。 我还没来的急感谢。他就又担起他那张吓人的大剑向传送门走去。<br></span><span class="tpc_content">野蛮人后来来的次数越来越多了。来的越多，我越发现他的与众不同。有的时候他会一个人在酒馆里吃东
西，他的胃口很好，有时可以吃半只羊。这一点和那几个外来人不太一样。他们老喜欢喝一种象血一样的饮料，很贵。几十个金币才能来一点。他不太计较饭菜的味
道，吃的很快，但吃相却很斯文。一看就是吃肉的行家，有时可能就会把几个指头弄油。我见过法拉一次吃东西。我都不太相信那是她，因为她的吃相象极了一头
狼。 <br>在酒馆他也常和舞女们在一起，在一起的时候，他的话也不多，可能是沉默太久的缘故吧。有时，当一个舞女把最好的舞蹈展示给他时，他的表情也会
很温柔，。也许因为是战士的缘故，他几乎不会跳舞，也不会唱。那个骑士在快好的时候还回用他家乡的话都都囔囔唱几句不知伤感还是高兴的歌来。尽管谁都知道
舞女是最下贱的女人，花一点钱就可以要了她们的身体。他也从不对那些女孩动粗。也很少和那些姑娘过夜。不管那些姑娘怎么央求，怎么发刁。但他出手却出奇的
慷慨，我亲眼见过有一次，酒馆跳舞最好的那个舞女娜拉对他挂在脖子上的大的出奇的红宝石产生了兴趣，把玩不已。他问她是不是喜欢，当得到肯定答案时，他毫
不怜惜地解了下来，塞到那个不知所措的姑娘手中。当时，一向热闹的酒店里静的一塌糊涂。王宫的警卫怀疑地问道，你从哪里弄来的？
“一个怪物”他静静回答。 <br>警卫象看怪物似的看了他一会儿，“你知道吗？”他颤着声音问道，：“这可以卖来一千，。。不，起码一万个美丽的处女的贞操。你却把他白给给了一个下贱的舞女。” 
<br>“她舞跳的好，喜欢，我就给了，这样的东西我以后还会有，很多。”野蛮人淡淡说道，说罢起身向外走。 
<br>“嗨，伙计”一个刺耳的声音响了起来。说话的是镇上最帅的地痞阿里。打架也是一流的。“看来你钱不少，” 
<br>野蛮人停住了，转过身来看他。 
<br>“给婊子糟蹋，不如给我花花。” 
<br>“想的话，自己来拿好了。”野蛮人说完又向外走。<br></span><span class="tpc_content">阿里的脸歪了，在镇上，还没人敢和他这样说话。他从他漂亮的靴筒里抽出一把匕首，快步跟了上去。 
<br>“当心！。。。”娜拉的声音刚出了一半就挨了一个男人一记耳光，人直飞了出去，在地上打了几个滚。酒观登时乱了。有人起哄，也有人乘机占舞女的便宜。在酒馆里阿里的帮手不少。 
<br>当野蛮人转身时，阿里已经把刀刺到了跟前。我还没看清怎么回事，雪亮的刀尖已经没入野蛮人胸口。野蛮人胸口的肌肉突地颤了一下，阿里的刀子就飞了
出去。同时野蛮人也一手扭住了阿里握刀的手。另一手也没闲着，捏着阿里的脖子，把他单手提了起来。我可以看到他的肌肉在淡褐色的皮肤下流水一样流动。美极
了。阿里的脸扭曲的更厉害了，与刚才不同的是他的眼睛也暴了出来。野蛮人定定的盯着他的眼睛。我第一次感到藏在他体内的那种可怕的力量。汹涌着，咆哮着，
我几乎能听到它在他体内的低吟长吼。 <br>过了十几分钟，也可能是十几秒。他把象烂泥似的阿里丢到地上。从身上拔出那半个刀尖。和它的主人丢到了一起。天！那是什么肌肉，竟拧断了刀子。他看了看伤口。用手指轻轻抹去流出的血。用一种很奇特的动作用舌头舔去。 
<br>等野蛮人走远，人才冲了上去，买药剂的老头看了阿里一眼，摇了摇头。“颈椎被捏断了，没救了。” 
<br>“他把老大给费了！！”一个人在不知所措的大叫。“警卫，你看到了吗？”警卫在尸体边看了一眼，没说什么。 
<br>阿里在这里没人敢惹，因为惹他的都活不了多久。要末暴死街头，要末失踪。酒店老板的死就和他有关。有人说，阿里已经把自己的灵魂卖给了魔鬼。 
<br>他还是不时给我半条羊腿。<br></span><span class="tpc_content">野蛮人很久没来了。 
<br>但城里的谣言在象火一样流传。有人很神秘地说，野蛮人是噬人族他们吃自己族人和敌人的心脏和大脑。以得到他们的力量和智慧。他们不相信安拉。他们崇拜魔鬼，所以才有那么可怕的力量。那个野蛮人可能已经吃了成千上万的人，否则他怎么会有这么可怕的力量。 
<br>我不管什么安拉，起码安拉不会在我饿的半死的时候，从天上丢一条羊腿下来。那怕是半生的。 
<br>
<br>很多时候，我们不知道自己来自哪里，要去哪里。在这个美丽而肮脏混乱的城市。虽然在这里连吃饱的机会都很少，我竟没想过要出去。许是这里的阳光太明媚。许是我喜欢看到装满货物的商队在驼铃声中来来往往。但为什么每天都又那么多人从那么遥远的地方来，又到那么远的地方去。<br></span><span class="tpc_content">在荒原上，有寂寞的旅者的骷髅在晚风里吟唱。在海底，有那么多的船沉睡在蓝色的海底。银色的鱼群在长满多彩海藻的桅杆间悠闲的川行。每天都有人在不知名的地方倒下。任风和秃鹫带走他们无知无觉的身体。 
<br>酒馆还是那么热闹，每天都有商队往来。生意不至于太淡。 
<br>不知道为什么，法拉显的有点落漠，连她最引以为豪的抛锤都很少耍了。当有个商人，要让她打个蹄铁的时候，她一直现显的爱理不理的。但商人还的一直陪着笑脸。因为谁都知道，法拉是这里最好的铁匠，也是最漂亮的。 
<br>男人对美女总是很纵容。 
<br>我有点怀念那个不太喜欢说话的野蛮人了。 
<br>有一天，我实在忍不住，去找了卓格南-—那个买一些希奇古怪的白胡子老头儿。我去的时候他正在收拾他的那些鸡零狗碎。在太阳底下。卓格南象急了一个好脾气的老猫头鹰。眯着的眼好象也满是笑意。 
<br>”卓格南，野蛮人是什么样的一种人呢？”我问。 
<br>卓格南微笑着思索了半天。“野蛮人是北方一种很古老的民族。他们拒绝放弃很多他们自己认为很宝贵的东西，比如勇敢，坚毅，忠诚。他们总是在不断的
历险，在历险中保持自己心中的财富，不断的完善自己，不断的达到完美。一个野蛮人是不会在一个地方呆太久，他们认为安逸是自己最大的敌人。所以他们一直在
四处冒险”卓格南眯起眼，抬头望天，擦了把汗：“很伟大的一个民族，可惜人不多了。”<br></span><span class="tpc_content">“他们很野蛮吗？”我问。 
<br>“呵呵，怎么说呢？”卓格南笑了“野蛮是一个误解，不要看他们在作战时的凶狠。他们在很小的时候就接受很好的教育。你看那个野蛮人吃东西的时候就
知道，他们很小的时候就学会了和自然相处，这和德鲁伊是一个信仰。他们一直在拒绝所谓的开化，是因为他们认为这最终会打破人与自然的平衡，最终毁灭一
切。” <br>”但这样不是太傻的点吗？“我问。 
<br>“理念不同，很多东西也不一样。”卓格南叹了口气。“所以他们的生存环境越来越少，但这仍不妨碍他们的强大，他们是很少数几个敢于向神挑战的伟大
种族。在很久以前，有一个很伟大的叫科南的野蛮人，打败并杀死了崇拜大蛇的魔法师，并成了北方最受景仰的王，他的一生都在他广藐的土地上奔走。直至153
岁死去。任何一个武士都以触摸到他那柄长剑为荣。” <br>夜里，我横竖睡不着，新月下的荒野里，有狼在寂寞地长嚎。有时也可以听到一个宏大可怕的声音在旷野里狂吼。我不知道那是不是他，那才是他自己的歌唱。狂放而无拘无束。寂寞而充满对生命的快意和渴望。 
<br>也许荒野才是他们最喜欢的地方。他们不适合在城市里久居。我有一点明白在酒馆里，有时他的眼神有时透出的忧郁。 
<br>
<br>当我都有点淡忘那个野蛮人时侯，他却突然回来了。不过，伤的不比上次那个骑士轻。我发现他时，他已经是冻的浑身发青，抖成了一团。<br></span><span class="tpc_content">我相信任何一个第一眼看到他的人，都相信他活不了。野蛮人的身上有几道伤痕大的吓人。融化的雪和着血水沿着脚踝向下，几乎把脚底浸透。就连他身上的盔甲都有几处被撕裂。反嵌在肉里。连瞎子都可以看到他眼中的痛苦。 
<br>但他竟然还能站着。大声地喘息。大口地咳着血。 
<br>我呆了，我知道我应该上去帮他一把。但我的脚却好象被冻住了。冰冷而麻木。 
<br>“咳，，帮我叫，，一下王宫的警卫长好吗？”他很明显在对我说话。这时候，他的头脑竟还能保持清醒。 
<br>我的脑子乱成了一团。我只是恐惧地摇头。后退。 
<br>我身后传来一声轻微的惊呼。是法拉。她不知道什么时候被惊醒了。她一向睡觉很轻。 
<br>她快不上前，帮住他摇摇欲坠的身体。野蛮人身上的血很快浸透了她干净的白衬衣。法拉一向是最喜欢干净的。连她的铁匠铺都总是干干净净的。有是还有她摘来或其他人送的鲜花。 
<br>”谢谢，“野蛮人咬牙微笑了一下。他还能笑的出，“但我已经一分钱都没了。哭泣的王子都瑞尔差点要了我的命。“ 
<br>听到这个，法拉的脸一下红到了耳后，她忽地放开野蛮人。转头怒视着他。“没的话你可以先欠着。”她的声音冷的象冰。“没钱有没钱的治法。” 
<br>“对不起，”野蛮人也意识到他说错了什么。他忍着疼说道。“真的，对不起。我不该说这话。”他的话有点局促，但谁都可以看出他眼中的诚挚。 
<br>法拉没说什么，她一直在忙着收拾。在炉火下。她的眼中有东西在闪。 
<br>法拉的手法很熟，快的象翻花蝴蝶。她先用温水洗干净了血渍。在小伤口上一些药粉。我看到野蛮人的脸上，又出现了在酒馆看娜拉跳舞的温柔神情。<br></span><span class="tpc_content">很多时候，我一直在怀疑野蛮人一个人在荒野中是不是真的很快乐。这个小镇，不是很大，也不是很繁
华，但人也不少。熟识的人在清晨见面时，会在路上长谈。在清晨海风带来乳白色的岚气下，两个阳光下的影子也是一道很温馨的景致。海风有时会托着墉懒的白色
不知名的海鸟在深蓝色的天空悠闲地游荡。时虽然在很多阴暗的角落有死亡在游荡。仍不能阻碍这个小城的可爱。 <br>野蛮人康复的速度之快，大大超出了我和法拉的想象。第三天，他就可以下床了。我常可以见到他一个人一瘸一拐的在下午的时候出来，因为那时人少
一些。他常在城楼上，夕阳下遥望广藐而苍凉的荒野。眼神忧郁而遥远。我常在他的身边，因为法拉叮嘱我这么做。我不知道她是出于什么考虑。 <br>很多时候，我们总是在想象其他人告诉的景象。却错过了很多身边值得一看的东西。我在这里呆了这么久，第一次发现夕阳下的荒野竟也好看的让人透
不过气来。荒地上的野草在暮霭下顽强而倔强的向天空生长。远处的山峦在阳光下竟变成了金色。看久了，让人怀疑可能安拉所在的地方也不过如此。 <br>野蛮人看来很喜欢那些山，可能他的家乡也是这样，不然他的眼神不会这么辽远忧伤而充满温柔，甚至超过了法拉给他治伤时的眼神。 
<br>他总是一个人在那里孤独的了望。直到太阳在天边散去他最后一片余辉。 
<br>我问法拉，她说不要问那么多，那个家伙脑子有毛病。但说的时候，我可以看出她眼里有一种古古怪怪，我从未在她眼里见过的东西。 
<br>可能他们的脑子都出问题了吧！他们之间很多变化对于我太难以理解。 
<br>法拉的脾气变的出奇的好，有时她会哼着歌打铁，清洗野蛮人换下的绷带，和衣服。 
<br>野蛮人的伤已经没有大碍，甚至还有点发福。他却一天天忧郁下去，有时他会帮法拉拉风箱，有时会拾起一把煅好的阔剑，放到眼前看看锋口，有时会挥一
下试试手感，我喜欢他挥剑时带起的风，但最后，他都会黯然的放下，转身走开。一个人到城楼上去。就象一只刚张好翅膀的老鹰，总是试探着呼扇着已经没什么问
题的翅膀，却没有勇气从脚下的岩石一跃而起。每到这时候，我都可以看到法拉的眼中漾着一丝小狐狸般狡猾的笑意。<br></span><span class="tpc_content">他在忧伤什么？我一直在想，要是法拉对我这样，我可能在夜里都会笑醒过来。 
<br>王宫的卫士长来过几次，他是个长着落腮胡子的大个，总是穿着他那套锈迹斑斑的锁子甲，他那套锁子甲是他的父亲的父亲的父亲父亲。。传下来的，听说这锁甲受过神的乞福，野地里跑的鬼怪见了就惟恐避之不及。但我也没见过他捉下哪怕一个小鬼来让大家看看。 
<br>他一来法拉就没什么好脸色。法拉生气时不说话，但总能弄出点惊天动地的声响，有时连商队好脾气的驼马都能吓惊了。那时满街看着一匹红着眼的马或驴
子一路狂奔，有时还尥几下蹶子，把背上驮筐里漂亮的丝绸或其他我不知道什么名字的东西抛洒一路，然后总有一个赤脚的脚夫在后面狂追不舍，当然也有人趁乱玩
谁捡谁要的游戏。然后长着白胡子的阿訇会面红耳赤地指天划地的威胁这些人会遭天谴，有人会因为抢东西动起手来，我不知道他们会不会糟天谴，我只是喜欢看他
们打架，打的越热闹越好。每次，他们都在争论什么，最后，卫士长都是犹豫地站起，他明显不相信野蛮人的话，嘟囔着什么出去。野蛮人也不送，很绝望的望着
他，一整天都不说话。 <br>我也常去找卓格南，把野蛮人和法拉的事情告诉他，我知道他时谁都不会说的。每次，卓格南都会边笑边咳嗽，我问他笑什么。他总是说你不懂，当你在过十几年自然就明白了。 
<br>随着时间过去，野蛮人变的越来越坐立不安，有时我可以听到他一个人郁闷地在月夜下的城楼上狂吼，我可以看出他在等什么。我突然也有了一种不祥的预感。我告诉法拉，她说不要瞎想，那个土佬在胡乱鬼叫。是想吓哭睡着的小孩。 
<br>但我亲眼看到一次法拉问野蛮人什么，问后，法拉一脸狐疑的离开，去炉边打铁。说打铁那是瞎话，因为没一锤是锤在正点上。那时候谁都不敢惹她，谁惹她和谁急。 
<br>我一次鼓起勇气问法拉野蛮人和她说了什么，她没好气的说自己问他去，他疯了。<br></span><span class="tpc_content">我去问野蛮人，他沉默了一会儿，用双手把我的双眼蒙起，轻轻问我喜不喜欢天永远不亮的日子。我挣开摇头，一丝恐惧浮上我的心头。 
<br>野蛮人抬头望天，无奈的微笑了一下，喃喃道：“我也不喜欢，” 
<br>有时在夜里，我会被一种莫名的恐惧惊醒。我不记的在梦里我梦到了什么，我只记的我在一片漆黑里拼命跑，在四边总有很细微很可怕的声音，我跑向远处
的一处灯火，当我跑近了却又不在眼前，。。当我冷汗被面的起身，我总可以看到法拉在有力的敲打着铁砧。野蛮人在一边拉着风箱。然后安全感油然而生，我又安
然睡去。 <br>那天中午，一个陌生人来到了这个小镇，他也很高，但不象野蛮人那么壮，他也穿着一间镶着黄宝石的破旧镶嵌甲。脸颊上也有一道长长的伤疤。不同
的是他的身后跟着5只极大的银灰色狗，肩上停着一只不知是乌鸦还是八哥的丑鸟。天太热了，他喘息着抹去脖子上的汗水。5条大狗也热的有气无力的吐着长长的
舌头喘息着，他肩上的那只丑鸟却一言不发，一动不动的站在陌生人的肩头。冷漠的打量这个陌生的小城。 <br>这个陌生人看来在找人，他一进城就找人打听什么。 
<br>我飞跑着把这个消息告诉野蛮人，我不知道为什么，我总感到，这个陌生人和野蛮人有什么联系。 
<br>我告诉他的时候，野蛮人正在帮法拉打铁，他先楞了一下，当他听清楚后，开始狂喜。他丢下钳子，傻傻的大声笑着，一时间有些不知如何是好。他搓着
手，用一种很奇怪的话说一些莫名其妙的话。然后，乱手乱脚扯下围裙，裸着上身就冲了出去。法拉在他身后，放下手里的活计，冷冷的望着他。然后，当啷一下丢
下榔头，扭身进了房子。 <br>果不出我所料，野蛮人还没出这条街就和那个陌生人撞了个正着，两人 
<br>见后，先都楞了一下，接着开始开怀的大笑。然后就互相拥抱，两个人的劲都不小，我可以听到两人的骨头都被对方勒的噼噼剥剥做响。两个人好象根本不
在乎一边人古怪的眼神，抱着对方的肩，在街心放肆大声的笑着用刚才野蛮人说的那种古怪的语言交谈。连5条大狗都受了主人的影响，很优雅的嗅着野蛮人的裤
脚。 <br>我壮起胆子伸手去摸里面最大最漂亮的一条，那个家伙惊了一下，它后退了一步，肩头的毛耸了起来。微微露了露牙。那个陌生人看后大声笑了起来，用那种奇怪的语言对他说了些什么，但我可以从语气听出来，协商大于命令。那个家伙老不大情愿的卧下，让我摸他的头。<br></span><span class="tpc_content">德鲁依的话只说了一半就咽回了下半句而且脸色有点尴尬。因为法拉正掀开帘子走了出来。 
<br>好在法拉好象没听到他们所说的。她的手里提了一些肉块，来到门前，吹了一声口哨。白牙带来的大狗起身疑惑的看了看法拉，又看了看白牙。等看到白牙
没反对的意思就开始嗅法拉放在他们面前的肉骨头。看来他们饿的厉害，开始吃的还很斯文，很快就相互抢了起来。他们互相皱起鼻子，从喉咙里发出威胁的低吼。
好在没打起来。吃完后，还以一种希翼的眼神望着微笑的法拉。法拉微笑着摊摊手，告诉他们没有了。他们才意犹未尽的哼哼着卧倒。四处打量这个新的环境。不时
警惕地转动耳朵。等确信没什么危险的时候才安静下来。 <br>法拉蹲下身来，微笑着示意其中一条最大最漂亮的过来。也就是我摸的那只。
他犹豫了一下还是慢慢踱了过来。他先嗅了嗅法拉的手，然后很有风度的舔了舔法拉的手，法拉可能有点痒，笑出了声。她另一只手插入他银灰色的漂亮皮毛，揉搓
着，在他耳边轻声说着什么。有可能是抱怨有可能是夸奖。我都有点妒忌那个家伙了。竟敢和我分享法拉的爱抚。 <br>看着法拉和他的狗嬉戏，白牙的表情变的很柔和。他和野蛮人竟看了许久，两人没说一句话。 
<br>“了不起的女人，”白牙轻轻说道，一丝微笑掠过他的脸。“喜欢动物的女人起码是有爱心的人，也是会照顾丈夫的女人。” 
<br>“我见过很多喜欢动物的女人，不过她们对动物最喜欢的是他们的皮毛”野蛮人微笑说道。 
<br>“我见了这样的女人会扒光她们的衣服给我的狼穿。”白牙哼了一声，“然后。。。”他看着路上走过的一个穿紫衣的女人，不怀好意的笑着。 
<br>“打住吧，”野蛮人揶揄道“有孩子在这里，也不注意点，什么时候才能说话正经点。” 
<br>“等你不到处拈花惹草了，我就正经了。”白牙拂拂我的头发。笑道。<br></span><span class="tpc_content">“说什么这么开心？”法拉在不远处冷冷问道：“能不能让我听听，” 
<br>“没什么，”白牙干笑了一声，“两个健康的男人在一起能说什么？” 
<br>法拉哼了一声，没再问下去。 
<br>“怎么？小丫头，有什么要问的吗？”白牙看我想说什么，又不敢说的样子很好笑。他把我抱到胸前，捏捏我的鼻子问道。他们怎么都喜欢捏我的鼻子呢？ 
<br>“他。。真的叫大熊吗？真难听！” 
<br>两人楞了一下，然后开始大笑。白牙笑的差点从椅子上掉下了。 
<br>“不，这个胖子不叫大熊”白牙忍住笑答道。“我叫他大熊，他的名字很奇怪，叫卡撒拉木那。卡乌拉木那。” 
<br>“这么长？”我吃了一惊。“什么意思？” 
<br>“是我家乡最高的山的名字，意思是白头发的山岭。”野蛮人淡淡答道。<br></span><span class="tpc_content">白胡子卓格南告诉我，很多东西看起来格格不入，实际上却是最合适的，我开始不懂，但我渐渐开始明白了。 
<br>法拉应该是嫁给某个富人的，她却在这里打铁，但她的手艺是最好的。白牙和野蛮人是完全不同的两种人，他们却是最好的朋友，野蛮人话不多，白牙却总
有说不完的话，他每次和野蛮人到酒馆去时，总是能引来一群女人围着他咯咯大笑，他好象有讲不完的笑话和自己的历险。总让那些舞女们为之瞠目。总有不少失宠
的男人在一边对他暗暗咬牙，恨不能一拳打的他吐血，但看到野蛮人都和一坐山似的坐在附近，也只好咽下这口恶气。 <br>酒馆总是个很热闹的地方。总有一些奇奇怪怪的外来者和小贩穿梭其间。其中也不乏象野蛮人这类蛮荒的的武士。其中有人会在这里倾净全身的钱来赌一把。我也见过连裤子都输掉的人在哄笑口哨和尖叫被踢出店门。上次那个半死的骑士就是赌输了才落到那个地步。 
<br>赌的方式很奇怪。庄家拿出一个大口袋，赌的人先把或多或少的钱放到庄家的手中，然后靠感觉从袋子里摸出一把自己认为中意的铠甲或兵器。但大多数时
间他们摸出的是不值一钱的破烂，但这样的飞蛾还是比比皆是。因为有一个很疯狂的谣言在四处留传，说有一个武士在赌博时用5万金币得到了传说中的王着之剑。
而流言的最直接后果就是赌博的赌注翻了几番， <br>很多外来者，我不懂他们，法拉也不懂。他们好象总是在搜索名贵的盔甲。法拉说他们是钱多了烧的。 
<br>我没敢说，野蛮人和你不也是这样吗？ 
<br>我知道法拉和野蛮人在铸造一套铠甲。他们总是忙到深夜。 
<br>有一天，酒馆和其他天一样热闹，从门口陆续进来了几个人。他们进来后，连白牙都不由闭上了嘴，然后又因为吃惊张大了嘴。就连野蛮人都不由欠起身警惕的看着外来者。 
<br>进来的有好几个人，但最显眼的是走在中间的一个人，不是因为他多高，而是因为他的铠甲实在太鲜亮了。很难看出他的盔甲是什么质地，却发着荧荧的金
色。表面几乎可以照的出人影子来。鲜红的珠宝和金线缀成的花纹细致又漂亮。他头上戴的头盔几乎遮住了整个脸。两只金煌煌的角直刺空中。头盔上镶的七色宝石
反射的光芒把他全身都隐在迷朦的光晕里。<br></span><span class="tpc_content">“好象是哥特战甲”，白牙喃喃道“不该在这里出现。” 
<br>野蛮人没说话。他只是盯着那套漂亮的吓人的盔甲。 
<br>“外来者没在意周围惊讶的眼神，”他一个人走到中央的一张桌前，有些费劲的摘下头盔。放在桌上。 
<br>他身后跟的一个是穿着很普通的女弓箭手，很瘦，栗色长发。和前一位相比几乎有些寒酸。 
<br>另一位随从是一个穿着灰色长袍的白胡子老人。拄着拐丈，背已经驼了。 
<br>外来者放下头盔，然后，有些费力的解下笨重的铁手套，和头盔放在了一起。他喘息着，用手抹了一把头发上的汗水。等我的眼睛适应了珠宝的光芒时，我的心里动了一下。尽管他已经变了很多，我还是看出他是谁。他就是以前那个半死的骑士。 
<br>他瘦了不少，但脸上的晦气已经找不到了。 
<br>“喂，兄弟你穿的是什么盔甲？”有一个人问道。 
<br>骑士突兀的扫了他一眼，没说话，从口袋里掏出一大瓶红色的药水，慢慢喝了起来。 
<br>刚才问的人脸红一阵白一阵，但没发作，他知道就看那套装甲，自己绝对不是对手。 
<br>他身后穿灰袍的的老人笑了一下。”这是我的主人，来自高卢的骑士，我是游吟诗人卡恩，他的盔甲是有名的哥特盔甲。是神罚之城里铁匠的手艺。” 
<br>全场没人出声。谁的知道神罚之城是什么地方。但很多时候只是能知道一点它的只言片语。或一些很小的武器。<br></span><span class="tpc_content">“在坐的有人知道哭泣的王子都瑞尔的藏身之处？”骑士突然问了一句。 
<br>沉默了一会儿，白牙微笑着站了起来。“我知道一点线索。” 
<br>骑士用一种不太相信的眼光看了他一眼，“你知道？” 
<br>“是，他蛰伏在遥远的荒原里，已经很久没人敢把他惊醒了。” 
<br>“不错，”骑士吐出两个字“你已经得到赫德里克方块了？” 
<br>“不只这个，”白牙笑道，“我已经用它合成了唤醒那条大虫子的权杖。” 
<br>“卖不卖？”骑士问道，“多少钱都可以。” 
<br>”钱算什么，我要你的盔甲。“白牙笑。 
<br>骑士霍地站起，他的眼中几乎要喷出血来。白也也毫不示弱的和他对视。他脚边的狼也感到了什么，耸起了肩上的毛，从喉间发出低吼。 
<br>骑士的右手已抄起靠在桌边的金黄色的饰剑。他一剑把一张桌子斜砍成了两半。刀口平滑的就象镜子。但他的剑还没来的及回收，白牙的弯刀已经压住了他的剑背。 
<br>“你的脑袋不回比这桌子结实吧？”骑士喝道。 
<br>“我怎么会站在那里让你砍。”白牙冷冷说道，“这么慢的剑，我早就砍掉你的脑袋了。” 
<br>“停手，”野蛮人沉沉喝道。两人扫了一眼他，又恶狠狠对视了一眼，“呛”的一声分开了。 
<br>“对不起，我说一下，”野蛮人说道，杀死都瑞尔是每个武士和巫师的责任，法杖我会免费给你，不过不要落到都瑞尔手中。” 
<br>“什么？”白牙几乎不相信自己的耳朵，“给他？TMD我白交了你这个朋友。你把权杖给这个杂碎！。。。” 
<br>野蛮人转身示意他安静。然后转过身来。从随身的袋子里摸出一把锈迹斑斑的铁棍来。交给骑士。 
<br>骑士接过时是满脸不信，他向跟在身后的卡恩投去询问的一瞥。 
<br>“卡恩接过后，在灯光下仔细端详了半天，惊喜的转身对骑士说道。“是它，没错。” 
<br>骑士接过权杖，放入自己的袋中。 
<br>“谢谢，我这就去，如果有机会见到我心里的维多利亚，请告诉他杀死恶魔都瑞尔的是她的金色狮子骑士。”骑士喜形于色。 
<br>“你的维多利亚不知道正在那个男人怀里呢。”白牙哼了一声。 
<br>“德鲁依狗，你要为你所说的负责。”骑士怒喝。 
<br>“我等着你，就怕你不来。”白牙冷笑。 
<br>“自己人，说这个干什么？”野蛮人止住他再说下去。“当心，都瑞尔是个很可怕的家伙。” 
<br>骑士先是楞了一下，然后笑着大踏步离开了酒店。 
<br>按骑士的规则，他要成为骑士后，要向一个女人宣誓，发誓永远效忠于她，并随时保护她，如果有人不尊重她是对这个女人的骑士的最大侮辱。<br></span><span class="tpc_content">白牙很久没理野蛮人，他好象气的厉害。几次野蛮人要上去和解，白牙都闷闷的避开了。看样子好象要咬他几口才解恨。他开始一个人去酒店，一个人喝的大醉。他喝醉的时候常一个人在那里旁若无人的唱歌，我没想到他有那么好的一付嗓子。但他唱的都是很忧郁的调子。 
<br>我问野蛮人他唱的什么，野蛮人想了想，用很低沉的声音告诉我，这是一个白牙他们部落的老歌，是一个在外面闯了一辈子的老德鲁依留下来的，他一个人在异乡寂寞的唱着自己小时候见过的一切。大山，丛林，洁白的溪水，高傲的山鹰，以及山间淡蓝色的雾气。 
<br>每到这时候，野蛮人总会沉默着摸我的头。我总感到他的伤痕密布的脸上变的很忧郁，很柔和。甚至超过当他看娜拉跳舞，和看到一把好剑时的表情。 
<br>但法拉和他在夜晚的工程好象进展一直不是很大。他们还是在夜里工作，但每当清晨的时候，我总是看到他俩坐在锻炉前发呆。两人都被汗水浸透，一身碳灰。法拉有时会站起，安慰地拍拍野蛮人的肩膀。我不知道他们在锻造什么，我知道那一定是件很重要的东西。 
<br>一天早晨，白牙打着趔趄从外面进来，一看他就又喝了一夜酒。他进门的时候差点被门槛绊倒，又接着撞到了桌子，他的狗疑惑的上前企图嗅他的手的时候也被他推开。 
<br>他摸索着想自己爬起来，但一地狼籍让他没有成功。于是他干脆仰坐在那里。不怀好意的微笑着，看着表情黯然的野蛮人和法拉。 
<br>“你俩最好换换衣服，不然很容易让人产生误解。”他笑道。 
<br>野蛮人和法拉都没动，太多的失败已经耗尽了他们的力量和精力。 
<br>“是什么不行？”白牙笑问道？ 
<br>“盔甲，魔法和抵御的比例总是很难掌握。”野蛮人喃喃说道。 
<br>“你们还不到家。”白牙笑道。他勉强摸着桌子爬起身来。 
<br>法拉有点恶狠狠地看着白牙，“好象你很有本事啊？”她冷笑道。“说的倒很轻松。” 
<br>“不知道你见过远东的钢剑没有？”白牙收起了笑容，“那已经不能称只为工具，那已经成为一种艺术。” 
<br>“我听说过，”野蛮人抹了一把额头上的汗水。“他们用自己的生命来铸剑。有的铸剑师在铸的时候让铸铁中注入自己的血，自己的头发。甚至自己的妻子和孩子。”<br></span><span class="tpc_content">“一把剑还比不上自己的妻子吗？”法拉冷冷问道。 
<br>“他们不是不爱自己的妻子，只是他们太爱自己的那种艺术。”白牙淡淡说道。“他们甚至会为了一把剑自己跳入炉火。” 
<br>“是不是太极端了点？那样值得吗？”法拉跳了起来。 
<br>“那要怎么看了，”野蛮人说道，很多东西局外人是无法理解的。” 
<br>“是，”白牙又露出了他那种不怀好意的微笑。他晃着走到野蛮人面前。伸手把他拉了起来。 
<br>“你们男人很多事情不可理喻”。法拉当的一声把铁锤丢在了工具箱里。 
<br>“我曾经见过一把从中国传来的剑，”白牙盯着法拉的眼“当我摸到那柄剑的剑身时，我可以感觉到藏在剑中的躁动。他好象有生命，那个东方的剑师用一种很崇敬的姿态捧起那柄剑让我用心倾听。” 
<br>“你听到了什么？”法拉还是忍不住问道。 
<br>“我开始什么都听不到。”白牙笑。 
<br>“我猜就是，”法拉哼了一声。 
<br>“但后来我听到了。” 
<br>“在哪里？”野蛮人问道。 
<br>“那个剑师让我和他在夜里来到山谷里，月亮很圆。”白牙说道“四周很静，风也很清。我和他坐在那里等了很久，渐渐，我开始听到一种很宏大的声音。
开始很轻就象微风拂过树梢，然后渐渐变的开始宏大而豪壮。就象月夜下的潮声。当你用力去辩别他时，他突然变的很细微，当你用一种很松弛的状态去听的时候。
他又出现了。”白牙笑了一笑。“就象流水，细腻而又不可阻挡。” <br>“后来那把剑呢？”法拉问道。 
<br>“飞走了。”白牙把四个手指拢起，做了一个突然分开的动作。“中国人相信每把好剑都有自己的生命。他们很脆弱，也会愤怒。”每到一个时候，它会变成龙飞走。“ 
<br>“我也听说过。”法拉有些黯然。 
<br>“而这正是中国每个剑师所梦想的境界。”白牙微微笑了一下。“中国人很奇怪，他们有最好的武器，但很少使用他们。他们花那么大的力气去铸造龙一样强大的剑，却对战争出奇的谨慎。他们相信一种动态的平衡。这和我们的部族是一样的。” 
<br>两人突然都开始沉默。我也突然感到大地在我的底下颤抖。我还听到隐隐的雷声在远处滚动。 
<br>三个都霍的站起，向外冲了出去。外面已经看不到清晨的一点迹象。所有在街上的人都面面相觑地站在原地，不是发生了什么。 
<br>野蛮人和法拉环视着四周，四周的黑云在翻滚着向这里涌动，树枝状的紫色和淡蓝色闪电在青灰色云间一闪就不见了。有的闪电在一直拖到地上。隐隐的雷声也越来越沉闷。几乎我的心都在不由自主的哆嗦。 
<br>法拉紧紧的握着我的手，她一直在轻轻的说着，“没关系，一切都会过去。”但我可以感到，她的手心都是冷汗。 
<br>云好象比我要来的快。 
<br>等四周的云在中间汇合的时候，法拉低下身子抱紧我。“没事，没事的。”她在我耳边呢喃。她的身体抖的象风里的树叶。我感到几滴冰冷的雨水滴到了我的脸上。 
<br>黑夜好象提前降临了。<br></span><span class="tpc_content">黑夜是提前降临了。 
<br>我见惯了蓝的让我头晕的天空，我没想到它会如此的阴郁而恐怖。 
<br>黑暗的天空下，狂风横扫一切，呼啸的风掠过小镇，无情的卷起一切可以带走的东西，让我几乎站不住脚。大滴的黑色雨水砸的我的脸生疼。狂暴的天空
上，灰黑色的云在以可怕的速度流动，就象无数条惊骇的蛇在疯狂逃窜，他们相互纠缠，相互撕咬。淡蓝色和猩红色的闪电就是他们伤口喷涌出的血。 <br>雷声也让我感到惊骇，虽然有法拉紧紧抱着我，我的手还是抖的抓不住她的衣服。每当恐怖的雷声滚过我们的头顶。我都会紧张的无法呼吸，我的心脏都会随着雷声缩成一团，停止跳动。我只能本能的抱紧法拉，死死抓住她的衣服。除了恐惧，我什么都忘了。 
<br>城镇的人已经是乱成了一团，很多人只是惊恐万状的跪在街心，向天伸出双手。很多人在疯狂的叩首，每一声雷都可以引发一片惊慌。 
<br>阿訇跪在金色的清真寺塔顶，他只能声嘶力竭的大声朗诵经文。摊开双手企求安拉的宽恕，他的眼中满是惊恐和无助。他的身体在风里几乎随时可以被风吹走。 
<br>但天空仿佛没有宽恕人们，在人们的哀号和哭泣声中，一道闪电几乎直接击穿了金色的塔顶。在人们歇斯底里的惊呼和哭叫声中，阿訇随着石子和土块象一个断了线的风筝落下塔顶。重重摔在尘土飞扬的地上，我看到，他的身体烧的象一只火把。 
<br>我已绝望，看着慌乱成一团的人们，我突然想到了蚂蚁，这种平凡而贪婪的小虫，在这个小镇里随处可见。他们勤劳的工作，不倦于掠夺。我曾经很残忍的用火烤他们，用一种近似与嘲笑的眼神欣赏他们惊恐而笨拙的逃跑或 
<br>在火里痛苦的挣扎。我不知道是不是有一双冷笑的眼神在某个地方，带着讥诮欣赏我们的痛苦与无助。 
<br>野蛮人和白牙相视了一眼。他们不知为何，一直在沉默。令人胆战心惊的沉默。 
<br>野蛮人对法拉做了一个手势，示意她跟他走，然后他抱起我，走下了在风里尖啸的楼台。 
<br>野蛮人没回法拉的房子，他去的是酒馆。我伏在他胸前，不知道为什么，我安心了一些，许是他有力的心跳，许是他身上，淡淡的汗味。</span><br></a>]]></description>
</item><item>
<title><![CDATA[断开或连接]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15876</link>
<author>liqiangxf</author>
<pubDate>2006/6/26 16:39:08</pubDate>
<description><![CDATA[<p class="zhengwen">网络，到底是网还是络？</p><p class="zhengwen">网住的是什么？</p><p class="zhengwen">联络的又是什么？</p><p class="zhengwen">&nbsp;</p><p class="zhengwen">网络，到底是真还是幻？</p><p class="zhengwen">假如是真的，你将怎么触摸？</p><p class="zhengwen">假如是虚的，你将怎么挣脱？</p><p class="zhengwen">&nbsp;</p><p class="zhengwen">怕你把真的看作了假的，</p><p class="zhengwen">毫不在意，随手扔掉。</p><p class="zhengwen">也怕你把假的看作了真的，</p><p class="zhengwen">不顾一切，形同枯蒿。</p><p class="zhengwen">&nbsp;</p><p class="zhengwen">一张网，带着梦想一般的颜色，</p><p class="zhengwen">撒到了人间，你被网在其间，</p><p class="zhengwen">我看到你兴奋的有些怪异的脸，</p><p class="zhengwen">还有一双迷茫的眼。那时，我在旁边。</p><p class="zhengwen">一条畅通的脉络，直通心房，</p><p class="zhengwen">你的魂魄被你的愿望拴住了，</p><p class="zhengwen">你不知道季节在变换，</p><p class="zhengwen">而专注地贪婪。那时，我在旁边。</p><p class="zhengwen">&nbsp;</p><p class="zhengwen">我帮不上你。你的悲欢离合。</p><p class="zhengwen">拯救或者毁灭，沉浸或者超脱。</p><p class="zhengwen">你的手指，敲打或者点击，</p><p class="zhengwen">你的神情，得意或者失落。</p><p class="zhengwen">&nbsp;</p><p class="zhengwen">你自己就是你自己的上帝。</p><p class="zhengwen">&nbsp;</p><p class="zhengwen">这就是网络。你可能遭遇天使</p><p class="zhengwen">也可能相逢恶魔。你只有，</p>毅然断开，或者继续连接。]]></description>
</item><item>
<title><![CDATA[打油诗]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15873</link>
<author>liqiangxf</author>
<pubDate>2006/6/26 15:07:19</pubDate>
<description><![CDATA[<a>终日奔波只为饥，才得一饱便思衣。<br>且喜衣食皆得体，盼想娇容美貌妻。<br>取得娇妻生贵子，又恨门前车马稀。<br>豪宅香车全备妥，无官无势怕人欺。<br>委任兼任都嫌小，特任大员有何奇。<br>借问何日才如意，除非撒手命归西。..</a>]]></description>
</item><item>
<title><![CDATA[娜塔娅的诅咒]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15868</link>
<author>liqiangxf</author>
<pubDate>2006/6/26 13:56:08</pubDate>
<description><![CDATA[<a style="font-family: 宋体;">　</a><a style="font-family: 宋体;">　
				 
				 </a><p style="font-family: 宋体;">

 </p><h1 style="text-align: center; font-family: 宋体;">娜塔娅的诅咒<br></h1><h2 style="font-family: 宋体;">　　引子<br></h2><p style="font-style: italic; font-family: 宋体;">　　一.在暗黑里有个惊天的大秘密。那就是暴雪留了一条绝路，让执着不悔的人有机会双修、三修，甚至多修。这将颠覆整个游戏的平衡性，每个人都可能成为杀人如麻的恶魔。(暗金超大型符咒：重生将是关键)<br><br>　　二.在暗黑里，通过做一件特殊的事，你将能得到一件特殊的物品。而这样的物品不止一个。<br><br></p><ol style="font-family: 宋体;"><li style="font-style: italic;">毁灭-暗金小型符咒。这个地球人都知道了。(官方已公布)</li><li style="font-style: italic;">裂变-暗金大型符咒。这是关于野蛮人、黑手之钥和女铁匠恰西的铁血故事，本文不作详述。(官方未公布，我将在恰当的时候详细解述。)</li><li><span style="font-style: italic;">重生-暗金超大型符咒。这是在亚瑞特山巅引发的一段传奇。其中饱含了人生的哲理，各种悲欢离合爱恨情仇纷沓而来匪夷所思。明白了的人将踏上一条寒冷、孤独、漫无止境的长路。(官方未公布，本文将重点详述。)</span><br></li></ol><h2 style="font-family: 宋体;">　　第一章 搏杀<br></h2><p style="font-family: 宋体;">　
　在登上亚瑞特山前你必须有8个队友，其中必须有一个刺客穿上绿色套装。其余的人最好卸下所有装备，裸体上山，这决不是为了亵渎神灵，(敬畏神灵，爱护妻
女，保卫祖国，这三样都应该成为我们做人的三大准则吧？有同感的请举手)而是为了得到诸神的祝福。最好的装备就全给穿套装的女孩子吧！因为在一群赤裸羔羊
里，她将是搏杀3个野蛮人的主力。(如果你觉得一大群男女光着PP与人决斗实在是有碍观瞻，或是让一个柔弱的女孩子单独与三个野蛮人肉搏实在是有违你的道
德准则的话，那你就穿上衣服吧，这对游戏的进程不会有任何的影响)<br><br>　　组队、传送、开门，这一流程朋友们都非常熟悉了。<br><br>　　到山顶后，大家占据有利地形，最好分散，将来有妙用。<br><br>　　刺客触动山顶神坛，战斗开始。<br><br>　
　怎样杀死三个野蛮人大家也非常清楚了，我就不多说了。我要说的是，在你们杀死第一个野蛮人时不会有事发生，杀死第二个时也没事，但在杀死第三个时，怪事
发生了！就在他发出最后的惨叫时，大地开始动摇，神坛坍塌，冰雪融化，静电力场的光芒闪耀了整个天空。暴雪在暗黑里的阴谋开始初现端倪。<br><br>　
　在这个时候，你离开还来得及。你有60秒的时间可以选择退出游戏，这样你将循规蹈矩的度过剩下的暗黑岁月，你也许可以活到99级，然后沧桑的说一声，我
杀了很多怪！！！但是，你真的象一个勇士一样在暗黑里活过了吗？你经历过暗黑最野蛮最残暴最绚烂也最多情的时光了吗？留下吧，朋友！这样在很多年以后，当
你回忆起你的暗黑岁月时，你也能泪光闪动的对你的孩子说：“那一天，亚瑞特山巅上的光芒真的照亮了整个世界......”<br><br>　　如果，如果你选择了留下，那你有99%的可能是被杀死，你将听你和队友的惨叫响彻整个亚瑞特山巅，血肉飞溅，血流成河。这的确很不好玩，很打击人的自信心，很残忍，很无奈！<br><br>　　在那时间都仿佛静止了的60秒，你甚至可以看到队友们的每一个神情和细微的举动，因为，暗黑的天空从未如此的被照亮过，暗黑的世界也从未如此清晰。<br><br>　
　你可以看到圣骑士坚毅的面孔开始扭曲，磐石般沉稳的双手也在轻微的颤动；女巫污秽的脸上那些指头大小的疙瘩在发红变亮，而她那蛤蟆一样的嘴唇里正挤出一
堵一堵的白沫，恶心得让人想吐；德鲁依在无法逆转的衰老，他身上那些锯齿般的皱纹突然就有了刀劈斧凿的痕迹，他......就像一棵正在飞速老去的树，萧
瑟的背影投射到无穷远；亚玛逊依然冷峻，英姿爽飒的身躯骄人地挺得笔直，只是少了一只乳房的胸膛在急剧的起伏，仿佛有一只就要诞生的魔灵在不安的挣扎，它
将从这里横空出世......；野蛮人在大声的嚎叫，但叫声里少了一些雄壮多了一点凄历有了一种末世的意味，他粗黑健壮的躯体在N级静电力场的强力抽压
下，不断飞溅出盅口大小的鲜血；死灵的眼神变得遥远而遥远，穿越过时空凝视在前世今生的某一个点上，他削瘦硕长的皮囊泛白又泛白，像一条正在腐烂的死鱼；
而刺客，唉！这个纯洁如冰的女孩子，像梦像迷，我永远无法了解无法描述，我只看到有一颗晶莹剔透如水晶般透明的泪珠轻轻划过她清纯秀丽如碧玉般无暇的脸庞
悠悠地摔到地上“啪”分为七瓣，这......让我永远呼痛！！！(曾经有一个女孩问我，这个世界上最美的是什么，我想了很久，却无法回答，后来，她说，
那......是大话西游里的一滴眼泪！)<br><br>　　充满死亡气息的60秒沉重如理想的躯壳，压得让人喘不过气。<br><br>　　充满死亡气息的60秒如同白驹过隙，稍纵即逝。<br><br>　　她来了。<br><br>　　如清风。<br><br>　　如薄雾。<br><br>　　如天神。<br><br>　　如鬼魅。<br><br>　　她将出现在亚瑞特山巅上的任何一个地方，在比一眨眼还快的时间里，她将化身为厉鬼化身为雷神，她将释放N级的连锁闪电，你的耳朵里将充满同伴们濒死的惨叫。<br><br>　　你仅有一点点时间，不要问我是多长，一刹那？一瞬间？我不知道，只有在你亲身体验后，你才明白时间是怎样成为生命的，而生命是多么的宝贵！<br><br>　　你不但需要迅雷不及掩耳的速度，你还需要比基得还好的运气，这样你才可以在娜塔娅复活的那一刻碰到她柔弱如婴儿般的躯体。(刚复活的娜塔娅脆弱如婴儿，一碰即休)<br><br>　　如果，你做到了。那么恭喜你！你将成为暗黑里为数不多的苦行僧，在130年的暗黑时光里，你将没有同伴，没有朋友。<br><br>　　如果，你做到了。那么你和同伴们将得到诸神给以的奖励。你们身上未配备装备的地方诸神将为你们配备全JP的装备，(所以，你们要裸体上山)而杀死娜塔娅的幸运儿，还将得到一枚暗金符咒：重生。<br><br>　　附：重生--属性：+2所有技能<br><br>　　4防+27(估计可变)<br><br>　　提升经验值13%(估计可变)<br><br>　　敏捷+88(估计可变)<br><br>　　提升生命上限91%(估计可变)<br><br>　　每24小时可使用重生一次<br><br>　　注：重生的意思是：在你死亡时，系统并不认为你已经死亡，而是把你的血自动加满。怎么样，爽吧？<br><br>　　每24小时使用一次的意思是：在你使用后的24小时此暗金符咒将发红显示，就象<br><br>　　你拿不动的装备一样，表示不能使用。<br></p><h2 style="font-family: 宋体;">　　第二章 重生<br></h2><p style="font-family: 宋体;">　　写到这里，朋友们也许会郁闷，重生并没有提供技能点，怎样才能三修呢？<br><br>　　别忙，听我慢慢道来。<br><br>　　首先，有一个问题，你们在游戏里是不是见过，在地狱8人难度下，有个30级的人物，行动如鬼魅一步杀十人！如果见过，那也不要奇怪，谜底就要出来了。<br><br>　　现在，我们再来研究一下重生的重要属性。重生：每24小时能使用重生一次。那么，如果在24小时内第二次被杀死会发生什么呢？<br><br>　
　很简单，你会发出一声惨叫。但是，沮丧的你很快会发现，你并没有被血淋淋的挂上排行榜，你还可以再开普通级别的游戏，你进去以后将找不到尸体，(超级爆
尸？)你的级别变为99，却一个技能点也没有，一种技能也不会，你在郁闷中满怀怒火冲入敌阵却很快就升了一级，看一看，变为98，得到属性点，技能点。再
试，很快又升了一级，97！！！OK，明白了吗？你现在的级别是负的，剩下的不用我说了吧！那个杀人如麻才30级的人其实已经130级！！！需要说明的
是，在+30级以前，你开的游戏别人是进不来的，别人的游戏你也进不去。我早就说过了，这是一条寒冷、孤独、漫无止境的长路。<br><br>　　到了这里，关于重生就只有一个秘密了。<br><br>　　那是让我心碎，让我堕落，让我魂不守舍坠入万丈深渊的秘密。<br></p><h2 style="font-family: 宋体;">　　第三章 轮回<br></h2><span style="font-family: 宋体;">　
　就在我发现重生的秘密后很长的一段时间里，我每天都食不知味不问冷热的练级练级再练级，但是每当我躺到床上去的时候总会有一些零乱的想法在我脑海里飘来
飘去...飘来飘去......飘来飘去.............我总是抓不住它，我不知道是那里出了问题，我只知道一定还有问题。</span><br style="font-family: 宋体;"><br style="font-family: 宋体;"><span style="font-family: 宋体;">　
　直到有一天，我轻轻松松的从地狱里救出安娅，然后洗澡，上床，和女朋友做*。完了，她小猫一样*在我的胸口昵昵喃喃的和我说话，我则陷入半梦半醒的状
态。突然，她说：“你光溜溜的身子......”(此处删掉若干字，以免有渲染色情的嫌疑)电光火石间，我被击中了，一刹那脑海里灵光四射。“光溜溜的身
子...光溜溜的身子......光溜溜的身子............我想到了亚瑞特山巅上那人神共怒的一战，我想到了第二次被杀死后的峰回路转，那个
时候我也是光溜溜的！那我的尸体呢？...那我的尸体呢？......那我的尸体呢？...........这个想法就像爆裂的星云，充满了我的身体，充
满了整个房间，四处奔溢。我推开她，跳下床，“怎么了”她尖叫，“我爱你”我赤着脚，光着身子像当年冲上亚瑞特山巅上一样冲向了电脑。</span><br style="font-family: 宋体;"><br style="font-family: 宋体;"><span style="font-family: 宋体;">　　是的，就是这样，我还要再回到亚瑞特山巅上去！我知道我已经接近了事情的真相，我将剥开它的表皮直抵内核，所有的恩怨情仇，所有的悲欢离合都将在亚瑞特山巅上得到答案。</span><br style="font-family: 宋体;"><br style="font-family: 宋体;"><span style="font-family: 宋体;">　　预感成为了现实，亚瑞特山巅上躺在雪地里的那一具，正是我的尸体。拾起来一看，褚神赐予的装备一样不少。</span><br style="font-family: 宋体;"><br style="font-family: 宋体;"><span style="font-family: 宋体;">　　那一刻，我如遭电殛，心跳如雷，涕泪迸流。</span><br style="font-family: 宋体;"><br style="font-family: 宋体;"><span style="font-family: 宋体;">　　我仿佛大梦了一场，却又尚未清醒，我不明白几十年前死在亚瑞特山巅上的究竟是我，还是娜塔娅，是娜塔娅，还是我，一回首间，我神智恍惚，时空错乱，思绪纷飞。</span><br style="font-family: 宋体;"><br style="font-family: 宋体;"><span style="font-family: 宋体;">　　我虚脱地*在椅子上，目光空洞，浑身浸满了冰凉的汗水，像一条腥腻的鱼。我女朋友走过来摸摸我滚烫的额头，里面现在是一堆翻滚的糨糊，“怎么了”“我想哭”说完我就在她诧异的目光里，号啕大哭！</span><br style="font-family: 宋体;"><br style="font-family: 宋体;"><span style="font-family: 宋体;">　　十年了，我流过汗流过血，但是我没有流过泪，我甚至已经忘记了这种感觉，没想到它竟然是如此地酣畅，如此地淋漓！</span><br style="font-family: 宋体;"><br style="font-family: 宋体;"><span style="font-family: 宋体;">　　朋友啊！谁说游戏不是人生！暴雪竟然把人生的轮回安排得如此残酷如此无情！</span><br style="font-family: 宋体;"><br style="font-family: 宋体;"><span style="font-family: 宋体;">　
　暗黑的最后一个环节竟然是如此的撼人心魄，在万分之一秒内就把人的情感击得粉碎，让人渺茫得如同一粒沙！从此，昙花一现的人生失去了缤纷的色彩笼罩了灰
色的痕印充满了宿命的意味。那一刻我的感觉，就好象是到了濒死前才知道我最爱的人原来就是当初执意要离开的那一个，而年少时不顾一切逃离的家是现在最想要
回去却永远无法抵达的地方。</span><br style="font-family: 宋体;"><br style="font-family: 宋体;"><span style="font-family: 宋体;">　　直到现在，想起惊心动魄的那一刻，我仍然觉得脑后阴风阵阵，寒毛直竖，手心冒汗，万念俱灰！</span>]]></description>
</item><item>
<title><![CDATA[暗黑综合症]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15866</link>
<author>liqiangxf</author>
<pubDate>2006/6/26 13:41:15</pubDate>
<description><![CDATA[<a>　<font><font><font id="zoom" class="f14"><font face="Verdana"><br>1、看见一家饭馆门口摆着几个坛子，立刻就想逐个踢碎，看看是否会掉出几件好装备。<br>2、看菜单中的xx牛肉，觉得那可能就是杀的奶牛的肉。<br>3、不再和别人讲话，因为他们头顶上没有“！”。<br>4、去服装店买衣服，注意标签上的字是否绿颜色。<br>5、进实验室看见试管便忍不住用右手指去敲一敲，因为试管是cube，看见烧瓶就想往怀里放。<br>6、认为所有的天使都长着花里胡哨的发白光的翅膀。<br>7、看见阴井盖便站在上面跺脚，并注意有没有火烧起来。<br>8、认为歌德笔下的浮士德便是那个cain，因为他曾经与摩菲斯特打过交道。<br>9、捡到东西后因为找不到人“鉴定”，便执意不用这件东西。 <br>10、认为蛆是在沙漠中生长的，长着坚硬的壳，爬行迅速，并会吐绿水的动物。<br>11、吃饭时，一手拿刀，一手拿叉，便以为自己是两手都能攻击的野蛮人，放下刀子，去拿汤勺前，犹豫要不要换一个SKILL。<br>12、睡觉前总要把脱下的衣服放到箱子里锁好，睡觉醒来后便认不得学校的路，因为地图变了。<br>13、体育课上长跑时，跑一段就停下来走几步，因为精力没有了。<br>14、看见女孩就问是浪人还是女巫师。<br>15、看见啦啦队晃动手中的彩绸，大惊失色，拔腿就跑，不知道他们会放闪电还是冰椎。<br>16、总在琢磨标本室里的骷髅为什么老是傻站着不动。<br>17、贴着墙根走，被楼上的泼了一盆洗脚水不但不生气，还庆幸自己防魔指数较高。</font></font></font></font></a>]]></description>
</item><item>
<title><![CDATA[七大人物套装的背景知识]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15865</link>
<author>liqiangxf</author>
<pubDate>2006/6/26 13:35:58</pubDate>
<description><![CDATA[<p><font id="zoom" class="f14">1、塔拉夏</font></p>
<p><font id="zoom" class="f14">塔拉夏就是那个用自己的身体封印了BAAL的巫师。不过可能大多数人不知道，这个套装就是用来把塔拉夏做成木乃伊的。(就是ACT2里会喷毒气和复活骷髅的那种怪物)</font></p>
<p><font id="zoom" class="f14">头盔就是木乃伊用的面具。大家看看埃及木乃伊的面具就知道了。腰带就是一条条的细织布。
塔拉夏是被活生生做成木乃伊的，内脏和眼睛都被挖出来，所以他的涡流水晶就是“Lidless
Eye”，中文翻译就是“没有眼皮的眼睛”。护身符是保佑木乃伊通过死后在冥界的审判的，所以叫塔拉夏的判决。最后，用布带包起来的木乃伊外面要涂一层
漆，这就是著名的漆甲。</font></p>
<p><font id="zoom" class="f14">整套的英文名字是“Tal Ralsha's Wrapping”，中文意思就是包裹着塔拉夏的东西。</font></p>
<p><font id="zoom" class="f14">&nbsp;</font></p>
<p><font id="zoom" class="f14">2、马维娜</font></p>
<p><font id="zoom" class="f14">其实这位传奇人物的名字不叫马维娜，而是阿维娜。</font></p>
<p><font id="zoom" class="f14">有一个战斗的民族，叫作亚马逊。亚马逊全都是女人，要生育后代时，她们就去外面抓来优秀的男战士，强迫他们和亚马逊繁殖后代，生下来的如果是男婴就会被杀死。</font></p>
<p><font id="zoom" class="f14">亚马逊的首领是女族长，所以职业武器中精华型的就是女族长之弓和女族长之矛。</font></p>
<p><font id="zoom" class="f14">阿维娜就是一位女族长。在担任女族长后，名字前面要加一个“M”，代表“女族长”，用单引号隔开。这是一种尊称。所以是M'avina，不是Mavina。</font></p>
<p><font id="zoom" class="f14">阿维娜这个名字的意思就是飞翔的少女。</font></p>
<p><font id="zoom" class="f14">&nbsp;</font></p>
<p><font id="zoom" class="f14">3、那塔娅</font></p>
<p><font id="zoom" class="f14">Natalya是在ACT3出现过的一个神秘刺客。不过奇怪的是，Natalya自己的身上倒没有穿这套套装。。。</font></p>
<p><font id="zoom" class="f14">Natalya是刺客，BLIZZARD对刺客的定义就是法师杀手。刺客最痛恨堕落的法师，这套套装叫作Natalya's Odium，正确的翻译是那塔娅的憎恨。</font></p>
<p><font id="zoom" class="f14">曾经有一个传说：D2X一共有5关，每关都有一个红门。</font></p>
<p><font id="zoom" class="f14">ACT1的红门通向牛场，109时代大家最喜欢去的地方。ACT2的红门从神秘避难所通到法师谷，每个玩家都会走一遍。ACT4的红门是Tyrael开的，通往ACT5。ACT5的红门里有老皮，大家都喜欢去MF。</font></p>
<p><font id="zoom" class="f14">只有ACT3一直没有发现红门。因此有人传说，穿齐那塔娅套装后，去和ACT3的那塔娅对话，她就会给你开一个神秘的红门。。。</font></p>
<p><font id="zoom" class="f14">结果怎样？大家试试就知道了。。。</font></p>
<p><font id="zoom" class="f14">题外话：另外有一个传说，带上Atma的哭喊(一件暗金甲)和Atma的圣甲虫(一个暗金项链)，去ACT2完成第一个任务后和Atma谈话，她会帮你把圣甲虫镶到甲上，成为一件Atma的思念(新的暗金甲)。</font></p>
<p><font id="zoom" class="f14">&nbsp;</font></p>
<p><font id="zoom" class="f14">4、塔格奥</font></p>
<p><font id="zoom" class="f14">塔格奥不是神。塔格奥是一条巨毒的魔龙，传说它是一个邪恶的神的神使(Avatar)。</font></p>
<p><font id="zoom" class="f14">后来这条龙被一个英雄杀死，身体的各部份被做成了这套套装：</font></p>
<p><font id="zoom" class="f14">头盔：塔格奥的伪装。这条魔龙具有神使的变形能力。头盔就是用它的头骨做的。</font></p>
<p><font id="zoom" class="f14">盔甲：塔格奥的鳞。是用它的鳞片做的。</font></p>
<p><font id="zoom" class="f14">盾牌：塔格奥的翼。是用它的翅膀做的。3件时能减敌人25%毒抗。</font></p>
<p><font id="zoom" class="f14">手套：塔格奥的爪。是用它的爪子翅膀做的。能增加25%毒伤害。</font></p>
<p><font id="zoom" class="f14">腰带：塔格奥的束带。是用它的皮做的。</font></p>
<p><font id="zoom" class="f14">整套套装最显著的就是一个字：毒！减毒抗，加毒伤害，还有超高的毒抗。</font></p>
<p><font id="zoom" class="f14">题外话：D2X游戏中的怪物，是没有龙的。但装备中有五样是和龙有关的。。。</font></p>
<p><font id="zoom" class="f14">其中一样是塔格奥套装。第二样是魔龙的非难(暗金盾)。这里的魔龙，英文原名是
Tiamat，是巴比伦神话中的混沌海洋之龙。。第三样是守护龙神(暗金斧)，原名是Naga，是印度神话里的龙神，就是天龙八部里的一部：龙。第四样是
夜翼面纱(暗金头盔)，是一条冰龙，化成人形后是绝色的冷艳美女。</font></p>
<p><font id="zoom" class="f14">猜猜第五样是什么？</font></p>
<p><font id="zoom" class="f14">。。。</font></p>
<p><font id="zoom" class="f14">。。。是一根叫张龙的超级烂矛，据说是一个姓张的中国人用的，因为功夫很好，绰号就叫龙。</font></p>
<p><font id="zoom" class="f14">题外话的题外话：D2X中有很多中国来的名字！比如“巧工弩”，原文是Chu-Ko-Nu，正确的翻译是“诸葛弩”。</font></p>
<p><font id="zoom" class="f14">题外话的题外话的题外话：D2X的汉化真的很烂！比如有一个叫Wormskull的头盔，应该是“蠕虫头骨”，却被翻译成了“温暖骷髅”。。。翻译的人一定是把Worm错看成Warm了。。。</font></p>
<p><font id="zoom" class="f14">&nbsp;</font></p>
<p><font id="zoom" class="f14">五、不朽之王</font></p>
<p><font id="zoom" class="f14">不朽之王的名字就是布尔凯索。他是野蛮人历史上最伟大的领袖。不朽之王的套装就是他所用的武器。</font></p>
<p><font id="zoom" class="f14">另外，他还传下了两把剑，就是布尔凯索套装。因此伟大的布尔凯索一定把锤掌握和剑掌握都练满了。。。</font></p>
<p><font id="zoom" class="f14">不过布尔凯索传下来的最珍贵的物品就是他的结婚戒指了，简直就是肉搏角色的乔丹之石。</font></p>
<p><font id="zoom" class="f14">题外话：布尔凯索的双剑和婚戒，尺寸正好放进Horadric Cube里。。。因此传说有一个隐藏的合成公式。。。</font></p>
<p><font id="zoom" class="f14">&nbsp;</font></p>
<p><font id="zoom" class="f14">六、格里斯华尔德</font></p>
<p><font id="zoom" class="f14">他是暗黑一代里的NPC铁匠，在二代中，Diablo的灵魂之石控制了一代中的英雄，毁
灭了Tristram。Diablo杀死了格里斯华尔德，并将他复活成了亡灵怪物。因此格里斯华尔德带有诅咒的属性(伤害加深)，配合他常年打铁练出的恐
怖臂力，对不到10级的玩家的威力是很可观的。</font></p>
<p><font id="zoom" class="f14">一代里有一把暗金剑，叫作格里斯华尔德的锐利。这是完成了某个任务后，格里斯华尔德为玩家打造的。在二代里这把剑还在，不过沦落成了垃圾。。。</font></p>
<p><font id="zoom" class="f14">在这个游戏中，有好几个铁匠。他们的职业分别是：</font></p>
<p><font id="zoom" class="f14">格里斯华尔德：圣骑士。退休之后，格里斯华尔德发胖了，以前的套装也穿不下了。。。</font></p>
<p><font id="zoom" class="f14">恰西：野蛮人。是真的！她是来自野蛮人部落的。用Barb和她对话，她就会“老乡见老乡，两眼泪汪汪”。</font></p>
<p><font id="zoom" class="f14">法拉：圣骑士。她曾经在库拉斯特学习过。用Pal和她对话，她就会热情地欢迎你。</font></p>
<p><font id="zoom" class="f14">赫拉铁力：法师。库拉斯特连佣兵都是法师，铁匠是法师就没什么好奇怪的了。</font></p>
<p><font id="zoom" class="f14">哈布：圣骑士。他和贾梅拉都是古代的圣骑士，被天堂招唤，战斗在最前线。</font></p>
<p><font id="zoom" class="f14">拉祖克：野蛮人。这个家伙喜欢练健美。盯着他看一会儿，他就会摆健美姿势给你看。</font></p>
<p><font id="zoom" class="f14">所以基本上铁匠都是圣骑士和野蛮人来当的。。。</font></p>
<p><font id="zoom" class="f14">&nbsp;</font></p>
<p><font id="zoom" class="f14">七、艾尔多</font></p>
<p><font id="zoom" class="f14">对于这个人，资料不是很多。我们只能从套装上来推测一下他的故事：</font></p>
<p><font id="zoom" class="f14">首先，他是一个德鲁依(废话)。他的武器是艾尔多的韵律。这是七大人物套装里最差最烂的
武器，连精华物品都不是。虽然全套有350%ED，但这仅仅相当于总伤害增加了210-325，太弱了。为什么呢？因为德鲁依的定义是自然之子，不能使用
锋利的武器。他们出场时的兵器是木棒，另外所有为德鲁依设计的暗金武器，都是钝击类的。而这个艾尔多的韵律，本身是Jagged
Star，是镶了钉子的，有悖德鲁依的教条。</font></p>
<p><font id="zoom" class="f14">其次，他的头盔是鹿角，不是狼头，因此可以看出，艾尔多不是一个变形系的德鲁依。</font></p>
<p><font id="zoom" class="f14">另外，他的甲叫作“艾尔多的欺瞒”，可见是打猎的时候用来做伪装的。另一个证据是，头盔
的类型就是“猎人伪装”，名字叫“艾尔多的无情凝视”。英文原文是“象石头一样的凝视”。他在凝视什么呢？答案：整套套装的全称是“艾尔多的观察塔”。观
察塔是猎人搭建的、躲在里面守候猎物的一种草篷。</font></p>
<p><font id="zoom" class="f14">所以，很明显，艾尔多是一个猎人。</font></p>
<p><font id="zoom" class="f14">不过问题来了：德鲁依不都是喜欢动物的吗？为什么艾尔多会捕猎动物呢？</font></p>
<p><font id="zoom" class="f14">答案没人知道。。。可能他是德鲁依部族中的叛逆者。。。</font></p>
<p><font id="zoom" class="f14">这是一个大胆的猜测。作为证据，我们可以发现，其它的套装，除了全套的+3技能之外，在
部件上都会有+2单项技能的奖励。但是艾尔多的套装，只有甲上有+1变形和+1元素！以此我们可以看出，艾尔多是讨厌动物的，因为没有召唤技能奖励，同时
他是一个不合格的德鲁依，因为总体技能只有+3，而别的套装算起来一般都有+5。</font></p>]]></description>
</item><item>
<title><![CDATA[axis初步手记]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15703</link>
<author>liqiangxf</author>
<pubDate>2006/6/21 13:51:05</pubDate>
<description><![CDATA[<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">这些天稍微玩了一下<span lang="EN-US">Axis</span><span style="font-family: 宋体;">，以前做</span><span lang="EN-US">WebServices</span><span style="font-family: 宋体;">都使用</span><span lang="EN-US">JBuilder</span><span style="font-family: 宋体;">，感觉做</span><span lang="EN-US">WebServices</span><span style="font-family: 宋体;">如此简单，现在自己手动做，原来也是如此简单。高兴之余写一个简单的初学手册，就算是学习成果吧。当然对</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">理解的还不很深，所以错误之处望指点。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">Axis</span><span style="font-family: 宋体;">是一个实现</span><span lang="EN-US">WebService</span><span style="font-family: 宋体;">的</span><span lang="EN-US">Framework</span><span style="font-family: 宋体;">，</span><span lang="EN-US">Apache Web Services Project</span><span style="font-family: 宋体;">（</span><span lang="EN-US"><a href="http://ws.apache.org/">http://ws.apache.org</a> </span><span style="font-family: 宋体;">）的一个之项目，现在这个项目有很多之项目</span><span lang="EN-US"> Axis(<a href="http://ws.apache.org/axis/">http://ws.apache.org/axis/</a> )</span><span style="font-family: 宋体;">是其中一员，还有</span><span lang="EN-US">XML-RPC</span><span style="font-family: 宋体;">（这个也是我比较喜欢的东东</span><span style="font-family: Wingdings;" lang="EN-US"><span style="">J</span></span><span style="font-family: 宋体;">）。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">现在</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">主要由两个版本一个是</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">一个是</span><span lang="EN-US">Axis2</span><span style="font-family: 宋体;">。两个好象有比较多的不同，我这里说的是</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">，过几天演技一下</span><span lang="EN-US">Axis2</span><span style="font-family: 宋体;">，然后再写一篇吧。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">好了现在开始做个</span><span lang="EN-US">WebService </span><span style="font-family: 宋体;">吧：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">第一步当然是先去</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">主页下载一个来啦。下</span><span lang="EN-US">Release</span><span style="font-family: 宋体;">就行，最新的是</span><span lang="EN-US">1.2.1</span><span style="font-family: 宋体;">，</span><span lang="EN-US">source</span><span style="font-family: 宋体;">好象没有打包的只有</span><span lang="EN-US">CVS</span><span style="font-family: 宋体;">的。下来以后解压缩，主要有以下文件夹</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">Docs </span><span style="font-family: 宋体;">顾名思义，这里放的是文档，其实</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">的文档作的很好，我就是按照它的</span><span lang="EN-US">User Guide</span><span style="font-family: 宋体;">一步步做下来的。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">Lib </span><span style="font-family: 宋体;">运行</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">时要用到的</span><span lang="EN-US">jar</span><span style="font-family: 宋体;">包，要完全正常运行还缺两个</span><span lang="EN-US">mail.jar activation.jar </span><span style="font-family: 宋体;">这两个是</span><span lang="EN-US">javaMail</span><span style="font-family: 宋体;">包，到处都能弄到。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">Samples Axis</span><span style="font-family: 宋体;">自带的例子包括很多种应用</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">Webapps<span style="">&nbsp; </span>Axis</span><span style="font-family: 宋体;">是发布到</span><span lang="EN-US">Servlet Container</span><span style="font-family: 宋体;">中的，要把</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">集成到你的项目中，就把这个文件夹里的内容合并到你的项目中就行了。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">还有一个</span><span lang="EN-US">xmls</span><span style="font-family: 宋体;">文件夹，放得是一些可能用到的</span><span lang="EN-US">xml</span><span style="font-family: 宋体;">例子。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">第二步，建一个项目，</span><span lang="EN-US">Web</span><span style="font-family: 宋体;">项目，用</span><span lang="EN-US">Eclipse</span><span style="font-family: 宋体;">或者</span><span lang="EN-US">Idea</span><span style="font-family: 宋体;">都可以啊。如果你非要用记事本类的东西，我也不拦着你。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">把</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">中的</span><span lang="EN-US">Webapps\axis</span><span style="font-family: 宋体;">文件夹下的东西统统</span><span lang="EN-US">Copy</span><span style="font-family: 宋体;">到你的</span><span lang="EN-US">Web</span><span style="font-family: 宋体;">文件夹下。其实有些东西是没用的，比如</span><span lang="EN-US">classes</span><span style="font-family: 宋体;">文件夹里的东西都可以去掉了，还有那几个</span><span lang="EN-US">jws</span><span style="font-family: 宋体;">文件也没有用。虽然</span><span lang="EN-US">axis</span><span style="font-family: 宋体;">最方便的发布</span><span lang="EN-US">WebServices</span><span style="font-family: 宋体;">的方法是把你的</span><span lang="EN-US">.java</span><span style="font-family: 宋体;">改成</span><span lang="EN-US">.jws</span><span style="font-family: 宋体;">的放到</span><span lang="EN-US">Web</span><span style="font-family: 宋体;">发布文件夹下的根目录下，但是这种方法没有什么适用价值。然后运行以下</span><span lang="EN-US">Tomcat</span><span style="font-family: 宋体;">（或者其他的</span><span lang="EN-US">Application Server</span><span style="font-family: 宋体;">）。然后浏览一下你的刚刚发布的这个项目，如果正常的话就可以看到</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">的默认画面，<br><img alt="axis1.jpg" src="http://www.blogjava.net/images/blogjava_net/mstar/pics20050930/axis1.jpg" border="0" height="768" width="1024"><br>这个页面不是必须的，在真正项目开发中可以把它去掉或换个名字。点击</span><span lang="EN-US">List</span><span style="font-family: 宋体;">连接进入已经发布的</span><span lang="EN-US">WebServices</span><span style="font-family: 宋体;">列表。<br><img alt="axis2.jpg" src="http://www.blogjava.net/images/blogjava_net/mstar/pics20050930/axis2.jpg" border="0" height="768" width="1024"><br>开始时应该只有</span><span lang="EN-US">AdminService</span><span style="font-family: 宋体;">和</span><span lang="EN-US">Version</span><span style="font-family: 宋体;">。后面两个就是我们在下面要做的</span><span lang="EN-US">WebServices</span><span style="font-family: 宋体;">。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">第三步，如果上面的一切正常，就可以正式开始做</span><span lang="EN-US">WebServices</span><span style="font-family: 宋体;">了。首先做一个</span><span lang="EN-US">Services</span><span style="font-family: 宋体;">实现类。</span><span lang="EN-US">Calc.java</span><span style="font-family: 宋体;">有两个方法</span><span lang="EN-US">plus</span><span style="font-family: 宋体;">和</span><span lang="EN-US">subtract</span><span style="font-family: 宋体;">。这个</span><span lang="EN-US">Service</span><span style="font-family: 宋体;">所用到的数据类型都是基本类型。<br></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">&nbsp;Calc&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;plus(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;a,</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;b){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;a</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">b;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;substract(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;a,</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;b){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;a</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">b;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">然后在</span><span lang="EN-US">WEB-INF</span><span style="font-family: 宋体;">目录下加入一个</span><span lang="EN-US">server-config.wsdd</span><span style="font-family: 宋体;">。这是</span><span lang="EN-US">WebServices</span><span style="font-family: 宋体;">的发布描述文件，作用类似于</span><span lang="EN-US">web.xml</span><span style="font-family: 宋体;">。它有自己的格式，但是具体的标记是什么样子的，在</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">的文档中没有详细的一一列出，只是提到了常用的一些。在</span><span lang="EN-US">axis</span><span style="font-family: 宋体;">的源码中有一些</span><span lang="EN-US">wsdd</span><span style="font-family: 宋体;">的</span><span lang="EN-US">XSD</span><span style="font-family: 宋体;">文件，如果你用的是</span><span lang="EN-US">IDEA</span><span style="font-family: 宋体;">可以把这些</span><span lang="EN-US">XSD</span><span style="font-family: 宋体;">映射到</span><span lang="EN-US">uri</span><span style="font-family: 宋体;">，这样编辑器就有提示了。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">下面这我们本文中的</span><span lang="EN-US">server-config.wsdd</span><span style="font-family: 宋体;">的样子：<br></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);">&lt;?</span><span style="color: rgb(255, 0, 255);">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: rgb(0, 0, 255);">?&gt;</span><span style="color: rgb(0, 0, 0);"><br></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">deployment&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="defaultClientConfig"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlns:java</span><span style="color: rgb(0, 0, 255);">="http://xml.apache.org/axis/wsdd/providers/java"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlns:handler</span><span style="color: rgb(0, 0, 255);">="http://xml.apache.org/axis/wsdd/providers/handler"</span><span style="color: rgb(255, 0, 0);">&nbsp;xmlns</span><span style="color: rgb(0, 0, 255);">="http://xml.apache.org/axis/wsdd/"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">globalConfiguration&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="defaultClientConfig"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">requestFlow&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="RequestFlow1"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">handler&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="Handler1"</span><span style="color: rgb(255, 0, 0);">&nbsp;type</span><span style="color: rgb(0, 0, 255);">="java:org.apache.axis.handlers.JWSHandler"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="scope"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="session"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">handler</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">handler&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="Handler2"</span><span style="color: rgb(255, 0, 0);">&nbsp;type</span><span style="color: rgb(0, 0, 255);">="java:org.apache.axis.handlers.JWSHandler"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="scope"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="request"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="extension"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">=".jwr"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">handler</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">requestFlow</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">globalConfiguration</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">handler&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="URLMapper"</span><span style="color: rgb(255, 0, 0);">&nbsp;type</span><span style="color: rgb(0, 0, 255);">="java:org.apache.axis.handlers.http.URLMapper"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">handler&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="LocalResponder"</span><span style="color: rgb(255, 0, 0);">&nbsp;type</span><span style="color: rgb(0, 0, 255);">="java:org.apache.axis.transport.local.LocalResponder"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">handler&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="Authenticate"</span><span style="color: rgb(255, 0, 0);">&nbsp;type</span><span style="color: rgb(0, 0, 255);">="java:org.apache.axis.handlers.SimpleAuthenticationHandler"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">transport&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="http"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">requestFlow&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="RequestFlow1"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">handler&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="Handler1"</span><span style="color: rgb(255, 0, 0);">&nbsp;type</span><span style="color: rgb(0, 0, 255);">="URLMapper"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">handler&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="Handler2"</span><span style="color: rgb(255, 0, 0);">&nbsp;type</span><span style="color: rgb(0, 0, 255);">="java:org.apache.axis.handlers.http.HTTPAuthHandler"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">requestFlow</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">transport</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">transport&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="local"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">responseFlow&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="ResponseFlow1"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">handler&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="Handler1"</span><span style="color: rgb(255, 0, 0);">&nbsp;type</span><span style="color: rgb(0, 0, 255);">="LocalResponder"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">responseFlow</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">transport</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">service&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="AdminService"</span><span style="color: rgb(255, 0, 0);">&nbsp;provider</span><span style="color: rgb(0, 0, 255);">="java:MSG"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="allowedMethods"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="AdminService"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="enableRemoteAdmin"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="false"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="className"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="org.apache.axis.utils.Admin"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">namespace</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);">http://xml.apache.org/axis/wsdd/</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">namespace</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">service</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">service&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="Version"</span><span style="color: rgb(255, 0, 0);">&nbsp;provider</span><span style="color: rgb(0, 0, 255);">="java:RPC"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="allowedMethods"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="getVersion"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="className"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="org.apache.axis.Version"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">service</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">service&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="CalcService"</span><span style="color: rgb(255, 0, 0);">&nbsp;provider</span><span style="color: rgb(0, 0, 255);">="java:RPC"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="allowedMethods"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="*"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="className"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="org.mstar.ws.Calc"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="scope"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="request"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">service</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">service&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="FooService"</span><span style="color: rgb(255, 0, 0);">&nbsp;provider</span><span style="color: rgb(0, 0, 255);">="java:RPC"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="allowedMethods"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="*"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="className"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="org.mstar.ws.FooService"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="scope"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="session"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">typeMapping&nbsp;</span><span style="color: rgb(255, 0, 0);">encodingStyle</span><span style="color: rgb(0, 0, 255);">="http://schemas.xmlsoap.org/soap/encoding/"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlns:ns1</span><span style="color: rgb(0, 0, 255);">="http://ws.mstar.org"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qname</span><span style="color: rgb(0, 0, 255);">="ns1:FooBean"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;languageSpecificType</span><span style="color: rgb(0, 0, 255);">="java:org.mstar.ws.FooBean"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;serializer</span><span style="color: rgb(0, 0, 255);">="org.apache.axis.encoding.ser.BeanSerializerFactory"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deserializer</span><span style="color: rgb(0, 0, 255);">="org.apache.axis.encoding.ser.BeanDeserializerFactory"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name</span><span style="color: rgb(0, 0, 255);">="FooBean"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">requestFlow&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="requestFlow1"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">handler&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="Handler1"</span><span style="color: rgb(255, 0, 0);">&nbsp;type</span><span style="color: rgb(0, 0, 255);">="java:org.mstar.ws.FooHandler"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">requestFlow</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">responseFlow</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">handler&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="Handler1"</span><span style="color: rgb(255, 0, 0);">&nbsp;type</span><span style="color: rgb(0, 0, 255);">="java:org.mstar.ws.FooHandler"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">responseFlow</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">service</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">deployment</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">这个文件比</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">自带的那些</span><span lang="EN-US">deploy.wsdd</span><span style="font-family: 宋体;">要多很多东西，在</span><span lang="EN-US">Axis</span><span style="font-family: 宋体;">的文档中它使用命令来把对</span><span lang="EN-US">deploy.wsdd</span><span style="font-family: 宋体;">进行发布的。在我的例子中是直接把</span><span lang="EN-US">server-config.wsdd</span><span style="font-family: 宋体;">写好放到</span><span lang="EN-US">WEB-INF</span><span style="font-family: 宋体;">下。所以要把</span><span lang="EN-US">Service</span><span style="font-family: 宋体;">上面那些东西加上，否则系统不能正常运行。<br></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">service&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="CalcService"</span><span style="color: rgb(255, 0, 0);">&nbsp;provider</span><span style="color: rgb(0, 0, 255);">="java:RPC"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="allowedMethods"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="*"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="className"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="org.mstar.ws.Calc"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="scope"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="request"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">service</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">是</span><span lang="EN-US">Calc</span><span style="font-family: 宋体;">的发布描述。其中</span><span lang="EN-US">scope</span><span style="font-family: 宋体;">属性默认是</span><span lang="EN-US">request</span><span style="font-family: 宋体;">所以不写也可以。其他</span><span lang="EN-US">parameter</span><span style="font-family: 宋体;">看名字就知道干什么的了。这样你在</span><span lang="EN-US">List</span><span style="font-family: 宋体;">页面中就可以查看</span><span lang="EN-US">CalcService</span><span style="font-family: 宋体;">的</span><span lang="EN-US">WSDL</span><span style="font-family: 宋体;">了。</span></p><span style="font-size: 10.5pt; font-family: 宋体;">第四步就是写客户端程序了。<br>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Times New Roman">WSClient.java<br></font></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);"><font face="Times New Roman">try</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;endpoint&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">=</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">"</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">http://localhost:8080/ws/services/CalcService</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">"</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Service&nbsp;service&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">=</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;</font></span><span style="color: rgb(0, 0, 255);"><font face="Times New Roman">new</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;Service();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call&nbsp;call&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">=</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;service.createCall();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call.setTargetEndpointAddress(endpoint);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call.setOperationName(</font></span><span style="color: rgb(0, 0, 255);"><font face="Times New Roman">new</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;QName(</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">"</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">http://ws.mstar.org</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">"</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">,&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">"</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">plus</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">"</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object[]&nbsp;params&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">=</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;</font></span><span style="color: rgb(0, 0, 255);"><font face="Times New Roman">new</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;Object[</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">2</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;params[</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">0</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">]&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">=</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">10</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;params[</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">1</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">]&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">=</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">20</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;result&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">=</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;(Integer)&nbsp;call.invoke(params);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">"</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">Result:&nbsp;&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">"</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">+</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;result);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</font></span><span style="color: rgb(0, 0, 255);"><font face="Times New Roman">catch</font></span><span style="color: rgb(0, 0, 0);"><font face="Times New Roman">&nbsp;(Exception&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></font></span></div></span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">这是动态的调用</span><span lang="EN-US">WebService</span><span style="font-family: 宋体;">的方法，并不需要根据</span><span lang="EN-US">WSDL</span><span style="font-family: 宋体;">生成客户端存根。但是对于</span><span lang="EN-US">Service</span><span style="font-family: 宋体;">中有复合类型的时候就不可以了。下一个例子讲的就是如何做客户端存根。如果这个例子能够正常运行就可以了。<br><br></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">第五步做一个稍微复杂一点的例子，对于</span><span lang="EN-US"><font face="Times New Roman">WebServices</font></span><span style="font-family: 宋体;">不能仅仅对简单类型的数据进行操作，也应该能对复杂类型进行操作。下面的例子就是：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">先要一个复杂类型的类</span></p>

<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">&nbsp;FooBean&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);">&nbsp;String&nbsp;foo1;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);">&nbsp;Integer&nbsp;foo2;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);">&nbsp;Boolean&nbsp;foo3;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;FooBean(String&nbsp;foo1,&nbsp;Integer&nbsp;foo2,&nbsp;Boolean&nbsp;foo3)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.foo1&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;foo1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.foo2&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;foo2;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.foo3&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;foo3;<br>}<br>….&nbsp;Setter&nbsp;and&nbsp;Getter<br>}<br></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">然后是一个有</span><span lang="EN-US">FooBean</span><span style="font-family: 宋体;">的</span><span lang="EN-US">Service<br></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">&nbsp;FooService&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;FooBean&nbsp;getFooBean(String&nbsp;foo1,Integer&nbsp;foo2,Boolean&nbsp;foo3){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;FooBean(foo1</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">(Remote)</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,foo2</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">10</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);">!</span><span style="color: rgb(0, 0, 0);">foo3);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">很简单，就是返回一个</span><span lang="EN-US">FooBean</span><span style="font-family: 宋体;">，在参数上做了一些手脚</span><span style="font-family: Wingdings;" lang="EN-US"><span style="">J</span></span><span style="font-family: 宋体;">。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">然后在</span><span lang="EN-US">server-config.wsdd</span><span style="font-family: 宋体;">中加入描述<br></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">service&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="FooService"</span><span style="color: rgb(255, 0, 0);">&nbsp;provider</span><span style="color: rgb(0, 0, 255);">="java:RPC"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="allowedMethods"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="*"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="className"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="org.mstar.ws.FooService"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">parameter&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="scope"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="session"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">typeMapping&nbsp;</span><span style="color: rgb(255, 0, 0);">encodingStyle</span><span style="color: rgb(0, 0, 255);">="http://schemas.xmlsoap.org/soap/encoding/"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlns:ns1</span><span style="color: rgb(0, 0, 255);">="http://ws.mstar.org"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qname</span><span style="color: rgb(0, 0, 255);">="ns1:FooBean"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;languageSpecificType</span><span style="color: rgb(0, 0, 255);">="java:org.mstar.ws.FooBean"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;serializer</span><span style="color: rgb(0, 0, 255);">="org.apache.axis.encoding.ser.BeanSerializerFactory"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deserializer</span><span style="color: rgb(0, 0, 255);">="org.apache.axis.encoding.ser.BeanDeserializerFactory"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name</span><span style="color: rgb(0, 0, 255);">="FooBean"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">service</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">这里多了</span><span lang="EN-US">typeMapping</span><span style="font-family: 宋体;">标记用来描述复杂数据类型</span><span lang="EN-US">FooBean</span><span style="font-family: 宋体;">。对入复杂类型的序列化可以是自定义的，在</span><span lang="EN-US">serializer deserializer</span><span style="font-family: 宋体;">属性中改。那个</span><span lang="EN-US">xmlns</span><span style="font-family: 宋体;">，要留意一下，因为在客户端生成存根时的</span><span lang="EN-US">AntTask</span><span style="font-family: 宋体;">中要写一些</span><span lang="EN-US">Mapping</span><span style="font-family: 宋体;">，来确定那些</span><span lang="EN-US">xmlns</span><span style="font-family: 宋体;">映射到哪些</span><span lang="EN-US">package</span><span style="font-family: 宋体;">。当然这些也可以在</span><span lang="EN-US">WSDL</span><span style="font-family: 宋体;">中找到。而</span><span lang="EN-US">WSDL</span><span style="font-family: 宋体;">中的</span><span lang="EN-US">xmlns</span><span style="font-family: 宋体;">也是在这里定义的。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">下面也各客户端。由于这次的</span><span lang="EN-US">Service</span><span style="font-family: 宋体;">中有复杂类型所以要根据</span><span lang="EN-US">WSDL</span><span style="font-family: 宋体;">生成这些复杂类型和</span><span lang="EN-US">Service</span><span style="font-family: 宋体;">的存根。取得</span><span lang="EN-US">WSDL</span><span style="font-family: 宋体;">的方法可以使用</span><span lang="EN-US">java2WSDL</span><span style="font-family: 宋体;">来做，但那样太麻烦，其实在</span><span lang="EN-US">List</span><span style="font-family: 宋体;">页面中用右键</span><span lang="EN-US">-</span><span style="font-family: 宋体;">另存为就可以了。然后写一个</span><span lang="EN-US">ant</span><span style="font-family: 宋体;">文件<br><span style="font-family: 宋体;"></span></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);">&lt;?</span><span style="color: rgb(255, 0, 255);">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: rgb(0, 0, 255);">?&gt;</span><span style="color: rgb(0, 0, 0);"><br></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">project&nbsp;</span><span style="color: rgb(255, 0, 0);">default</span><span style="color: rgb(0, 0, 255);">="GenJavaSub"</span><span style="color: rgb(255, 0, 0);">&nbsp;basedir</span><span style="color: rgb(0, 0, 255);">="."</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">taskdef&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="wsdl2java"</span><span style="color: rgb(255, 0, 0);">&nbsp;classname</span><span style="color: rgb(0, 0, 255);">="org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">target&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="GenJavaSub"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">property&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="output.dir"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="src"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">property&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="generated.dir"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="src/org/mstar/wsclient/generated"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">property&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="wsdl.url"</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">="wsdl/FooService.wsdl"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">delete&nbsp;</span><span style="color: rgb(255, 0, 0);">dir</span><span style="color: rgb(0, 0, 255);">="${generated.dir}"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">mkdir&nbsp;&nbsp;</span><span style="color: rgb(255, 0, 0);">dir</span><span style="color: rgb(0, 0, 255);">="${generated.dir}"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">wsdl2java&nbsp;</span><span style="color: rgb(255, 0, 0);">all</span><span style="color: rgb(0, 0, 255);">="true"</span><span style="color: rgb(255, 0, 0);">&nbsp;debug</span><span style="color: rgb(0, 0, 255);">="false"</span><span style="color: rgb(255, 0, 0);">&nbsp;helperGen</span><span style="color: rgb(0, 0, 255);">="true"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;noimports</span><span style="color: rgb(0, 0, 255);">="false"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output</span><span style="color: rgb(0, 0, 255);">="${output.dir}"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;serverside</span><span style="color: rgb(0, 0, 255);">="false"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;skeletonDeploy</span><span style="color: rgb(0, 0, 255);">="false"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typeMappingVersion</span><span style="color: rgb(0, 0, 255);">="1.1"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url</span><span style="color: rgb(0, 0, 255);">="${wsdl.url}"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;verbose</span><span style="color: rgb(0, 0, 255);">="false"</span><span style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;noWrapped</span><span style="color: rgb(0, 0, 255);">="false"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">mapping&nbsp;</span><span style="color: rgb(255, 0, 0);">namespace</span><span style="color: rgb(0, 0, 255);">="http://ws.mstar.org"</span><span style="color: rgb(255, 0, 0);">&nbsp;package</span><span style="color: rgb(0, 0, 255);">="org.mstar.wsclient.generated"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">mapping&nbsp;</span><span style="color: rgb(255, 0, 0);">namespace</span><span style="color: rgb(0, 0, 255);">="http://localhost:8080/ws/services/FooService"</span><span style="color: rgb(255, 0, 0);">&nbsp;package</span><span style="color: rgb(0, 0, 255);">="org.mstar.wsclient.generated"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">wsdl2java</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">target</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">project</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">这里上面的东西比较好理解，在下面的</span><span lang="EN-US"><font face="Times New Roman">mapping</font></span><span style="font-family: 宋体;">中一定要注意，因为每个</span><span lang="EN-US"><font face="Times New Roman">Service</font></span><span style="font-family: 宋体;">和</span><span lang="EN-US"><font face="Times New Roman">ComplexType</font></span><span style="font-family: 宋体;">都有自己的</span><span lang="EN-US"><font face="Times New Roman">xmlns</font></span><span style="font-family: 宋体;">，这里就是把</span><span lang="EN-US"><font face="Times New Roman">xmlns</font></span><span style="font-family: 宋体;">映射到指定的</span><span lang="EN-US"><font face="Times New Roman">package </font></span><span style="font-family: 宋体;">比如</span><font face="Times New Roman"> </font><span style="font-family: 宋体;">把</span><span lang="EN-US"><a href="http://ws.mstar.org/"><font face="Times New Roman">http://ws.mstar.org</font></a><font face="Times New Roman"> </font></span><span style="font-family: 宋体;">映射到</span><span lang="EN-US"><font face="Times New Roman">org.mstar.wsclient.generated</font></span><span style="font-family: 宋体;">包。这些</span><span lang="EN-US"><font face="Times New Roman">namespace</font></span><span style="font-family: 宋体;">可以在</span><span lang="EN-US"><font face="Times New Roman">wsdl</font></span><span style="font-family: 宋体;">文件中找到。运行</span><span lang="EN-US"><font face="Times New Roman">ant</font></span><span style="font-family: 宋体;">就会看见在</span><span lang="EN-US"><font face="Times New Roman">src</font></span><span style="font-family: 宋体;">中的</span><span lang="EN-US"><font face="Times New Roman">org.mstar.wsclient.generated</font></span><span style="font-family: 宋体;">中多了几个</span><span lang="EN-US"><font face="Times New Roman">java</font></span><span style="font-family: 宋体;">文件。接下在我们就可以用这几个类了。还有一点要注意</span><span lang="EN-US"><font face="Times New Roman">wsdl2java </font></span><span style="font-family: 宋体;">的</span><span lang="EN-US"><font face="Times New Roman">output</font></span><span style="font-family: 宋体;">属性要指向</span><span lang="EN-US"><font face="Times New Roman">src</font></span><span style="font-family: 宋体;">，而不是</span><span lang="EN-US"><font face="Times New Roman">generated</font></span><span style="font-family: 宋体;">文件夹。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">客户端调用就相对容易多了</span></p>
<p>&nbsp;</p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 0);">FooServiceService&nbsp;serviceLocator&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;FooServiceServiceLocator();<br></span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);">&nbsp;{<br>FooService&nbsp;service&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;serviceLocator.getFooService();<br>&nbsp;&nbsp;&nbsp;&nbsp;FooBean&nbsp;fooBean&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;service.getFooBean(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">fooBean</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 0);">10</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">);<br>System.out.println(fooBean);<br>}&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">&nbsp;(ServiceException&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>}&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">&nbsp;(RemoteException&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>}<br></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;">运行客户端看看！</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<span style="font-family: 宋体;">做简单的</span><span lang="EN-US">WebService</span><span style="font-family: 宋体;">就基本上这样了。但这样的</span><span lang="EN-US">Webservice</span><span style="font-family: 宋体;">还远远不能用户真正的项目中，还有很多问题没有解决，比如安全问题，有状态会话问题等等。这些问题很多可以通过</span><span lang="EN-US">Hanlder</span><span style="font-family: 宋体;">来解决，他有点类似于</span><span lang="EN-US">FilterServlet</span><span style="font-family: 宋体;">。具体的东西我还有没有研究，</span><span lang="EN-US">axis</span><span style="font-family: 宋体;">在这方面的资料就很少了。研究明白以后再写一篇吧。</span>]]></description>
</item><item>
<title><![CDATA[随笔]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15668</link>
<author>liqiangxf</author>
<pubDate>2006/6/20 9:58:08</pubDate>
<description><![CDATA[今天买了一个球衣，很郁闷，本来想要阿根廷的，可惜没有合适的号码，只有要荷兰的九号了（范尼。斯特鲁伊）。<br>发现个秘密：这年月，是个球员，只要姓罗就特牛B。<br>明天改名字----罗奔的蜗牛。希望能借姓罗的光，挣更多的money----&gt;买更多的书，配更好的设备！----&gt;充电加薪]]></description>
</item><item>
<title><![CDATA[axis序列化与反序列化]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15667</link>
<author>liqiangxf</author>
<pubDate>2006/6/20 9:50:25</pubDate>
<description><![CDATA[
开发自己的序列化/反序列化器是一个激动人心的工作，但是却并不复杂,需要做的事情包括实现名成为org.apache.axis.encoding的包
中的SerializerFactory，Serializer，DeserializerFactory和Deserializer这四个接口。<br><br>
下面将结合一个实例来讲解序列化/反序列化器的开发方法，希望读者能够一边参看本文提供的源代码一边学习。<br><br>
JDOM作为一款比较"另类"的XML解析工具(因为它不符合W3C的DOM模型，自己另立一套)默默地占领着Java世界里的xml解析器的半壁江山，由于其简洁的设计和方便灵活的API调用，已经渐渐成为了许多开发人员在进行XML开发的首选。<br><br>
但是Axis是建立在W3C的DOM模型的基础之上，师出名们正派，自然不屑与JDOM为伍。因此当开发人员想将自己已经写好的基于JDOM的应用模块采
用Web服务的方式发布的时候，不可避免的会遇到如何将JDOM模型下的对象如Document, Element等序列化的问题。<br><br>
在软件工程师不会自己扩展Axis的序列化/反序列化器的时候，我们只能有两个办法达到这个目的，第一个就是更改以前应用模块内的API设计，使暴露的入
口参数和返回值参数都是W3C的对象类型，但这种做法并不现实，因为这一应用模块往往不是独立存在，牵一发将动全身，导致旧有系统架构的崩塌。<br><br>
另一种做法就是为这个模块做一个代理类，它做的工作就对外接收或返回DOM模型的对象，对内转换成JDOM模型的对象，然后转发给应用模块，繁琐且效率低
下。当我们向Axis注入了针对于JDOM模型的序列化/反序列化器后，这一工作便可以由Axis代劳了。下面我们将逐个开发这四个类：<br><br>
JDomElementSerializerFactory<br><br>
JDomElementSerializerFactory是一个工厂类，需要通过某种机制注册到Axis引擎(具体方法见下面"服务器端应用篇")；
Axis通过调用它，来实例化JDomElementSerializer。Axis
提供了BaseSerializerFactory,这个类是一个抽象类，并实现其中包含了一些可重用的代码。我们自己开发的工厂类只需简单继承这个类就
可以。构造函数中需要调用父类的构造函数将序列器类下面是它的源代码：<br><br>
<center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>package org.apache.axis.encoding.ser;<br><br>public class JDomElementSerializerFactory <br>  extends BaseSerializerFactory<br>  {<br><br>  public JDomElementSerializerFactory()<br>  {<br>    super(JDomElementSerializer.class);<br>  }<br>}</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">JDomElementSerializer
</p><p style="text-indent: 2em;">JDomElementSerializer实现
org.apache.axis.encoding.Serializer接口，其核心API是serialize()，我们需要在这个方法的内部完成对
JDOM模型的Element的序列化工作，序列化的结果要保存在入口参数传入的序列化上下文对象（SerializationContext）中：
</p><center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>public void serialize<br>(QName name, Attributes attributes,<br>Object value,<br>  SerializationContext context)<br>  throws java.io.IOException<br>  {<br><br>    if (!(value instanceof Element))<br>      throw new IOException(<br>        Messages.getMessage<br>		("cant Serialize Object"));<br><br>    //获取符合JDOM的Element对象<br>    Element root=(Element)value;<br>//输出到StringWriter<br> XMLOutputter outputter=new XMLOutputter();<br> //创建一个JDOM的XML输出器<br>    StringWriter sw=new StringWriter();<br>    outputter.output(root,sw);<br>//用支持W3C的DOM模型的Xerces解析器解析文本流<br>    DOMParser parser=new DOMParser();<br>	//创建一个DOM的XML解析器<br>    try {<br>      parser.parse(new org.xml.sax.InputSource(<br>        new java.io.StringReader(sw.toString())));<br>    }catch (Exception ex) <br>	{<br>      throw new java.io.IOException<br>	  ("序列化时产生错误");<br>    }<br><br>    //获取符合DOM模型的Element对象<br>    org.w3c.dom.Element w3c_root =<br>      parser.getDocument().getDocumentElement();<br><br>    //放入序列化上下文对象中<br>    context.startElement(name, attributes);<br>    context.writeDOMElement(w3c_root);<br>    context.endElement();<br>  }</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">JDomElementDeserializerFactory
</p><p style="text-indent: 2em;">反序列化器的工厂类同序列化器的工厂类一样的设计，不再赘述。代码：
</p><center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>package org.apache.axis.encoding.ser;<br><br>public class<br>JDomElementDeserializerFactory <br>  extends BaseDeserializerFactory<br>  {<br><br>  public JDomElementDeserializerFactory()<br>  {<br>    super(JDomElementDeserializer.class);<br>  }<br><br>}</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">JDomElementDeserializer
</p><p style="text-indent: 2em;">用过SAX解析XML的读者，对反序列化的实现比较容易理解，反序列化也采用了消息触发的机制，我们只需继承org.apache.axis.encoding.DeserializerImpl类，并覆盖其中的onEndElement方法：
</p><center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>/**<br>   * 在元素结束触发反序列化的方法<br>   * @param namespace String<br>   命名空间<br>   * @param localName String<br>   本地名称<br>   * @param context DeserializationContext<br>   反序列化上下文<br>   * @throws SAXException<br>   */<br>  public void onEndElement<br>  (String namespace, <br>  String localName, <br>    DeserializationContext context) <br>	throws SAXException<br>	{<br><br>    try<br>	{<br>  //从反序列化上下文对象中获取原始的消息元素<br>   MessageElement msgElem =<br>   context.getCurElement();<br>      if (msgElem != null)<br>	  {<br> MessageContext messageContext =<br> context.getMessageContext();<br>        Boolean currentElement = <br>(Boolean) messageContext.getProperty(<br>DESERIALIZE_CURRENT_ELEMENT);<br>//如果当前的消息元素本身需要反序列化<br>        if (currentElement != null <br>		&amp;&amp; currentElement.booleanValue())<br>		{<br>          org.w3c.dom.Element <br>		  element = msgElem.getAsDOM();<br>          org.jdom.input.DOMBuilder <br>		  db=new org.jdom.input.DOMBuilder();<br>          value=db.build(element);<br>    messageContext.setProperty<br>	(DESERIALIZE_CURRENT_ELEMENT, <br>            Boolean.FALSE);<br>          return;<br>        }<br>//反序列化消息元素中的消息体<br> java.util.ArrayList children =<br> msgElem.getChildren();<br>        if (children != null)<br>		{<br>//取得消息体<br>          msgElem = <br>		  (MessageElement) children.get(0);<br>          if (msgElem != null)<br>		  {<br>            org.w3c.dom.Element <br>			ret = msgElem.getAsDOM();<br>            org.jdom.input.DOMBuilder<br>			db=new org.jdom.input.DOMBuilder();<br> //用DOMBuilder将DOM模型的Element,<br> 转换成JDOM模型的Element<br>            value=db.build(ret);<br>          }<br>        }<br><br>      }<br>    }<br>    catch (Exception ex)<br>	{<br>      //错误，则记日志,并抛SAXException<br>      log.error(Messages.getMessage<br>	  ("exception00"), ex);<br>      throw new SAXException(ex);<br>    }<br>  }</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">完成这四个类的编码，序列化/反序列化器的开发工作基本完成，下面将详细讲解使用及部署方法。
</p><p style="text-indent: 2em;">服务器端应用
</p><p style="text-indent: 2em;">为了简单起见，我们将一个很简单的类通过Web服务发布,类中只有一个名称为hello函数，函数的返回值为JDOM模型的Element。代码如下：
</p><center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>package test;<br><br>import org.jdom.*;<br>import java.rmi.RemoteException;<br><br>public class Sample1<br>implements java.rmi.Remote<br>{<br>  public Sample1()<br>  {<br>  }<br><br>  public Element hello(String name)<br>  {<br>    Element root=new Element("root");<br>    Element hello=new Element("hello");<br>    hello.setText("hello,"+name+"!");<br>    root.addContent(hello);<br>    return root;<br>  }<br><br>}</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">关于如何将一个类发布成Web服务，在此并不进行介绍，相信读者可以自己完成，我们只关注如何将序列化/反序列化器加入到我们的Web服务中。打开web服务的配置文件server-config.xml,编辑关于Sample1的服务的配置部分：
</p><center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>&lt;service name="Sample1" type=<br>"" regenerateElement="true"<br>  provider="java:RPC" <br>  style="rpc" use="encoded"&gt;<br>  <br>  &lt;parameter name="scope" <br>  value="Request" regenerateElement="false"/&gt;<br>  &lt;parameter name="className" <br>  value="test.Sample1" regenerateElement="false"/&gt;<br>  &lt;parameter name="allowedMethods"<br>  value="*" regenerateElement="false"/&gt;<br><br>&lt;typeMapping<br>  encodingStyle=<br>  "http://schemas.xmlsoap.org/soap/encoding/"<br>  qname="ns1:Element"<br>  languageSpecificType=<br>  "java:org.jdom.Element"<br>  serializer=<br>"org.apache.axis.encoding.<br>ser.JDomElementSerializerFactory"<br>  deserializer=<br>"org.apache.axis.encoding.ser.<br>JDomElementDeserializerFactory"<br>  name="Element" regenerateElement="true"<br>  xmlns:ns1="http://jdom.org"/&gt;<br><br>&lt;/service&gt;</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">注意上面代码中的粗体字部分，是我们现在要添加的，它表述了如何将序列化反序列化器部署到Web服务中。
</p><p style="text-indent: 2em;">部署到Web Server
</p><p style="text-indent: 2em;">解压缩本文后面附带的源代码，根目录下有build.xml文件，读者需要正确安装配置好Apache Ant，然后运行
</p><center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>Ant make</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">编译后可生成压缩文件sample.war。将生成的war包部署到Tomcat4.1下，
启动Tomcat,本文默认的Tomcat监听的http端口为8080。后面的客户端测试程序也将通过连接这一端口访问此Web服务。如果读者的
Tomcat不在8080端口上工作，那么客户端程序也要进行相应的修改。最后启动Tomcat,这部分操作完成。 </p><p style="text-indent: 2em;">客户端应用
</p><p style="text-indent: 2em;">下面我们将编写客户端程序访问刚才部署的Web服务，讲解如何把我们编写的序列化/
反序列化器加载到客户端应用程序中，下面是客户端调用的代码,注意斜体字部分，是关于序列化/反序列化器的注册过程(如果你的Web服务器不是工作在
8080端口，或采用了其他Web服务名，请自行更改下面程序中的url变量中的值)，我们在test包下创建了一个名称为
Client的类，代码如下：
</p><center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>package test;<br><br>import org.apache.axis.client.Service;<br>import org.apache.axis.client.Call;<br>import org.apache.axis.utils.Options;<br>import javax.xml.namespace.QName;<br><br>public class Client<br>{<br>  public Client()<br>  {<br>  }<br>  <br>  public static void main(String[] args)<br>  throws Exception<br>  {<br>    if(args.length&lt;1)<br>	{<br>      System.out.println<br>	  ("错误：缺少参数");<br>      System.exit(0);<br>  }<br> //Web服务的URL<br>    String url=<br>"http://localhost:8080/sample/services/Sample1";<br>  Service service=new Service();<br>Call call = (Call)service.createCall();<br>call.setTargetEndpointAddress(url);<br> //注册序列化/反序列化器<br>call.registerTypeMapping<br>(org.jdom.Element.class,<br> new QName("http://jdom.org","Element"),<br>new org.apache.axis.encoding.ser.<br>JDomElementSerializerFactory(),<br>new org.apache.axis.encoding.ser.<br>JDomElementDeserializerFactory());<br>//设置调用方法<br> call.setOperationName(<br>new javax.xml.namespace.QName<br>("http://test", "hello"));<br>//Web服务调用<br>java.lang.Object _resp =<br>call.invoke(new java.lang.Object[]<br>{args[0]});<br>//输出到屏幕<br>org.jdom.output.XMLOutputter out=<br>new org.jdom.output.XMLOutputter();<br>out.output( (org.jdom.Element)<br>_resp, System.out);<br>}<br>}</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">编译后运行该程序，在控制台窗口工程的根目录下输入
</p><center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>run world</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">其中"world"为调用例程中API的入口参数
</p><p style="text-indent: 2em;">经过一次web通讯，一两秒后屏幕将显示运行结果：
</p><center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>&lt;root&gt;<br>    &lt;hello&gt;hello,world!&lt;/hello&gt;<br>&lt;/root&gt;</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">至此我们完成了一次Web服务的访问过程。如果在程序执行过程中，我们用TCP Moniter之类的工具监视这一次访问中的在网络中流入流出的数据，可以看到客户端发起调用的xml数据流如下：
</p><center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>POST /sample/services/Sample1 <br>HTTP/1.0<br>Content-Type: text/xml; <br>charset=utf-8<br>Accept: application/soap+xml, <br>application/dime, multipart/related, <br>text/*<br>User-Agent: Axis/1.1<br>Host: 127.0.0.1<br>Cache-Control: no-cache<br>Pragma: no-cache<br>SOAPAction: ""<br>Content-Length: 430<br>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br>&lt;soapenv:Envelope xmlns:soapenv=<br>"http://schemas.xmlsoap.org/soap/envelope/" <br>xmlns:xsd="http://www.w3.org/2001/XMLSchema" <br>xmlns:xsi="http://www.w3.org/2001<br>/XMLSchema-instance"&gt;<br><br> &lt;soapenv:Body&gt;<br>  &lt;ns1:hello soapenv:encodingStyle=<br>  "http://schemas.xmlsoap.org/soap/encoding/" <br>  xmlns:ns1="http://test"&gt;<br>   &lt;name xsi:type="xsd:string"&gt;world&lt;/name&gt;<br>  &lt;/ns1:hello&gt;<br> &lt;/soapenv:Body&gt;<br>&lt;/soapenv:Envelope&gt;</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">服务器端返回的结果的XML输出流如下：
</p><center><ccid_nobr>
</ccid_nobr><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
<tbody><tr>
    <td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
    <pre><ccid_code>HTTP/1.1 200 OK<br>Content-Type: text/xml; charset=utf-8<br>Date: Wed, 31 Mar 2004 06:42:18 GMT<br>Server: Apache Coyote/1.0<br>Connection: close<br>&lt;?xml version="1.0"<br>encoding="UTF-8"?&gt;<br>&lt;soapenv:Envelope <br>xmlns:soapenv<br>"http://schemas.xmlsoap.org/soap/envelope/" <br>xmlns:xsd="http://www.w3.org/2001/XMLSchema"<br>xmlns:xsi=<br>"http://www.w3.org/2001/XMLSchema-instance"&gt;<br><br> &lt;soapenv:Body&gt;<br>  &lt;ns1:helloResponse soapenv:encodingStyle=<br>  "http://schemas.xmlsoap.org/soap/encoding/" <br>  xmlns:ns1="http://test"&gt;<br><br>   &lt;ns1:helloReturn href="#id0"/&gt;<br>  &lt;/ns1:helloResponse&gt;<br>  &lt;multiRef id="id0" soapenc:root="0"<br>  soapenv:encodingStyle=<br>  "http://schemas.xmlsoap.org/soap/encoding/" <br>  xsi:type="ns2:Element"<br>  xmlns:soapenc=<br>  "http://schemas.xmlsoap.org/soap/encoding/" <br>  xmlns:ns2="http://jdom.org"&gt;<br>   &lt;root&gt;<br>    &lt;hello&gt;hello,world!&lt;/hello&gt;<br>   &lt;/root&gt;<br>  &lt;/multiRef&gt;<br> &lt;/soapenv:Body&gt;<br>&lt;/soapenv:Envelope&gt;</ccid_code></pre> 
   </td>
  </tr>
</tbody></table>
</center>
<p style="text-indent: 2em;">结语
</p><p style="text-indent: 2em;">以上详细讲解了Axis的序列化/反序列化器的开发过程，相信读者已经从中学到了不少知识，并能够应用于自己的项目开发中去。通过掌握这一技术，我们将更为深刻的理解Axis的内部结构和Web服务的工作机理，让您真正驾驭Axis。
</p>]]></description>
</item><item>
<title><![CDATA[香水有毒]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15567</link>
<author>liqiangxf</author>
<pubDate>2006/6/16 18:47:13</pubDate>
<description><![CDATA[<a>　窗外射进来的霓虹灯光，刺破我想你的梦；很冷…
<br>
　　也不知现在是几点钟了？迷迷糊糊地穿上拖鞋，拉了半天也没找到厕所的灯绳，随便应付了自己。从门缝里挤出那间屋里男欢女爱的叫喊声，我预感又将失眠无法睡去。
<br>
　　为了躲开令我炽热的声音，到厨房拿了啤酒和香烟坐到阳台上看一看白天不曾让我们每个人留意的城市。
<br>
　　也许…
<br>
　　也许，我们每个人都不需要拥挤；因为这个不安静的城市已经喧嚣的可以。
<br>
　　预报今天夜间有雨，所以我点燃香烟的焰火让天空注意，这里需要雨，需要雨来浇灭高温的记忆，需要雨来淹没兀凸的情绪，我想我…真的太需要这场雨来清醒。
<br>
　　刚才梦到你，我告诉自己这和坚定没有关系；忘的不彻底，都让我习惯了对自己不诚实，我开始对自己不加理会。
<br>
　　我将啤酒的拉环拼命抛向夜空里…
<br>
　　我是想将寂寞的夜划开距离？还是我想让夜都跟着滴血，惩罚它让我在某个夜里失去你？
<br>
　　我发觉我越来越不了解自己，面对这样的问题经常让我有点儿歇斯底里。其实，只是因为我发现已经失去了你，而你吝啬的只留下有香水味的气息；守着这个原因，我对自己说我并不孤寂，我时刻都拥有你只是没有附加你的美丽。
<br>
　　我无法睡去，在像这样冷的凌晨里；我不知道，自己因为想你已经消耗了几分之几。
<br>
　　也许，是因为夜里有雨连月光都躲进了我的屋里。
<br>
　　也许，是因为月光沾上了你那香水的气息…格外妖娆美丽。
<br>
　　穿过月光的影子里，你给了我最逼真的肢体语言。房间里，所有的香水瓶都在歌唱，所有的香水瓶都在等你，等你从上次争吵了还没有回来看我一眼。
<br>
　　也许，在你走的刹那真的说过不要了。
<br>
　　也许，我们纠缠的这些年真的和幸福没有关联。
<br>
　　挂在嘴边的誓言，就像山上的雪莲那么稀罕难见；努力爱过你，才发现温柔的誓言短暂的可怜，好可怜。
<br>
　　此刻的逃避，只是我这个吞下寂寞的人；我不用别人试着去了解，只需要一个安静的角落遁避时间…
<br>
　　此刻，有个片段叫做失眠；此刻，有个诺言叫做忘却；此刻，有段历程叫做女人。
<br>
　　都不知是几点了？这么坐着已经大半天，一个人离过去的故事太远。
<br>
　　默然见，摸摸我的脸。
<br>
　　是雨，是雨给我的可怜；告诉我谁也不怨，有泪就在今天释放完全。
<br>
　　我不要离你越来越远，哪怕一直是我单方情愿。
<br>
　　也许再不坚持就要放手了，但我决定不要了。
<br>
　　打开房门，香水扑面而来；顿时，让自己懦弱不堪，在幻想这是与你的肢体缠绵。
<br>
　　这个夜里没有我，只是一个被未来抛弃的躯壳；怎么逃，怎么跑，努力的遮掩自己还是将你忘掉的太少。
<br>
　　我早已中了香水的毒，这美丽的毒；直到后来，我又中了思念的毒，这今生都不解的毒……
</a>]]></description>
</item><item>
<title><![CDATA[几则小日本的笑话]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15527</link>
<author>liqiangxf</author>
<pubDate>2006/6/15 18:07:26</pubDate>
<description><![CDATA[<a>　<span class="postbody"><font color="#660033" size="2">1 四个外科医生围坐在一起，谈论他们喜欢为何种人做手术。 <br>　　 第一个医生说：‘我最喜欢为图书管理员做手术。当你打开他们的身体时，里面的一切东西都是按字母顺序排的。 <br>　　 第二个医生说：‘我最喜欢为会计做手术。当你打开他们的身体时，一切都是按数字顺序排列的。 <br>　　 第三个医生说：‘我最喜欢为电工做手术。当你找开他们的身体时，一切都是用颜色做代号的。 <br>　　 第四个医生说：‘我最喜欢为日本人做手术。‘其他三个医生面面相觑，表示怀疑，其中一个问什么。第四个医生说因为他们没有心肝，没有脊骨，且屁股和头可以相交换。 <br>　　 <br>　　2 一个人给日本人商人打电话说：‘我找太郎先生。‘接线员说：‘对不起，他上周去世了。‘第二天，这个人又一次打电话，想跟太郎谈一谈。这次接线员有点厌烦，说：‘我一直在告诉您他上周去世了。您为什么还要打电话呢？‘那个人说：‘因为我就是喜欢听这件事。 </font></span>
</a><p><span class="postbody"><br><font color="#660033" size="2">　　3
一个日本人在中国一家饭店里吃饭。当侍者端上一盘龙虾后，日本人问道：请问你们怎样处理吃剩的虾壳？‘当然是倒掉啦，’侍者道。‘NO！NO！NO！’日
本人摇摇头说，‘在我们日本，吃剩的虾壳就送进工厂里，做成虾饼，然后再卖到你们中国。’一会儿，侍者又端上了一盘水果，日本人指着其中一个柠檬又问：
‘请问你们怎样处理吃剩的柠檬皮？’‘当然是倒掉啦，’侍者道。‘NO！NO！NO！’日本人摇摇头说，‘在我们日本，吃剩的柠檬皮就送进工厂里，做成果
珍，然后再卖到你们中国。’结帐的时候，日本人一边嚼着口香糖，一边笑着问侍：‘请问你们怎样处理吃剩的口香糖？’‘当然是吐掉啦，’侍者道。‘NO！
NO！NO！’日本人摇摇头，得意的说，‘在我们日本，嚼过的口香糖就送进工厂里，做成套套，然后再卖到你们中国。侍者不耐烦的问道：‘那你知道在我们中
国，如何处理用过的套套吗？’‘当然是扔掉啦。’日本人道。侍者摇摇头说：‘NO！NO！NO！在我们中国，用过的套套就送进工厂里，做成口香糖，然后再
卖到你们日本。 <br>　　 <br>　　4
通往芝加哥机场的公路上行驶着一辆出租车，车上乘坐着一个日本游客。这时，一辆出租车超了过去，日本人喊道：‘瞧，丰田！日本制造！多快呀！‘过了一会
儿，又一辆出租车超了过去。‘看，尼桑！是日本制造！太快啦！‘又一辆出租车超了过去。‘嗨！是三菱！日本制造！快极啦！‘出租车司机是百分之百的美国
人，看见那么多日本车超过自己的美国车，加上那个日本人张狂的语言，不免有些恼火。出租车驶入机场停车场，这时，又一辆出租车超了过去。‘是本田！日本制
造！快极啦！没治啦！‘出租车司机停下车，没好气儿地指了指计价器，说道：‘1500美金。‘‘这么近就要1500美金？！‘‘计价器！日本制造！快极
啦！没治啦！‘ <br>　　 <br>　　5
有一架飞机上面坐有一美国人一个德国人一个日本人和一个中国人，飞机飞到一半突然没油了，机长宣布必须有一人跳机以减轻重量，于是那美国人就发挥其个人英
雄主义精神走到飞机舱口高呼一声：美利坚和众国万岁！！然后就跳下去了！飞机继续飞。。。。。这时机长又宣布：重量还是太重了，还的跳下去一个人！于是德
国人就站出来，走到飞机舱口，高呼一声：德意志帝国万岁！也跟着跳了下去！飞机继续飞。。。。。这时机长又宣布说：不行，还是重了，必须再跳下去一个人！
中国人看了日本人一眼，站起来走到了飞机舱口，日本人赶紧走过来紧紧握住中国人的手：好兄弟，我不会忘了你的！中国人高呼一声：中华人民共和国万岁！！接
着一脚把日本人给踹下去了！！。。。。。。&nbsp;</font></span></p>
<p><span class="postbody"><br><font color="#660033" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6 来自美国、日本和中国的三个探险者在非洲探险时被食人族捉住，食人族酋长比较开恩，决定不吃他们，但必须罚他们每人100大板，并允许他们各自许下一个愿望。 <br>　　首先是美国人： <br>　　“请把6个坐垫放在我屁股上。” <br>　　酋长答应了美国人的要求。可是，坐垫比较薄，打到第70板时，坐垫已经破烂不堪，美国人精神恍惚地嘟囔道： <br>　　“不管怎样，我们的民族最有创造力的……”然后便昏死过去。 <br>　　轮到日本人，他目睹了美国人的?状，于是请求道：“请把16个床垫放在我的屁股上。” <br>　　酋长答应了日本人的要求。日本人被打了100大板后，笑呵呵地起来说道：“我们的民族是模仿力最强的民族！” <br>　　轮到中国人，中国人笑着请求道： <br>　　 <br>　　“请把那个日本鬼子放在我的屁股上！”</font></span></p>]]></description>
</item><item>
<title><![CDATA[不要作浮躁的人]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=liqiangxf&amp;id=15526</link>
<author>liqiangxf</author>
<pubDate>2006/6/15 17:39:10</pubDate>
<description><![CDATA[<a>　
			1.不要看到别人的回复第一句话就说：给个代码吧！你应该想想为什么。当你自己想
出来再参考别人的提示，你就知道自己和别人思路的差异。
2.初学者请不要看太多太多的书那会误人子弟的，先找本系统的学，很多人用了很久
都是只对部分功能熟悉而已，不系统还是不够的。
3.看帮助,不要因为很难而自己是初学者所以就不看；帮助永远是最好的参考手册，
虽然帮助的文字有时候很难看懂，总觉得不够直观。
4.不要被对象、属性、方法等词汇所迷惑；最根本的是先了解最基础知识。
5.不要放过任何一个看上去很简单的小问题--他们往往并不那么简单，或者可以引伸
出很多知识点；不会举一反三你就永远学不会。
6.知道一点东西，并不能说明你会写脚本，脚本是需要经验积累的。
7.学脚本并不难，JSP、ASP、PHP等等也不过如此--难的是长期坚持实践和不遗余力的博览
群书；
8.看再多的书是学不全脚本的，要多实践
9.把时髦的技术挂在嘴边，还不如把过时的技术记在心里；
10.学习脚本最好的方法之一就是多练习；
11.在任何时刻都不要认为自己手中的书已经足够了；
12.看得懂的书，请仔细看；看不懂的书，请硬着头皮看；


13.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍；
14.请把书上的例子亲手到电脑上实践，即使配套光盘中有源文件；
15.把在书中看到的有意义的例子扩充；并将其切实的运用到自己的工作中；
16.不要漏掉书中任何一个练习——请全部做完并记录下思路；
17.当你用脚本到一半却发现自己用的方法很拙劣时，请不要马上停手；请尽快将余
下的部分粗略的完成以保证这个代码的完整性，然后分析自己的错误并重新编写和工
作。
18.别心急，写脚本确实不容易；水平是在不断的实践中完善和发展的；
19.每学到一个脚本难点的时候，尝试着对别人讲解这个知识点并让他理解----你能
讲清楚才说明你真的理解了；
20.记录下在和别人交流时发现的自己忽视或不理解的知识点；
21.保存好你做过的所有的源文件----那是你最好的积累之一；
22.对于网络，还是希望大家能多利用一下，很多问题不是非要到论坛来问的，首先
你要学会自己找答案，比如google、百度都是很好的搜索引擎，你只要输入关键字就
能找到很多相关资料，别老是等待别人给你希望，看的出你平时一定也很懒！
23，到一个论坛，你学会去看以前的帖子，不要什么都不看就发帖子问，也许你的问
题早就有人问过了，你再问，别人已经不想再重复了，做为初学者，谁也不希望自己
的帖子没人回的。
24，虽然不是打击初学者，但是这句话还是要说：论坛论坛，就是大家讨论的地方，
如果你总期望有高手总无偿指点你，除非他是你亲戚！！讨论者，起码是水平相当的
才有讨论的说法，如果水平真差距太远了，连基本操作都需要别人给解答，谁还跟你
讨论呢。


浮躁的人容易问：我到底该学什么；----别问，学就对了；
浮躁的人容易问：Js有钱途吗；----建议你去抢银行；
浮躁的人容易说：我要中文版！我英文不行！----不行？学呀！
浮躁的人分两种：只观望而不学的人；只学而不坚持的人；
浮躁的人永远不是一个高手。</a>]]></description>
</item>
</channel>
</rss>