<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>seawavecau</title>
    <description></description>
    <link>http://seawavecau.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>打工者最高境界</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/228857" style="color:red;">http://seawavecau.javaeye.com/blog/228857</a>&nbsp;
          发表时间: 2008年08月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><span style="font-size: small;"><strong>&nbsp;打工者最高境界</strong></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small;">钱多事少离家近、睡觉睡到自然醒、位高权重责任轻；<br />老板说话不用听、五年就领退休金、领钱领到手抽筋；<br />旅游出国休假勤、股票分红拼命领、出差作事别人请；<br />金融风暴不担心、月月出国去散心、双Ｂ跑车任我行；<br />金卡银卡刷不停、吃喝玩乐钱照领、全家出游有奖金；<br />回来聊天谈事情、经理来了不用停、只说谢谢你关心；<br />说了只有鬼相信、哪有这等好事情、原来作梦还没醒；<br />醒来只有酒一瓶、藉酒浇愁抚心情、没有付出没报应！</span> </p>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/228857#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 17 Aug 2008 10:03:06 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/228857</link>
        <guid>http://seawavecau.javaeye.com/blog/228857</guid>
      </item>
      <item>
        <title>承接杭州地区Java,J2EE项目开发，性能优化</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/224412" style="color:red;">http://seawavecau.javaeye.com/blog/224412</a>&nbsp;
          发表时间: 2008年08月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          承接杭州地区Java,J2EE项目开发，项目性能优化。
涉及 报表、短信平台功能开发。

涉及技术：EJB3,Hibernate,Struts,Spring,Webservice,JDBC,Javascript,分布式应用,集群应用等
涉及服务器：Tomcat ,JBoss,Weblogic,WebSphere.
涉及数据库：Mysql,SqlServer,Oracle,Sybase.

业余时间承接杭州地区Java,J2EE项目

现在团队有3个人。都有丰富的工作经验。
涉及到金融、电力、移动增值行业。

联系人:seawave 
QQ：36186705
MSN:seawavecau@hotmail.com




          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/224412#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 05 Aug 2008 10:54:11 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/224412</link>
        <guid>http://seawavecau.javaeye.com/blog/224412</guid>
      </item>
      <item>
        <title>hibernate3.04中文文档</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/222975" style="color:red;">http://seawavecau.javaeye.com/blog/222975</a>&nbsp;
          发表时间: 2008年08月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <a href="../../../upload/attachment/33284/ecd6f0ab-61d0-3e8a-82e4-48022eef61b6.rar" target="_blank">hibernate3.04中文文档.rar</a> <br /><br />&lt;/table><br />&lt;广告也精彩> <br />&lt;script language="javascript" type="text/JavaScript"> var alimama_pid= "mm_11157712_0_0"; var alimama_key= ""; var alimama_uniteid= "175405"; var alimama_col= "3"; var alimama_row = "1"; var alimama_height = "110"; var alimama_width = "896"; var alimama_type = "1111"; var alimama_mode= "32"; var alimama_titlecolor= "0000FF"; var alimama_picolor= "CC0000"; var alimama_bgcolor="FFFFFF"; var alimama_bordercolor="E6E6E6"; var alimama_defaultid="165805,243395,613676,572861,209436,170289,121358,854860,182653,317042,121353"; var alimama_timestr="1217554806"; &lt;/script> &lt;script language="javascript" src="http://a.alimama.cn/sinf.js">&lt;/script>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/222975#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 01 Aug 2008 23:20:05 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/222975</link>
        <guid>http://seawavecau.javaeye.com/blog/222975</guid>
      </item>
      <item>
        <title>spring_in_action_中文版</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/222451" style="color:red;">http://seawavecau.javaeye.com/blog/222451</a>&nbsp;
          发表时间: 2008年07月31日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>[url=../../../topics/download/e6d97f35-df83-3bea-bbe4-0431e0631895]spring_in_action_中文版.rar[/url] (341.7 KB)
<script type="text/JavaScript"><!--
 var alimama_pid= "mm_11157712_0_0"; var alimama_key= ""; var alimama_uniteid= "175395"; var alimama_col= "3"; var alimama_row = "1"; var alimama_height = "110"; var alimama_width = "896"; var alimama_type = "1111"; var alimama_mode= "32"; var alimama_titlecolor= "0000FF"; var alimama_picolor= "CC0000"; var alimama_bgcolor="FFFFFF"; var alimama_bordercolor="E6E6E6"; var alimama_defaultid="296763,532879,922176,1015285,944408,519274,309745,571270,154929,510952,480173,504161"; var alimama_timestr="1217554309";
// --></script>
<script src="http://a.alimama.cn/sinf.js"></script>
</p>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/222451#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 31 Jul 2008 21:25:53 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/222451</link>
        <guid>http://seawavecau.javaeye.com/blog/222451</guid>
      </item>
      <item>
        <title>天涯收藏贴</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/222437" style="color:red;">http://seawavecau.javaeye.com/blog/222437</a>&nbsp;
          发表时间: 2008年07月31日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <table cellspacing="2" bordercolor="#ffffff" border="0" align="center" cellpadding="2">
<tbody>
<tr>
<td align="center" bgcolor="#336699"><span style="color: #ffffff;"><span style="font-size: x-small;">『</span><a href="http://cache.tianya.cn/index.htm?vitem=house" target="_top" style="text-decoration: underline;"><span style="font-size: x-small; color: #ffffff;">房产观澜</span></a><span style="font-size: x-small;">』 [经验交流]月入1.9万，我为什么不买房－－一个80后的住房观</span></span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><a href="http://cache.tianya.cn/publicforum/content/house/1/100703.shtml">http://cache.tianya.cn/publicforum/content/house/1/100703.shtml</a></p>
<p>&nbsp;</p>
<p>我写这篇文章的目的不是要跟人辩论什么，只是想与大家交流一下，一个80后的工作没几年的被定义为刚需的年轻人对于购房的看法，我欢迎讨论但是拒绝吵架，我只是希望所有看这篇文章的人，能够从一个个体去看到整体，从而更好的总结和把握经济发展的规律和方向。此外，我只看机制不谈政治，言语如有违背，请斑竹多多包涵<br />　　介绍一下我个人的情况，没有任何虚假或者夸张的成分。我是80后，中国排名TOP 2的高校硕士毕业，05年参加工作，在一个欧洲的外企做职业经理人，目前月薪为1.9万，三个月后涨到大概2.2-2.4万，如果在北京之外的其他城市工作，则每个月再多3000-6000的津贴。每年会涨一次工资，一次大约15%-30%，如果升职则涨50%。四险一金加额外的商业保险，交通、通讯费用基本上全部报销，平时工作不是很忙，所有的法定节假日都休息加16&mdash;30天不等的带薪年假。这个收入比照工作年限，在行业内部算是还可以的收入，可能是因为升职较快，几次加薪老板也比较照顾吧。我不认为自己的收入很高，天外有天人外有人，不同的行业收入会有很大的不同，举个例子，我的一个非常要好的同学毕业后去了一个投行，3年的总收入大概在700万左右（当然这极少数同时也受行业周期的影响），不过也有毕业3年内总收入不超过20w的，比如说做公务员。行业不一样利润率是不一样的，因此对于收入，我从来不会做攀比。对于赚钱，我希望能够凭借着自己的能力换取心安理得的收入，趁着年轻再积累些经验，不会在乎一时的得失，这份工作给我最大的收获就是在刚刚踏入社会就获得一个很高的平台去学习和实践商业知识和管理经验，为将来开创自己的事业打下了很好的基础，在行业里面我更多的是抱着学习的心态，将来我想我可能还是要跳出行业的，毕竟职业经理人在职场都会遇到玻璃屋顶。一直欣赏一句话：&ldquo;君子所取者远，则必有所待，所就者大，则必有所忍，志大而量广，才有余而识具足，则必取其远，必就其大&rdquo;<br />　　<br />　　说说我现在对购房的看法：我是坚决不会在现在的情况下买房的，主要的原因如下<br />　　<br />　　1.不买房的第一个原因：我买不起----我刚毕业的时候没有任何积蓄，每月10000元的月薪，第二年涨到13000/月，第三年才涨到现在的收入，我刚工作的时候，发现我想买一套70万的房子，首付差个20-30万，还需要贷款40-50万，现在看，我把手头的钱全都投进去，至少还差个150万&hellip;,也就是说我毕业的时候买不起，现在发现更加买不起！<br />　　<br />　　分析：这种现象正常不正常？<br />　　1） 如前文所说，我觉得一个刚刚硕士毕业的学生，05年入职时的起薪达到12万左右至少不算低（那时没有通货膨胀，这个工资标准在05年相当具有竞争力）<br />　　2） 我个人的升职和加薪的速度和幅度都不慢，即便是在整个行业内比较，都可以这样说，虽然现在跳槽可以达到40万左右的年薪，但是对我来讲不是最佳时机<br />　　3） 我所加入的公司即便在中国最好的高校，也是从最优秀的学生里面招人（每个学校也就招不超过10个人），所以至少不存在去到其他公司的同学们（金融行业部分部门除外，象那个哥们一样的毕竟少数）大范围大幅度的超过我的收入<br />　　这种情况下，我或者说我们仍然买不起房，正常还是不正常？如果买不起尚且算是正常的话，但是越来越买不起就是不正常的了<br />　　2.不买房的第二个原因----我不会接受父母的资助来买房----我的父母一直以来有稳定的工作，我的父亲在过往的十几年中有过几次成功的投资，因此他们还是积累了一些财富。他们也愿意资助我在北京买房、买车，甚至是全款去买。但是，我坚决的不同意接受他们的资助，哪怕只是30%的首付！我不认为一个成年人在自己有劳动能力的情况下不仅不去赡养父母还要让父母帮助买房是正确的事情。另外，以我对于中国的了解，中国有很多家庭为了自己子女结婚买房，会倾尽两代人、3个家庭，6口人的所有（这非常的正常，中国很多工人家庭一辈子的工资收入就是20-30万，农民家庭？能供孩子读完大学就已经很了不起很了不起了！小两口毕业就结婚，自己也没有积蓄），所以我们要考虑这个现象是否合理<br />　　分析：这种倾尽几代人全部财富去买个火柴盒的现象正常吗？<br />　　1） 提到这一点，很多人说这是正常的，因为住房是刚需，多贵也要买！但是，所谓的刚需是真正的刚需吗？这种刚需合理吗？如果房子涨到1亿元一套，那全中国的人就都是刚需了！试想一下，如果哪个国家的政府哪天真的丧心病狂到了宣布：&ldquo;空气所有权为国家所有，任何人呼吸空气的时候都必须缴纳空气呼吸费&rdquo;，（这与土地国有的政策其实是一样的）那么的确形成了刚需，但是这个政府的命运只有一个----那就是被人民撕成碎片!为什么？因为你连人民最基本的活着的权利都要剥夺！住房的权利也是人最基本的权利，现在的房价已经到了极限的极限了，如果再涨下去，可能真的有人要露宿街头，然后呢？要知道，我国政府是&ldquo;以不造反为底线&rdquo;的！<br />　　2） 看中国的经济环境，已经被房地产的挤出效应逼迫到了崩溃的边缘，谁能保证未来的几十年，你还在还房贷的时候不失业？不生病？现在当房奴的人，应该庆幸自己还有当房奴的资格和体格，如果你因为生病丧失了劳动能力或者由于经济危机（已经在爆发的边缘且几乎不可避免）造成大量闲置劳动力的时候，就连当奴隶的资格都没有了！干什么都要量力而行，我搞不懂为什么有人会把自己今后20年乃至30年的预期收入都压上，中国改革开放才不过30年，在这30年中，中国基本没有经历过大的战争、灾害、经济危机，但这意味着今后就能够避免吗？你看到了你近几年的收入是在慢慢上升的，但是你能保证今后20年都是在上升么？<br />　　3） 现在很多80后的同龄人到了结婚的年龄，于是造成了前文所说的两家凑钱给子女买房的现象。要知道，80后的小两口现在还年轻，好点的呢还处于&ldquo;事业的上升期&rdquo;，暂时没子女，父母还都健康，再过10年到20年呢？也许你的事业早就进入到了平稳期（男人35、女人30）甚至衰退期，看现在周围的情况，也许到45的时候下岗了也不无可能，那时的子女尚未成年、父母也已经苍老且有可能疾病缠身。你指望你的国家给你提供优良的教育支持和医疗保障吗？03年我的外婆住院，我每天去交几千元的住院费，外公外婆一生的积蓄，我在一个月内全部交给医院（我外公离休干部，外婆虽然是离休待遇，但是她们厂破产了），直到实在交不起，然后出院，然后去世&hellip;&hellip;我外婆去世的时候，有60年的党龄，她是个真正的共产党员，她如果不是因为没有文化，至少也是个市级的干部，但是最后也是如此，只不过，她住院的时间长些罢了。她生前很勤俭，钱一分一分的省下来，也许是想能留给子孙，但是没想到最后却成千上万的交给了医院----这对我的影响很大，我从来不会因为攒钱而影响自己的生活质量。当生于80年代的我们在几十年后自己的父母面临这种情况的时候，在巨额的医药费和至亲至爱之间抉择的时候，我会毫不犹豫的选择后者----即便这可能让我身上再背负几十年的债务！前段时间，我的一个朋友的母亲得了白血病，从确诊到去世，一共7个月，共花费医药费50多万，用他的话&ldquo;哪怕有1%的希望，我也想试一下&rdquo;，其实在生命面前，房屋的刚需算得了什么呢？扯远了我们看回来，在这种可以预见到的未来场景之下，你们是不是觉得透支几十年的收入、花光父母所有的养老钱买个房子实在是有些冒险呢？换句话，在未来的几十年里面，你敢辞职么？也许有网友说&ldquo;我敢或者我认识的某某就敢&rdquo;其实你我大家心里都明白，大多数人，不敢。<br />　　3.不买房的第三个原因：不做房奴！不做奴隶！大家在成为房奴的时候，请先问自己：&ldquo;我是谁的奴隶？&rdquo;我是个纳税人，我每个月都会向国家缴纳2000多元的所得税和1500元的养老保险，同时公司也会为我缴纳几千元的社会保险，我从来不指望30年后退休能靠这些养老保险活着，社保资金违规使用的问题也已经不是什么秘密。如果这些钱能够用到该用的地方去，帮助应该帮助的人，我没有任何二话，我是中国人，我愿意尽我的社会责任，然而现在的情况是：这些钱很大一部分被利益集团使用种种方法转移到了个人的口袋，OK，这我认了，但是，It&rsquo;s enough！我不会再让他们通过什么土地什么刚需的名义再掠夺，让我在今后的几十年每月拿出来一笔钱来&ldquo;缴纳&rdquo;这种极端不合理的税赋，与其如此，我还不如孝敬父母，开创事业，再不济也可吃喝玩乐！因为目前还单身，我现在跟一个哥们合租着二环内的房子（租售比320：1，买房利息都够支付房租的），平时打打球健健身，空闲出去旅旅游会会朋友，回学校听听讲座、看看书，约了个中医时常按摩一下，想吃什么吃什么，冰箱冷藏室里开心的塞满冰激淋：）想看电视看电视想打游戏打游戏，从来不自己收拾家，定期请个阿姨来打扫，把衬衣洗了熨了，干干净净的，半夜12点饿了下楼吃肉串喝啤酒，所谓人生在世须尽欢啊！呵呵，忍不住骂句脏话：&ldquo;刚需，去他妈的刚需吧&rdquo;。<br />　　<br />　　也许我们都是幸运的，我们所有人都极有可能有幸将经历有生以来最大的一场经济危机，房地产已经绑架了银行、绑架了中国经济，这句话没错。在过往的几年里，房地产所产生的巨大的泡沫导致了央行巨量的货币供应，而每年接近两位数的GDP又使得所有人对中国的经济盲目乐观，借款消费、超前消费蔚然成风。其实地方政府通过卖地所带来的巨大的GDP涨幅之作用还不如那两个打赌吃屎的科学家&mdash;至少他们没有产生副作用。07年开始至今的通货膨胀仅仅是序幕而已，这些通胀只是由于楼市、股市暴涨所附加带来的&ldquo;可控范围内的通胀&rdquo;，当整个经济面大面积的通胀，特别是油价、煤价、电价逐步放开以后，通货膨胀将进入到&ldquo;不可控范围内的通胀&rdquo;，政府只能够通过加息来平抑通胀，但是当加息加到一定程度，那些背负巨额贷款买房或者炒房的人将无法支付沉重的贷款，整个房地产的资金链必然断裂断裂，房价暴跌，银行手里有大把的房子需要变现，供给的激增势必引发新一轮的暴跌，恶性循环的结果就是银行大量的房贷坏账死帐形成，介于我国的银行不可能破产，央行只能增发钞票来填补这一亏空，货币供应量进一步加大导致了更大的通胀，恐慌的人群大量抛售人民币换取外币，人民币由对内贬值转变为全面贬值，经济危机全面爆发，&ldquo;恶性通胀时期&rdquo;就真的到来了！等待我们的将是与日本一样的所谓&ldquo;失去的十年&rdquo;，甚至更多，而买单的永远是老百姓。也许，那些前期通过楼市吸饱了人血的吸血鬼，早就把自己手中的人民币换成外汇，躺在国外的海滨豪宅里欢度余生呢。<br />　　<br />　　现在还有许多人大声的叫嚷着房价永远不会跌还会涨！这类人大致分为三类，一类是利益集团的代言人或者走狗，主子指到哪里它就咬到哪里；第二类是一些炒房的人，手里投资了几套房产，恭喜你，你中圈套了！请相信那只幕后的黑手，&rdquo;你进来了不留下内裤就想出去？跑不了你丫的！&rdquo;不过就像股市，不到输掉内裤，这些人不会相信的：）（画外音：深圳的朋友们，你们好吗？你们在哪里？让我们听见你们的欢呼声！）最后一类就是普通的老百姓，其实也就是被迫无奈买了住房，自己100万买的看到别人需要120万买就很高兴，觉得自己赚到了20万，其实如果你自己住，它涨到200万你还能不住了？说句不好听的，如果一个流氓跟你说：&ldquo;来，让我强奸你10遍我就给你一套房&rdquo;，而哪天你听说邻居那个倒霉蛋被强奸了12遍才得到那套房，你就非常的高兴？？？都是老百姓，都是受害者，非得比比谁受的伤害更深是吧？有点血性，别轻易被人强奸好不好？！<br />　　<br />　　<br />　　<br />　　说了这么多，自己的观点基本表达清楚了，我想绝大多数的中国人都是有良知的，现在我们的处境已经到了最艰难的地步，也许我们不知道该做什么，但是至少知道，不该做什么---不仅仅对你我，更对那些把握国家命脉的人！08年是个艰难的年份，各种自然灾害加上潜在的经济危机，祝福中国能够坚强的面对2008，国家会好的，天佑中华</p>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/222437#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 31 Jul 2008 20:40:22 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/222437</link>
        <guid>http://seawavecau.javaeye.com/blog/222437</guid>
      </item>
      <item>
        <title>Java业界新闻</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/221184" style="color:red;">http://seawavecau.javaeye.com/blog/221184</a>&nbsp;
          发表时间: 2008年07月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p>
<p>Mysql被Sun收购</p>
<p>Hibernate被Jboss收购</p>
<p>Jboss被RedHat收购</p>
<p>BEA(WebLogic)被Oracle收购&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/221184#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 29 Jul 2008 17:13:49 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/221184</link>
        <guid>http://seawavecau.javaeye.com/blog/221184</guid>
      </item>
      <item>
        <title>用Mojo开发Maven2插件</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/221173" style="color:red;">http://seawavecau.javaeye.com/blog/221173</a>&nbsp;
          发表时间: 2008年07月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p>
<p>用Mojo开发Maven2插件</p>
<p>&nbsp;</p>
<p>reference</p>
<p>&nbsp;</p>
<p><a href="http://maven.apache.org/plugin-developers/index.html">http://maven.apache.org/plugin-developers/index.html</a></p>
<p>&nbsp;</p>
<h2>Plugin Developers Centre</h2>
<p>This documentation centre is for those that are developing Maven plugins. This might be for your own build, or as an accompaniment to your third party tool.</p>
<p><strong>What is a Mojo?</strong> A mojo is a <strong>M</strong>aven plain <strong>O</strong>ld <strong>J</strong>ava <strong>O</strong>bject. Each mojo is an executable <em>goal</em> in Maven, and a plugin is a distribution of one or more related mojos.</p>
<ul>
<li><a href="http://seawavecau.javaeye.com/admin/blogs/guides/plugin/guide-java-plugin-development.html">Your First Mojo</a> - Learn how to write your first plugin </li>
<li><a href="http://seawavecau.javaeye.com/admin/blogs/221173/plugin-testing.html">Testing your Plugin</a> - How to write tests for your plugins </li>
<li><a href="http://seawavecau.javaeye.com/admin/blogs/221173/plugin-documenting.html">Documenting your Plugin</a> - How to write documentation for your plugins </li>
<li><a href="http://seawavecau.javaeye.com/admin/blogs/221173/cookbook/index.html">Plugins Cookbook</a> - Examples for how to perform common tasks in plugins </li>
</ul>
<div class="section">
<h3>Reference</h3>
<ul>
<li><a href="http://seawavecau.javaeye.com/admin/blogs/developers/mojo-api-specification.html">Mojo API and Annotation Reference</a> </li>
<li><a href="http://seawavecau.javaeye.com/admin/blogs/ref/current/index.html">Maven API Reference</a> </li>
<li><a href="http://seawavecau.javaeye.com/admin/blogs/guides/mini/guide-maven-classloading.html">Maven Class Loading</a> </li>
</ul>
</div>
<div class="section">
<h3>Examples</h3>
<ul>
<li><a href="http://seawavecau.javaeye.com/admin/blogs/examples/injecting-properties-via-settings.html">Injecting POM Properties via settings.xml</a> </li>
</ul>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/221173#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 29 Jul 2008 17:00:12 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/221173</link>
        <guid>http://seawavecau.javaeye.com/blog/221173</guid>
      </item>
      <item>
        <title>Mysql登陆命令</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/219375" style="color:red;">http://seawavecau.javaeye.com/blog/219375</a>&nbsp;
          发表时间: 2008年07月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p>
<p>mysql -u用户名 -p用户密码</p>
<p>注意小写</p>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/219375#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 25 Jul 2008 10:44:06 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/219375</link>
        <guid>http://seawavecau.javaeye.com/blog/219375</guid>
      </item>
      <item>
        <title>Java6 WebServices （二）客户端 </title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/218598" style="color:red;">http://seawavecau.javaeye.com/blog/218598</a>&nbsp;
          发表时间: 2008年07月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="postbody">在<a href="http://blog.csdn.net/vip01/archive/2006/12/20/1450269.aspx"><span style="color: #1d58d1;">Java6 WebServices （一）服务端</span></a>这篇文章中和大家分享了Java6 WebServices 服务端的写法，光有服务端还不行，还要有客户端才行啊。看了一些网友的相关文章，都只给出了服务端的写法，没有说客户端怎么说。经过一番研究，终于搞定了客户端，今天偶就和大家分享下。<br />首先启动<a href="http://blog.csdn.net/vip01/archive/2006/12/20/1450269.aspx"><span style="color: #1d58d1;">Java6 WebServices （一）服务端</span></a>一文中写好的服务端。<br />新建个项目。命令行到src目录执行，<br />wsimport -keep&nbsp; http://localhost:8080/HelloService?wsdl<br />会自动生成一些代码。<br /><br />
<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 4px; width: 95%; padding-top: 4px; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial; border: windowtext 0.5pt solid;">
<div><span style="color: #000000;"><br /></span><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;org.hermit.study.jdk.client;<br /><br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.jws.WebMethod;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.jws.WebParam;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.jws.WebResult;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.jws.WebService;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.jws.soap.SOAPBinding;<br /><br /><br /></span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />&nbsp;*&nbsp;This&nbsp;class&nbsp;was&nbsp;generated&nbsp;by&nbsp;the&nbsp;JAXWS&nbsp;SI.<br />&nbsp;*&nbsp;JAX-WS&nbsp;RI&nbsp;2.0_02-b08-fcs<br />&nbsp;*&nbsp;Generated&nbsp;source&nbsp;version:&nbsp;2.0<br />&nbsp;*&nbsp;<br />&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />@WebService(name&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">Hello</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;targetNamespace&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">http://jdk.study.hermit.org/client</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br />@SOAPBinding(style&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;SOAPBinding.Style.RPC)<br /></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">interface</span><span style="color: #000000;">&nbsp;Hello&nbsp;{<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080;">@param</span><span style="color: #008000;">&nbsp;arg0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080;">@return</span><span style="color: #008000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns&nbsp;java.lang.String<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;@WebMethod<br />&nbsp;&nbsp;&nbsp;&nbsp;@WebResult(partName&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">return</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String&nbsp;sayHello(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@WebParam(name&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">arg0</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;partName&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">arg0</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;arg0);<br /><br />}<br /></span></div>
</div>
<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 4px; width: 95%; padding-top: 4px; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial; border: windowtext 0.5pt solid;">
<div><span style="color: #000000;"><br /></span><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;org.hermit.study.jdk.client;<br /><br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.net.MalformedURLException;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.net.URL;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.xml.namespace.QName;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.xml.ws.Service;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.xml.ws.WebEndpoint;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.xml.ws.WebServiceClient;<br /><br /><br /></span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />&nbsp;*&nbsp;This&nbsp;class&nbsp;was&nbsp;generated&nbsp;by&nbsp;the&nbsp;JAXWS&nbsp;SI.<br />&nbsp;*&nbsp;JAX-WS&nbsp;RI&nbsp;2.0_02-b08-fcs<br />&nbsp;*&nbsp;Generated&nbsp;source&nbsp;version:&nbsp;2.0<br />&nbsp;*&nbsp;<br />&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />@WebServiceClient(name&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">HelloService</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;targetNamespace&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">http://jdk.study.hermit.org/client</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;wsdlLocation&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">http://localhost:8080/HelloService?wsdl</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br /></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;HelloService<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;Service<br />{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">final</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;URL&nbsp;HELLOSERVICE_WSDL_LOCATION;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;URL&nbsp;url&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;">&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;URL(</span><span style="color: #000000;">"</span><span style="color: #000000;">http://localhost:8080/HelloService?wsdl</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">&nbsp;(MalformedURLException&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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HELLOSERVICE_WSDL_LOCATION&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;url;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;HelloService(URL&nbsp;wsdlLocation,&nbsp;QName&nbsp;serviceName)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">super</span><span style="color: #000000;">(wsdlLocation,&nbsp;serviceName);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;HelloService()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">super</span><span style="color: #000000;">(HELLOSERVICE_WSDL_LOCATION,&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;QName(</span><span style="color: #000000;">"</span><span style="color: #000000;">http://jdk.study.hermit.org/client</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">HelloService</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080;">@return</span><span style="color: #008000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns&nbsp;Hello<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;@WebEndpoint(name&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">HelloPort</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;Hello&nbsp;getHelloPort()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;(Hello)</span><span style="color: #0000ff;">super</span><span style="color: #000000;">.getPort(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;QName(</span><span style="color: #000000;">"</span><span style="color: #000000;">http://jdk.study.hermit.org/client</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">HelloPort</span><span style="color: #000000;">"</span><span style="color: #000000;">),&nbsp;Hello.</span><span style="color: #0000ff;">class</span><span style="color: #000000;">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br /></span></div>
</div>
<br />下面我们再写个测试，看看能不能用：<br />
<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 4px; width: 95%; padding-top: 4px; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial; border: windowtext 0.5pt solid;">
<div><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;org.hermit.study.jdk.client.test;<br /><br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;org.hermit.study.jdk.client.Hello;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;org.hermit.study.jdk.client.HelloService;<br /><br /><br /></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;TestClient&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;main(String[]&nbsp;args)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HelloService&nbsp;service&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;HelloService();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hello&nbsp;_hello&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;service.getHelloPort();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(_hello.sayHello(</span><span style="color: #000000;">"</span><span style="color: #000000;">hermit</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div>
</div>
执行。<br />控制台输出：<br />hello:hermit<br /><br />ok！搞定。<br />java6搞定web service就这么简单。。。。。。。。。。。。。。。。。。。。。。。。。。<br /><br />xfire危险了。。。。。。。。。。。。。。。。。。。。。。。。</div>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/218598#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 23 Jul 2008 15:18:47 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/218598</link>
        <guid>http://seawavecau.javaeye.com/blog/218598</guid>
      </item>
      <item>
        <title>Java6 WebServices （一）服务端</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/218597" style="color:red;">http://seawavecau.javaeye.com/blog/218597</a>&nbsp;
          发表时间: 2008年07月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;Java6发布了，其中一个吸引我的新特性就是原生支持WebServices。在这和大家分享下学习心得。<br />下面就开始写个最简单的WebServices：</p>
<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 4px; width: 95%; padding-top: 4px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border: windowtext 0.5pt solid;">
<div><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;org.hermit.study.jdk;<br /><br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.jws.WebMethod;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.jws.WebService;<br /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.jws.soap.SOAPBinding;<br /><br />@WebService(targetNamespace&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">http://jdk.study.hermit.org/client</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br />@SOAPBinding(style&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;SOAPBinding.Style.RPC)<br /></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Hello&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;@WebMethod<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String&nbsp;sayHello(String&nbsp;name)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">hello:</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span></div>
</div>
<p>怎么样简洁吧，很多朋友的写法还要在命令行中执行&ldquo;<span style="font-family: 'Courier New',Courier,monospace;"><span style="color: #000000;">wsgen&nbsp;&ndash;cp&nbsp;. &lt;path&gt;</span></span>&rdquo;<br />用偶这种方法写的service可以省去上面这步。<br /><br />targetNamespace = "http://jdk.study.hermit.org/client"这句是指定客户端获取服务端服务后存放的类路径。注意是反着的，http://jdk.study.hermit.org/client在客户端生成的类会放在org.hermit.study.jdk.client包下。<br /><br />下面是发布服务：</p>
<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 4px; width: 95%; padding-top: 4px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border: windowtext 0.5pt solid;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;org.hermit.study.jdk;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.xml.ws.Endpoint;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" id="_88_206_Open_Image" onclick="this.style.display='none'; document.getElementById('_88_206_Open_Text').style.display='none'; document.getElementById('_88_206_Closed_Image').style.display='inline'; document.getElementById('_88_206_Closed_Text').style.display='inline';" align="top" alt="" /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" id="_88_206_Closed_Image" onclick="this.style.display='none'; document.getElementById('_88_206_Closed_Text').style.display='none'; document.getElementById('_88_206_Open_Image').style.display='inline'; document.getElementById('_88_206_Open_Text').style.display='inline';" align="top" alt="" style="display: none;" /></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;StartService&nbsp;</span><span id="_88_206_Closed_Text" style="display: none; background-color: #ffffff; border: #808080 1px solid;">...</span><span id="_88_206_Open_Text"><span style="color: #000000;">{<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" id="_130_204_Open_Image" onclick="this.style.display='none'; document.getElementById('_130_204_Open_Text').style.display='none'; document.getElementById('_130_204_Closed_Image').style.display='inline'; document.getElementById('_130_204_Closed_Text').style.display='inline';" align="top" alt="" /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" id="_130_204_Closed_Image" onclick="this.style.display='none'; document.getElementById('_130_204_Closed_Text').style.display='none'; document.getElementById('_130_204_Open_Image').style.display='inline'; document.getElementById('_130_204_Open_Text').style.display='inline';" align="top" alt="" style="display: none;" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span id="_130_204_Closed_Text" style="display: none; background-color: #ffffff; border: #808080 1px solid;">...</span><span id="_130_204_Open_Text"><span style="color: #000000;">{<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Endpoint.publish(</span><span style="color: #000000;">"</span><span style="color: #000000;">http://localhost:8080/HelloService</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Hello());<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span></div>
</div>
<p>呵呵，更简洁。一句话而已。<br /><span id="_88_206_Open_Text"><span id="_130_204_Open_Text"><span style="color: #000000;">http://localhost:8080/HelloService是指发布的地址<br /><br />运行</span></span></span><span style="color: #000000;">StartService&nbsp;</span><span id="_88_206_Closed_Text" style="display: none; background-color: #ffffff; border: #808080 1px solid;">...</span><span id="_88_206_Open_Text"><span style="color: #000000;">，开发浏览器输入：http://localhost:8080/HelloService?wsdl<br /><br /></span></span><br />晕，怎么不能上传图片了。。。。。。。。。。。。<br />如果能看到以下内容，就可以</p>
<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 4px; width: 95%; padding-top: 4px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border: windowtext 0.5pt solid;">
<div><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">&lt;?</span><span style="color: #ff00ff;">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"&nbsp;</span><span style="color: #0000ff;">?&gt;</span><span style="color: #000000;">&nbsp;<br />-&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">definitions&nbsp;</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://schemas.xmlsoap.org/wsdl/"</span><span style="color: #ff0000;">&nbsp;xmlns:tns</span><span style="color: #0000ff;">="http://jdk.study.hermit.org/client"</span><span style="color: #ff0000;">&nbsp;xmlns:xsd</span><span style="color: #0000ff;">="http://www.w3.org/2001/XMLSchema"</span><span style="color: #ff0000;">&nbsp;xmlns:soap</span><span style="color: #0000ff;">="http://schemas.xmlsoap.org/wsdl/soap/"</span><span style="color: #ff0000;">&nbsp;targetNamespace</span><span style="color: #0000ff;">="http://jdk.study.hermit.org/client"</span><span style="color: #ff0000;">&nbsp;name</span><span style="color: #0000ff;">="HelloService"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">types&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;<br />-&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">message&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="sayHello"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">part&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="arg0"</span><span style="color: #ff0000;">&nbsp;type</span><span style="color: #0000ff;">="xsd:string"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">message</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />-&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">message&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="sayHelloResponse"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">part&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="return"</span><span style="color: #ff0000;">&nbsp;type</span><span style="color: #0000ff;">="xsd:string"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">message</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />-&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">portType&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Hello"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />-&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">operation&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="sayHello"</span><span style="color: #ff0000;">&nbsp;parameterOrder</span><span style="color: #0000ff;">="arg0"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">input&nbsp;</span><span style="color: #ff0000;">message</span><span style="color: #0000ff;">="tns:sayHello"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">output&nbsp;</span><span style="color: #ff0000;">message</span><span style="color: #0000ff;">="tns:sayHelloResponse"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">operation</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">portType</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />-&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">binding&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="HelloPortBinding"</span><span style="color: #ff0000;">&nbsp;type</span><span style="color: #0000ff;">="tns:Hello"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">soap:binding&nbsp;</span><span style="color: #ff0000;">style</span><span style="color: #0000ff;">="rpc"</span><span style="color: #ff0000;">&nbsp;transport</span><span style="color: #0000ff;">="http://schemas.xmlsoap.org/soap/http"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;<br />-&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">operation&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="sayHello"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">soap:operation&nbsp;</span><span style="color: #ff0000;">soapAction</span><span style="color: #0000ff;">=""</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;<br />-&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">input</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">soap:body&nbsp;</span><span style="color: #ff0000;">use</span><span style="color: #0000ff;">="literal"</span><span style="color: #ff0000;">&nbsp;namespace</span><span style="color: #0000ff;">="http://jdk.study.hermit.org/client"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">input</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />-&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">output</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">soap:body&nbsp;</span><span style="color: #ff0000;">use</span><span style="color: #0000ff;">="literal"</span><span style="color: #ff0000;">&nbsp;namespace</span><span style="color: #0000ff;">="http://jdk.study.hermit.org/client"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">output</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">operation</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">binding</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />-&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">service&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="HelloService"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />-&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">port&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="HelloPort"</span><span style="color: #ff0000;">&nbsp;binding</span><span style="color: #0000ff;">="tns:HelloPortBinding"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">soap:address&nbsp;</span><span style="color: #ff0000;">location</span><span style="color: #0000ff;">="http://localhost:8080/HelloService"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">port</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">service</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">definitions</span><span style="color: #0000ff;">&gt;</span></div>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/218597#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 23 Jul 2008 15:18:02 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/218597</link>
        <guid>http://seawavecau.javaeye.com/blog/218597</guid>
      </item>
      <item>
        <title>查单词，找有道</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/217514" style="color:red;">http://seawavecau.javaeye.com/blog/217514</a>&nbsp;
          发表时间: 2008年07月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><br /><strong><span style="text-decoration: underline;"><span style="font-size: medium;">查单词，找"有道"</span></span></strong></p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;<span style="font-size: small;">第一次用"有道"，有点巧合。在看技术文档时，遇到生词，但是公司的机器上没有装词霸，后来通过Google遇到了"有道"，是"有道"帮我赶走了拦路虎。</span></p>
<p><span style="font-size: small;">&nbsp;</span></p>
<p><span style="font-size: small;">&nbsp;&nbsp;&nbsp; 喜欢上"有道"，是因为"有道"有着简约的页面，以前也用过dict.cn，但dict.cn页面花花绿绿，页面充斥着广告，给我的感觉很不好。<br />&nbsp;&nbsp;&nbsp; 同时"有道"的单词查询响应速度很快，就更让我着迷在"有道"。</span></p>
<p><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp; "有道"后来加单词的发音，让我更加喜爱，记得前期好像是没有的，有了这功能后，我就能校正自己的发音。<br />&nbsp;&nbsp;&nbsp; "有道"还有网络释义，这里有网上最新的网络用语解释。还有例句和用法，这样把单词放到语境中，更方便我理解、记忆。</span></p>
<p><span style="font-size: small;">&nbsp;</span></p>
<p><span style="font-size: small;">&nbsp;&nbsp;&nbsp; 喜欢"有道"，我们可以随时随地都可以使用，不管是在别人器上还是自己的机器上，只要有个浏览器。<br />&nbsp;&nbsp;&nbsp; 喜欢"有道"，因为"有道"的人性化考虑。"有道"开通用户使用的反馈通道，用户有什么建议或意见都可以向有道技术人员反馈。同样作为一名技术人员，深知这一点的重要。这样"有道"就真真正正把握了用户的需求，开发出用户想要的产品。用户也得到了好处。</span></p>
<p><span style="font-size: small;">&nbsp;</span></p>
<p><span style="font-size: small;">&nbsp;&nbsp;&nbsp; 这么好的产品，当然我也不能独享。同事碰到不认识的单词问我，我就推荐他&ldquo;查单词，找有道&rdquo;。</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/217514#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 22 Jul 2008 10:35:30 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/217514</link>
        <guid>http://seawavecau.javaeye.com/blog/217514</guid>
      </item>
      <item>
        <title>用JavaScript写的一个摇号程序（随机数）</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/215810" style="color:red;">http://seawavecau.javaeye.com/blog/215810</a>&nbsp;
          发表时间: 2008年07月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>
<script type="text/javascript"><!--
var theTimer;
var iNum=0;
//var flag =true;
function checkEnter(){
	if(window.event.keyCode==13){
		document.getElementById("btnStop").focus();
		flag=true;
		if(flag){
			clearTimeout(theTimer);
			flag = false;
		}else{
			theTimer = setTimeout("checkLoad()", 8);
			flag=true;
		}
		//document.getElementById("btnStop").click();		onkeypress="checkEnter();"
	}
}
	
function checkLoad() {
	iNum=selectFrom(1,200);
	if(iNum<10){
	document.getElementById("stext").innerHTML="00"+iNum;
	}else if(iNum<100){
	document.getElementById("stext").innerHTML="0"+iNum;
	}else{
	document.getElementById("stext").innerHTML=iNum;
	}
	theTimer = setTimeout("checkLoad()", 8);
}
function selectFrom(iFirstValue,iLastValue){
	var iChoices =  iLastValue-iFirstValue+1;
	return Math.floor(Math.random()*iChoices+iFirstValue);
}

function stopPlay() {
    clearTimeout(theTimer);	
}
function resetText(){
	stopPlay();	
	document.getElementById("hisRecord").innerText=document.getElementById("hisRecord").innerText+document.getElementById("stext").innerHTML+",";
	document.getElementById("stext").innerHTML="000";
}
// --></script>
</p>
<p><span style="font-size: 8pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">老弟叫我帮忙他找个摇号程序，号码从</span><span lang="EN-US" style="font-size: 12pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">001-200</span><span style="font-size: 8pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">。</span><span style="font-size: 12pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"> </span><span style="font-size: 8pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">最近刚看了ＪＳ高级编程的随机数这方面的知识。</span><span style="font-size: 12pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"> </span><span style="font-size: 8pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">就自己开始动手做了一个。</span></p>
<p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan;"><span style="font-size: 8pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">代码：</span></p>
<p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan;"><span lang="EN-US" style="font-size: 12pt; color: black; font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"></span></p>
<pre name="code" class="java">&lt;script&gt;
var theTimer;
var iNum=0;
//var flag =true;
function checkEnter(){
	if(window.event.keyCode==13){
		document.getElementById("btnStop").focus();
		flag=true;
		if(flag){
			clearTimeout(theTimer);
			flag = false;
		}else{
			theTimer = setTimeout("checkLoad()", 8);
			flag=true;
		}
		//document.getElementById("btnStop").click();		onkeypress="checkEnter();"
	}
}
	
function checkLoad() {
	iNum=selectFrom(1,200);
	if(iNum&lt;10){
	document.getElementById("stext").innerHTML="00"+iNum;
	}else if(iNum&lt;100){
	document.getElementById("stext").innerHTML="0"+iNum;
	}else{
	document.getElementById("stext").innerHTML=iNum;
	}
	theTimer = setTimeout("checkLoad()", 8);
}
function selectFrom(iFirstValue,iLastValue){
	var iChoices =  iLastValue-iFirstValue+1;
	return Math.floor(Math.random()*iChoices+iFirstValue);
}

function stopPlay() {
    clearTimeout(theTimer);	
}
function resetText(){
	stopPlay();	
	document.getElementById("hisRecord").innerText=document.getElementById("hisRecord").innerText+document.getElementById("stext").innerHTML+",";
	document.getElementById("stext").innerHTML="000";
}

&lt;/script&gt;
&lt;body onkeypress="checkEnter();"&gt;
&lt;table width="100%"&gt;
&lt;tr height="300"&gt;
&lt;td align="center"&gt;
&lt;div id="stext" style="font-size:146px;color:red;bold" align="center"&gt;000&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height=""&gt;&lt;td&gt;
&lt;div align="center"&gt;
        
&lt;input type="button" value="开始" onClick="checkLoad()" style="height:60;width:130"/&gt;
    
&lt;input id="btnStop" type="button" value="停止" onClick="stopPlay();" style="height:60;width:130"/&gt;
    
&lt;input type="button" value="重置" onClick="resetText();"/&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="center"&gt;&lt;br /&gt;
历史记录：&lt;table width="400"&gt;&lt;tr &gt;&lt;td&gt;&lt;textarea id="hisRecord" style="width:500;height:100"&gt;&lt;/textarea&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan;">&nbsp;</p>
<p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan;"><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">发现的问题：</span><span lang="EN-US" style="font-size: 8pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"></span></p>
<p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan;"><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">当用事件捕捉到回车键时，执行</span><span lang="EN-US" style="font-size: 12pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">clearTimeout</span><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">不能停止。</span><span lang="EN-US" style="font-size: 8pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"></span></p>
<p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan;"><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">后来经过试验、分析，发现这是</span><span lang="EN-US" style="font-size: 12pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">random</span><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">的缘故。</span><span lang="EN-US" style="font-size: 8pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"></span></p>
<p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan;"><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">后来否定的</span><span lang="EN-US" style="font-size: 12pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">random</span><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">的原因，原来是聚焦的原因，</span><span lang="EN-US" style="font-size: 8pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"></span></p>
<p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan;"><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">没有把焦点从开始按钮上移开。</span><span lang="EN-US" style="font-size: 8pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"></span></p>
<p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan;"><span lang="EN-US" style="font-size: 8pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">&nbsp;</span></p>
<p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan;"><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;">结果：</span><span lang="EN-US" style="font-size: 8pt; color: black; font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"></span></p>
<p>&nbsp;</p>
<table border="0" width="100%">
<tbody>
<tr height="300">
<td align="center">
<div id="stext" style="font-size:146px;color:red;bold">000</div>
</td>
</tr>
<tr>
<td>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input maxlength="2147483647" size="20" type="button" value="开始" onclick="checkLoad()" style="height:60;width:130" /> &nbsp;&nbsp;&nbsp;&nbsp; <input maxlength="2147483647" size="20" id="btnStop" type="button" value="停止" onclick="stopPlay();" style="height:60;width:130" /> &nbsp;&nbsp;&nbsp;&nbsp; <input maxlength="2147483647" size="20" type="button" value="重置" onclick="resetText();" /> </div>
</td>
</tr>
<tr>
<td align="center"><br />历史记录：
<table border="0" width="400">
<tbody>
<tr>
<td><textarea id="hisRecord" rows="2" cols="20" style="width:500;height:100"></textarea></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/215810#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 17 Jul 2008 15:04:21 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/215810</link>
        <guid>http://seawavecau.javaeye.com/blog/215810</guid>
      </item>
      <item>
        <title>Ajax裸奔+XML传递数据</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/215326" style="color:red;">http://seawavecau.javaeye.com/blog/215326</a>&nbsp;
          发表时间: 2008年07月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>页面代码</p>
<pre name="code" class="html">&lt;HTML&gt;
&lt;HEAD&gt;
&lt;%...@ page   
language="java"   errorPage="/ErrorPage.jsp"
contentType="text/html; charset=GBK"
pageEncoding="GBK"%&gt;


&lt;LINK href="&lt;%=request.getContextPath()%&gt;/include/default.css" rel="stylesheet" type="text/css"&gt;
&lt;TITLE&gt;营销记录统计&lt;/TITLE&gt;
&lt;SCRIPT language="JavaScript"&gt;...

    function send_request() ...{//初始化、指定处理函数、发送请求的函数
        
        http_request = false;
        //开始初始化XMLHttpRequest对象
        if(window.XMLHttpRequest) ...{ //Mozilla 浏览器
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) ...{//设置MiME类别
                http_request.overrideMimeType('text/xml');
            }
        }else if (window.ActiveXObject) ...{ // IE浏览器
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
        }
        if (!http_request) ...{ // 异常，创建对象实例失败
            window.alert("不能创建XMLHttpRequest对象实例.");
            return false;
        }
        
        http_request.onreadystatechange = function()...{processRequest_return()};
        
        
        // 确定发送请求的方式和URL以及是否同步执行下段代码
        http_request.open("GET", "http://10.120.32.152:8080/examples/aa.xml", false);
        http_request.send(null);
    }
     function processRequest_return() ...{
        //alert("=="+http_request.status);
        if (http_request.readyState == 4) ...{ // 判断对象状态
            if (http_request.status == 200) ...{ // 信息已经成功返回，开始处理信息

                    // var objXml = http_request.responseXML;
                    // var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
                    //xmlDoc.async=false; 
                    //xmlDoc.load(objXml); 
                    
                    //var xmlRoot = xmlDoc.documentElement;
                    var students = http_request.responseXML.getElementsByTagName("student"); 
    
                     var cpbm="";
                     var cpmc="";
                     var temp="&lt;select name="chanpin2" style=" width: 125px" onchange='javascript:document.form1.cpbm.value=this.value;'&gt;";
                     temp+="&lt;option value=''&gt;请选择产品&lt;/option&gt;";
                     for (var i = 0 ; i &lt;students.length;i++)...{
                var stud = students[i]; //得一个stutdent结点
                var name = stud.getElementsByTagName("sname")[0].firstChild.data; //取结点里的数据
                var gre = stud.getElementsByTagName("gre")[0].firstChild.data; 
                var tse = stud.getElementsByTagName("tse")[0].firstChild.data; 
                         //cpbm=cpxl[i].childNodes[0].text;
                         cpmc=name + "=" + tse;
                         temp+="&lt;option value="+gre+"&gt;"+cpmc+"&lt;/option&gt;";
                     }
                    temp+="&lt;/select&gt;";
                    document.getElementById("td2").innerHTML=temp;

         
            } else ...{ //页面不正常
                alert(http_request.status);
                alert("您所请求的页面有异常。");
            }
        }
    }
&lt;/SCRIPT&gt;
&lt;/HEAD&gt;
&lt;BODY leftMargin=0 topMargin=0 MARGINWIDTH=0 MARGINHEIGHT=0&gt;

&lt;FORM name=form1 method=post action=""&gt;


&lt;br&gt;
&lt;TABLE WIDTH="60%" border="0" cellpadding="0" cellspacing="1" &gt;
      &lt;TR BGCOLOR="#FFFFFF" height=20&gt;
        &lt;TD ALIGN="right" width=25%&gt;产品大类&lt;/TD&gt;
        &lt;td width=25%&gt;                                     
            
            &lt;select name="chanpin1" style=" width: 125px" onchange="send_request();"&gt;
                        &lt;OPTION value=""&gt;请选择产品&lt;/OPTION&gt;
                        &lt;OPTION value="00"&gt;—————&lt;/OPTION&gt;
                        &lt;OPTION value="4"&gt;新产品&lt;/OPTION&gt;
                        &lt;OPTION value="5"&gt;重点推荐&lt;/OPTION&gt;
                        &lt;OPTION value="6"&gt;推荐产品&lt;/OPTION&gt;
                &lt;/select&gt;
                &lt;input type="hidden" name="cpbm" value=""&gt;
            &lt;/TD&gt;
            &lt;TD ALIGN="right" width=20%&gt;产品小类&lt;/TD&gt;
            &lt;td id="td2" width=30%&gt;                                     
            &lt;select name="chanpin2" style=" width: 125px"&gt;
                        &lt;OPTION value=""&gt;请选择产品&lt;/OPTION&gt;
                &lt;/select&gt;
            &lt;/TD&gt;
      
      &lt;/TR&gt;
&lt;/TABLE&gt;
&lt;/Form&gt;

&lt;/BODY&gt;
&lt;/HTML&gt;
</pre>
<p>&nbsp;</p>
<p>aa.xml</p>
<pre name="code" class="xml">&lt;?xml version="1.0"?&gt; 

&lt;classmates&gt; 
  &lt;student&gt; 
     &lt;sid&gt;1&lt;/sid&gt; 
     &lt;sname&gt;name1&lt;/sname&gt; 
     &lt;gre&gt;1700&lt;/gre&gt; 
     &lt;tse&gt;121&lt;/tse&gt; 
  &lt;/student&gt; 
  &lt;student&gt; 
     &lt;sid&gt;2&lt;/sid&gt; 
     &lt;sname&gt;name2&lt;/sname&gt; 
     &lt;gre&gt;1800&lt;/gre&gt; 
     &lt;tse&gt;122&lt;/tse&gt; 
  &lt;/student&gt; 
  &lt;student&gt; 
     &lt;sid&gt;3&lt;/sid&gt; 
     &lt;sname&gt;name3&lt;/sname&gt; 
     &lt;gre&gt;1900&lt;/gre&gt; 
     &lt;tse&gt;123&lt;/tse&gt; 
  &lt;/student&gt; 
&lt;/classmates&gt; </pre>
<p>&nbsp;</p>
<p>当数据源是数据库的时候，<a href="http://IP/examples/aa.xml">http://IP/examples/aa.xml</a>&nbsp;可以改成是jsp或者servlet，通过out.println或者PrintWrite.out 回写。</p>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/215326#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 16 Jul 2008 11:11:10 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/215326</link>
        <guid>http://seawavecau.javaeye.com/blog/215326</guid>
      </item>
      <item>
        <title>Sql技巧备忘</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/214935" style="color:red;">http://seawavecau.javaeye.com/blog/214935</a>&nbsp;
          发表时间: 2008年07月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p>
<p>1。编程时总是需要生成测试数据，一条两条可以简单的插入数据，有时要插入很多数据时，就显得麻烦。</p>
<p>这里，用insert into table() select方法来做，能够轻易的实现插入多条数据。</p>
<p>&nbsp;</p>
<p>INSERT INTO dbo.crmo_gg_tj_khwhzl ( ygh, ssjg, ygjs, khwhhgl, bhghs, hghs, lhhs, yxhs, whyf, tjrq, beizhu )&nbsp;&nbsp; select ygh, ssjg, ygjs, djl, 7, 8, 15, 6, '200807', '200807', 'test' from crmo_gg_tj_khdjl</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/214935#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 15 Jul 2008 13:23:15 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/214935</link>
        <guid>http://seawavecau.javaeye.com/blog/214935</guid>
      </item>
      <item>
        <title>黄家驹部分歌曲创作背景</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/210455" style="color:red;">http://seawavecau.javaeye.com/blog/210455</a>&nbsp;
          发表时间: 2008年07月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>前几天，不小心在网上看到6-30是家驹的忌日。想起家驹歌声中的真情，写此帖同时以记念。</p>
<p>&nbsp;</p>
<p>《大地》</p>
<p>
<table border="0" bgcolor="#ffffff" width="72%">
<tbody>
<tr>
<td>&nbsp;</td>
<td align="left" width="97%">
<table class="wr" cellspacing="0" border="0" cellpadding="0">
<tbody>
<tr>
<td class="gray14">知道BEYOND为什么会唱&lt;大地&gt;吗?那时候台湾刚刚开放退伍老兵回大陆故土探亲,无数台湾老人回乡寻根,家驹一直都有关注国内外重要新闻大事的习惯,何况这是关系两岸中国人的一件大事件,所以家驹一直都很想创作一首体现这方面情怀的歌曲,其实&lt;大地&gt;里很多地方都暗含了家驹的这些中国情愫。《大地》初创作时本来是想叫做《长江》的，但是后来还是更名为《大地》，相比之下，我也觉得《大地》更能体现一种质朴厚实的沧桑感。 <br />另外《长城》是《大地》的延续篇，都是想表达一种浓烈得化不开的思国怀乡之情。 <br />我本人也很喜欢《农民》，我真佩服家驹能把农民的那种在年复一年，日复一日的艰辛劳作下却能乐天知命，豁达坦然的心态描绘得如此细腻动人，他可真是个独具慧眼的艺术家。正如家强所说，家驹早在八十年代就曾预言，中国摇滚乐的发展方向会是在内地，果真不出其所料。他对身边发生的事情非常敏感，眼光精准独到且很有预见性，这大概就是成为艺术家所必备的素质吧。 </td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>《光辉岁月》歌曲背景 <br />　　 BEYOND是一支富有博大胸怀、富有同情心、关注社会的乐队。20****50年代以来，反种族歧视、争取****和平的政治运动在世界蓬勃发展。这些进步性的运动难免会遭到一些小的失败，南非黑人领袖曼德拉就被关押长达15年只久，经过艰苦的斗争在1988年出狱。出狱后，曼德拉继续领导南非的反种族歧视运动，终于于1990年成为南非第一任黑人总统。标志着这场斗争的最后胜利。BEYOND在1988年创作的《光辉岁月》正是歌颂了曼德拉伟大而辉的一生，也表在了自已对种族歧视的厌恨。 </p>
<p>&nbsp;</p>
<p>《俾面派对》是BEYOND多年来在娱乐圈摸爬滚打的其中一点感叹。现实生活中的BEYOND，经常要出席大大小小的宴会派对。虽然自己要做音乐，百务缠身，但为&ldquo;俾面&rdquo;主办单位，所以如何忙碌也得抽身出席。有一次，他们正赶着录音和拍电影，却被安排去参加一个派对，连派对主人彼此都不认识，令他们十分无奈，但也没办法，后来他们就把这种感觉寄意与此曲中。 <br />　　 <br />　　另外，这首歌也批判了歌坛中光怪陆离的现象，许多歌手们是十分愿意出席派对的，因为参加派对可以增加他们的知名度，也可以有机会让他们露面，难怪其他歌手们上争先恐后的上电视玩游戏、开歌友会、出席慈善活动、甚至参加派对，都是因为这个目的。 </p>
<p>《AMANI》歌曲背景 <br />　　 <br />　　BEYOND一向爱好和平，并以自已的音乐向人们呼唤和争取和平，指引人们用爱驱散世上罪恶的战争。1990年海湾战争后，世界进入了一个短暂的相对和平时期。家驹便写了《AMANI》这首歌，抒发了对战后和平长久的渴望,也警示了人们必须要以自已的努力斗争来争取和平，一味地求助于神灵是不行的。这首歌勘称是颂和平歌之最。另外，有些网友可能查不出歌词中的&ldquo;英文&rdquo;是什么意思，因为这是非洲语，&ldquo;AMANI&rdquo;是和平的意思；&ldquo; NAKUPENDA NAKUPENDA WEWE&rdquo;就是&ldquo;我们爱你&rdquo;&ldquo;TUNE TAKE WE WE&rdquo;是&ldquo;我们需要你&rdquo;的意思。 </p>
<p>《无悔这一生》背景 <br />　　 <br />　　《无悔这一生》创作于89年，89年BEYOND音乐事业较顺利，一时无雨。此时BEYOND以是唱片公 司旗下的签约歌手，这一生都要奉献于音乐事业，不可更改了。于是BEYOND便写了《无悔这一 生》这首歌，表达自己对一生都要献身于音乐的无悔、义无返顾，同时这首歌也是BEYOND应香 港电视剧《午夜起风云》而写的主提曲。&nbsp;&nbsp;</p>
<p>&nbsp;</p>
<p>《喜欢你》歌曲背景 <br />　　 <br />　　BEYOND与其它歌手不同,很少写情歌。其它歌手的情歌大多只是商业目的，但《喜欢你》这首情歌却是黄家驹的真情流露。88年家驹找了个女朋友，可是他女朋友见他整日专于音乐，无心顾她。于是向家驹提出了一个要求，只要家驹能放弃音乐，自已便跟他走。这个要求使得家驹十分为难，放弃音乐吧，就等于失去了终生的事业；放弃爱情吧，就等于失去了幸福。但最后，家驹毅然放弃了爱情，便写了《喜欢你》这首歌，表达对失去爱情的苦楚。家驹为了音乐放弃爱情，体现了家驹肯为音乐舍去一切和对理想的执著追求。</p>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/210455#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Jul 2008 11:29:04 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/210455</link>
        <guid>http://seawavecau.javaeye.com/blog/210455</guid>
      </item>
      <item>
        <title>CVS 服务器搭建参考</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/210214" style="color:red;">http://seawavecau.javaeye.com/blog/210214</a>&nbsp;
          发表时间: 2008年07月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p>
<p><span style="color: #000000;">下面我简单叙述一下cvs服务器搭建过程。</span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;">第一步：</span></p>
<p><span style="color: #000000;">下载cvsnt</span></p>
<p><span class="a"><a href="http://www.cvsnt.org"><span style="color: #000000;">www.<strong>cvsnt</strong>.org</span></a></span></p>
<p><span class="a"></span></p>
<p><span class="a"><span style="color: #000000;">第二步：</span></span></p>
<p><span class="a"><span style="color: #000000;">创建CVSROOT命令</span></span></p>
<p>cmd&gt;cvs -d F:/server/cvs/cvsroot init</p>
<p>&nbsp;</p>
<p>第三步：<br />创建用户命令</p>
<p>set cvsroot=:sspi:&lt;cvsServerName&gt;:/cvsproject<br />cvs passwd -r administrator -a &lt;user&gt;</p>
<p>administrator指操作系统用户</p>
<p>&nbsp;</p>
<p>第四部</p>
<p>cmd下登陆<br />set cvsroot=:pserver:whb@sinotec:/cvsproject<br />cvs login<br />显示目录 cvs ls -l -R</p>
<p>把user加入到admin文件，这个用户可以新建用户，修改密码，使用cvs admin命令。</p>
<p>&nbsp;</p>
<p>第五步</p>
<p>控制项目访问权限</p>
<p>重要：项目读写全县配置.控制fileattr.xml来控制用户的读写。</p>
<pre name="code" class="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt; 
&lt;fileattr&gt; 
  &lt;directory&gt; 
&lt;acl&gt; 
    &lt;all deny="1" /&gt; 
    &lt;/acl&gt; 
    &lt;acl user="user"&gt; 
          &lt;create /&gt; 
          &lt;read /&gt; 
          &lt;write /&gt; 
          &lt;tag /&gt; 
    &lt;/acl&gt; 
    &lt;owner&gt;user&lt;/owner&gt; 
  &lt;/directory&gt; 
&lt;/fileattr&gt; </pre>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/210214#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 01 Jul 2008 16:59:39 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/210214</link>
        <guid>http://seawavecau.javaeye.com/blog/210214</guid>
      </item>
      <item>
        <title>java 调用存储过程 </title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/210210" style="color:red;">http://seawavecau.javaeye.com/blog/210210</a>&nbsp;
          发表时间: 2008年07月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>java 调用存储过程 （转）</p>
<div>执行存储过程是这样的吗？<span style="font-family: Times New Roman;">conn.prepareCall("{call procedure_name(?,?)}");&nbsp;&nbsp;<br />-------------------------------------------------------------------------------------------------------------------------------------------------<br />&nbsp;<br />CallableStatement &nbsp;</span>对象为所有的<span style="font-family: Times New Roman;"> &nbsp;DBMS &nbsp;</span>提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是<span style="font-family: Times New Roman;"> &nbsp;CallableStatement</span>对象所含的内容。这种调用是用一种换码语法来写的，有两种形式：一种形式带结果参，另一种形式不带结果参数。结果参数是一种输出<span style="font-family: Times New Roman;"> &nbsp;(OUT) &nbsp;</span>参数，是已储存过程的返回值。两种形式都可带有数量可变的输入（<span style="font-family: Times New Roman;">IN &nbsp;</span>参数）、输出（<span style="font-family: Times New Roman;">OUT &nbsp;</span>参数）或输入和输出（<span style="font-family: Times New Roman;">INOUT &nbsp;</span>参数）的参数。问号将用作参数的占位符。<span style="font-family: Times New Roman;"> &nbsp;<br />&nbsp;<br /></span>　在<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>中调用已储存过程的语法如下所示。注意，方括号表示其间的内容是可选项；方括号本身并非语法的组成部份。<span style="font-family: Times New Roman;"> &nbsp;<br />{call &nbsp;</span>过程名<span style="font-family: Times New Roman;">[(?, &nbsp;?, &nbsp;...)]} &nbsp;<br /></span>　　返回结果参数的过程的语法为：<span style="font-family: Times New Roman;"> &nbsp;<br />{? &nbsp;= &nbsp;call &nbsp;</span>过程名<span style="font-family: Times New Roman;">[(?, &nbsp;?, &nbsp;...)]} &nbsp;<br /></span>　　不带参数的已储存过程的语法类似：<span style="font-family: Times New Roman;"> &nbsp;<br />{call &nbsp;</span>过程名<span style="font-family: Times New Roman;">} &nbsp;<br /></span>　　通常，创建<span style="font-family: Times New Roman;"> &nbsp;CallableStatement &nbsp;</span>对象的人应当知道所用的<span style="font-family: Times New Roman;"> &nbsp;DBMS &nbsp;</span>是支持已储存过程的，并且知道这些过程都是些什么。然而，如果需要检查，多种<span style="font-family: Times New Roman;">DatabaseMetaData &nbsp;</span>方法都可以提供这样的信息。例如，如果<span style="font-family: Times New Roman;"> &nbsp;DBMS &nbsp;</span>支持已储存过程的调用，则<span style="font-family: Times New Roman;">supportsStoredProcedures &nbsp;</span>方法将返回<span style="font-family: Times New Roman;"> &nbsp;true</span>，而<span style="font-family: Times New Roman;">getProcedures &nbsp;</span>方法将返回对已储存过程的描述。<span style="font-family: Times New Roman;">CallableStatement &nbsp;</span>继承<span style="font-family: Times New Roman;"> &nbsp;Statement &nbsp;</span>的方法（它们用于处理一般的<span style="font-family: Times New Roman;"> &nbsp;SQL &nbsp;</span>语句），还继承了<span style="font-family: Times New Roman;"> &nbsp;PreparedStatement &nbsp;</span>的方法（它们用于处理<span style="font-family: Times New Roman;"> &nbsp;IN &nbsp;</span>参）。<span style="font-family: Times New Roman;"> &nbsp;<br /></span>　　<span style="font-family: Times New Roman;">CallableStatement &nbsp;</span>中定义的所有方法都用于处理<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数或<span style="font-family: Times New Roman;"> &nbsp;INOUT &nbsp;</span>参数的输出部分：注册<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数的<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>类型（一般<span style="font-family: Times New Roman;"> &nbsp;SQL &nbsp;</span>类型）、从这些参数中检索结果，或者检查所返回的值是否为<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;NULL</span>。<span style="font-family: Times New Roman;"> &nbsp;<br />1</span>、创建<span style="font-family: Times New Roman;"> &nbsp;CallableStatement &nbsp;</span>对象<span style="font-family: Times New Roman;"> &nbsp;<br /></span>　　<span style="font-family: Times New Roman;">CallableStatement &nbsp;</span>对象是用<span style="font-family: Times New Roman;"> &nbsp;Connection &nbsp;</span>方法<span style="font-family: Times New Roman;"> &nbsp;prepareCall &nbsp;</span>创建的。下例创建<span style="font-family: Times New Roman;"> &nbsp;CallableStatement &nbsp;</span>的实例，其中含有对已储存过程<span style="font-family: Times New Roman;"> &nbsp;getTestData &nbsp;</span>调用。该过程有两个变量，但不含结果参数：<span style="font-family: Times New Roman;"> &nbsp;<br />CallableStatement &nbsp;cstmt &nbsp;= &nbsp;con.prepareCall("{call &nbsp;getTestData(?, &nbsp;?)}"); &nbsp;<br /></span>　　其中<span style="font-family: Times New Roman;">?</span>占位符为<span style="font-family: Times New Roman;">IN</span>、<span style="font-family: Times New Roman;">OUT</span>还是<span style="font-family: Times New Roman;">INOUT</span>参数，取决于已储存过程<span style="font-family: Times New Roman;">getTestData</span>。<span style="font-family: Times New Roman;"> &nbsp;<br />2</span>、<span style="font-family: Times New Roman;">IN</span>和<span style="font-family: Times New Roman;">OUT</span>参数<span style="font-family: Times New Roman;"> &nbsp;<br /></span>　　将<span style="font-family: Times New Roman;">IN</span>参数传给<span style="font-family: Times New Roman;"> &nbsp;CallableStatement &nbsp;</span>对象是通过<span style="font-family: Times New Roman;"> &nbsp;setXXX &nbsp;</span>方法完成的。该方法继承自<span style="font-family: Times New Roman;"> &nbsp;PreparedStatement</span>。所传入参数的类型决定了所用的<span style="font-family: Times New Roman;">setXXX</span>方法（例如，用<span style="font-family: Times New Roman;"> &nbsp;setFloat &nbsp;</span>来传入<span style="font-family: Times New Roman;"> &nbsp;float &nbsp;</span>值等）。<span style="font-family: Times New Roman;"> &nbsp;<br /></span>　　如果已储存过程返回<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数，则在执行<span style="font-family: Times New Roman;"> &nbsp;CallableStatement &nbsp;</span>对象以前必须先注册每个<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数的<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>类型（这是必需的，因为某些<span style="font-family: Times New Roman;"> &nbsp;DBMS &nbsp;</span>要求<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>类型）。注册<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>类型是用<span style="font-family: Times New Roman;"> &nbsp;registerOutParameter &nbsp;</span>方法来完成的。语句执行完后，<span style="font-family: Times New Roman;">CallableStatement &nbsp;</span>的<span style="font-family: Times New Roman;"> &nbsp;getXXX &nbsp;</span>方法将取回参数值。正确的<span style="font-family: Times New Roman;"> &nbsp;getXXX &nbsp;</span>方法是为各参数所注册的<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>类型所对应的<span style="font-family: Times New Roman;"> &nbsp;Java &nbsp;</span>类型。换言之，<span style="font-family: Times New Roman;"> &nbsp;registerOutParameter &nbsp;</span>使用的是<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>类型（因此它与数据库返回的<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>类型匹配），而<span style="font-family: Times New Roman;"> &nbsp;getXXX &nbsp;</span>将之转换为<span style="font-family: Times New Roman;"> &nbsp;Java &nbsp;</span>类型。<span style="font-family: Times New Roman;"> &nbsp;<br /></span>　　作为示例，下述代码先注册<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数，执行由<span style="font-family: Times New Roman;"> &nbsp;cstmt &nbsp;</span>所调用的已储存过程，然后检索在<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数中返回的值。方法<span style="font-family: Times New Roman;"> &nbsp;getByte &nbsp;</span>从第一个<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数中取出一个<span style="font-family: Times New Roman;"> &nbsp;Java &nbsp;</span>字节，而<span style="font-family: Times New Roman;"> &nbsp;getBigDecimal &nbsp;</span>从第二个<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数中取出一个<span style="font-family: Times New Roman;"> &nbsp;BigDecimal &nbsp;</span>对象（小数点后面带三位数）：<span style="font-family: Times New Roman;"> &nbsp;<br />CallableStatement &nbsp;cstmt &nbsp;= &nbsp;con.prepareCall("{call &nbsp;getTestData(?, &nbsp;?)}"); &nbsp;<br />cstmt.registerOutParameter(1, &nbsp;java.sql.Types.TINYINT); &nbsp;<br />cstmt.registerOutParameter(2, &nbsp;java.sql.Types.DECIMAL, &nbsp;3); &nbsp;<br />cstmt.executeQuery(); &nbsp;<br />byte &nbsp;x &nbsp;= &nbsp;cstmt.getByte(1); &nbsp;<br />java.math.BigDecimal &nbsp;n &nbsp;= &nbsp;cstmt.getBigDecimal(2, &nbsp;3); &nbsp;<br />&nbsp;<br /></span>　　<span style="font-family: Times New Roman;">CallableStatement &nbsp;</span>与<span style="font-family: Times New Roman;"> &nbsp;ResultSet &nbsp;</span>不同，它不提供用增量方式检索大<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>值的特殊机制。<span style="font-family: Times New Roman;"> &nbsp;<br />&nbsp;<br />3</span>、<span style="font-family: Times New Roman;">INOUT</span>参数<span style="font-family: Times New Roman;"> &nbsp;<br /></span>　　既支持输入又接受输出的参数（<span style="font-family: Times New Roman;">INOUT &nbsp;</span>参数）除了调用<span style="font-family: Times New Roman;"> &nbsp;registerOutParameter &nbsp;</span>方法外，还要求调用适当的<span style="font-family: Times New Roman;"> &nbsp;setXXX &nbsp;</span>方法（该方法是从<span style="font-family: Times New Roman;"> &nbsp;PreparedStatement &nbsp;</span>继承来的）。<span style="font-family: Times New Roman;">setXXX &nbsp;</span>方法将参数值设置为输入参数，而<span style="font-family: Times New Roman;"> &nbsp;registerOutParameter &nbsp;</span>方法将它的<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>类型注册为输出参数。<span style="font-family: Times New Roman;">setXXX &nbsp;</span>方法提供一个<span style="font-family: Times New Roman;"> &nbsp;Java &nbsp;</span>值，而驱动程序先把这个值转换为<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>值，然后将它送到数据库中。这种<span style="font-family: Times New Roman;"> &nbsp;IN &nbsp;</span>值的<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>类型和提供给<span style="font-family: Times New Roman;"> &nbsp;registerOutParameter &nbsp;</span>方法的<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>类型应该相同。然后，要检索输出值，就要用对应的<span style="font-family: Times New Roman;"> &nbsp;getXXX &nbsp;</span>方法。例如，<span style="font-family: Times New Roman;">Java &nbsp;</span>类型为<span style="font-family: Times New Roman;">byte &nbsp;</span>的参数应该使用方法<span style="font-family: Times New Roman;"> &nbsp;setByte &nbsp;</span>来赋输入值。应该给<span style="font-family: Times New Roman;">registerOutParameter &nbsp;</span>提供类型为<span style="font-family: Times New Roman;"> &nbsp;TINYINT &nbsp;</span>的<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;</span>类型，同时应使用<span style="font-family: Times New Roman;"> &nbsp;getByte &nbsp;</span>来检索输出值。<span style="font-family: Times New Roman;"> &nbsp;<br /></span>　　下例假设有一个已储存过程<span style="font-family: Times New Roman;"> &nbsp;reviseTotal</span>，其唯一参数是<span style="font-family: Times New Roman;"> &nbsp;INOUT &nbsp;</span>参数。方法<span style="font-family: Times New Roman;">setByte &nbsp;</span>把此参数设为<span style="font-family: Times New Roman;"> &nbsp;25</span>，驱动程序将把它作为<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;TINYINT &nbsp;</span>类型送到数据库中。接着，<span style="font-family: Times New Roman;">registerOutParameter &nbsp;</span>将该参数注册为<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;TINYINT</span>。执行完该已储存过程后，将返回一个新的<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;TINYINT &nbsp;</span>值。方法<span style="font-family: Times New Roman;"> &nbsp;getByte &nbsp;</span>将把这个新值作为<span style="font-family: Times New Roman;"> &nbsp;Java &nbsp;byte &nbsp;</span>类型检索。<span style="font-family: Times New Roman;"> &nbsp;<br />CallableStatement &nbsp;cstmt &nbsp;= &nbsp;con.prepareCall("{call &nbsp;reviseTotal(?)}"); &nbsp;<br />cstmt.setByte(1, &nbsp;25); &nbsp;<br />cstmt.registerOutParameter(1, &nbsp;java.sql.Types.TINYINT); &nbsp;<br />cstmt.executeUpdate(); &nbsp;<br />byte &nbsp;x &nbsp;= &nbsp;cstmt.getByte(1); &nbsp;<br />&nbsp;<br />4</span>、先检索结果，再检索<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数<span style="font-family: Times New Roman;"> &nbsp;<br />&nbsp;<br /></span>　　由于某些<span style="font-family: Times New Roman;"> &nbsp;DBMS &nbsp;</span>的限制，为了实现最大的可移植性，建议先检索由执行<span style="font-family: Times New Roman;">CallableStatement &nbsp;</span>对象所产生的结果，然后再用<span style="font-family: Times New Roman;"> &nbsp;CallableStatement.getXXX &nbsp;</span>方法来检索<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数。如果<span style="font-family: Times New Roman;"> &nbsp;CallableStatement &nbsp;</span>对象返回多个<span style="font-family: Times New Roman;"> &nbsp;ResultSet &nbsp;</span>对象（通过调用<span style="font-family: Times New Roman;"> &nbsp;execute &nbsp;</span>方法），在检索<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数前应先检索所有的结果。这种情况下，为确保对所有的结果都进行了访问，必须对<span style="font-family: Times New Roman;"> &nbsp;Statement &nbsp;</span>方法<span style="font-family: Times New Roman;"> &nbsp;getResultSet</span>、<span style="font-family: Times New Roman;">getUpdateCount &nbsp;</span>和<span style="font-family: Times New Roman;">getMoreResults &nbsp;</span>进行调用，直到不再有结果为止。<span style="font-family: Times New Roman;"> &nbsp;<br />&nbsp;<br /></span>　　检索完所有的结果后，就可用<span style="font-family: Times New Roman;"> &nbsp;CallableStatement.getXXX &nbsp;</span>方法来检索<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数中的值。<span style="font-family: Times New Roman;"> &nbsp;<br />&nbsp;<br />5</span>、检索作为<span style="font-family: Times New Roman;">OUT</span>参数的<span style="font-family: Times New Roman;">NULL</span>值<span style="font-family: Times New Roman;"> &nbsp;<br />&nbsp;<br /></span>返回到<span style="font-family: Times New Roman;"> &nbsp;OUT &nbsp;</span>参数中的值可能会是<span style="font-family: Times New Roman;">JDBC &nbsp;NULL</span>。当出现这种情形时，将对<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;NULL &nbsp;</span>值进行转换以使<span style="font-family: Times New Roman;"> &nbsp;getXXX &nbsp;</span>方法所返回的值为<span style="font-family: Times New Roman;"> &nbsp;null</span>、<span style="font-family: Times New Roman;">0 &nbsp;</span>或<span style="font-family: Times New Roman;"> &nbsp;false</span>，这取决于<span style="font-family: Times New Roman;">getXXX &nbsp;</span>方法类型。对于<span style="font-family: Times New Roman;"> &nbsp;ResultSet &nbsp;</span>对象，要知道<span style="font-family: Times New Roman;">0</span>或<span style="font-family: Times New Roman;">false</span>是否源于<span style="font-family: Times New Roman;">JDBCNULL</span>的唯一方法，是用方法<span style="font-family: Times New Roman;">wasNull</span>进行检测。如果<span style="font-family: Times New Roman;"> &nbsp;getXXX &nbsp;</span>方法读取的最后一个值是<span style="font-family: Times New Roman;"> &nbsp;JDBC &nbsp;NULL</span>，则该方法返回<span style="font-family: Times New Roman;"> &nbsp;true</span>，否则返回<span style="font-family: Times New Roman;"> &nbsp;flase</span>。</div>
          <br/>
          <span style="color:red;">
            <a href="http://seawavecau.javaeye.com/blog/210210#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 01 Jul 2008 16:50:19 +0800</pubDate>
        <link>http://seawavecau.javaeye.com/blog/210210</link>
        <guid>http://seawavecau.javaeye.com/blog/210210</guid>
      </item>
      <item>
        <title>李嘉诚从商五十七年不败秘诀：90%时间先想失败</title>
        <author>seawavecau</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://seawavecau.javaeye.com">seawavecau</a>&nbsp;
          链接：<a href="http://seawavecau.javaeye.com/blog/204780" style="color:red;">http://seawavecau.javaeye.com/blog/204780</a>&nbsp;
          发表时间: 2008年06月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><span class="t_tag" onclick="tagshow(event)">李嘉诚</span>在1950年<span class="t_tag" onclick="tagshow(event)">创业</span>，五十七年来，他从未遇过一年亏损，历经两次石油危机、文化大革命、亚洲金融风暴，他的<span class="t_tag" onclick="tagshow(event)">企业</span>却能横跨五十五个国家，走向日不落。由&ldquo;塑料花大王&rdquo;<span class="t_tag" onclick="tagshow(event)">李嘉诚</span>走向&ldquo;地产大王&rdquo;<span class="t_tag" onclick="tagshow(event)">李嘉诚</span>，未来更可能变成&ldquo;石油巨擘&rdquo;<span class="t_tag" onclick="tagshow(event)">李嘉诚</span>，每跨入新产业，他虽不一定是产业的先行者，却总能先驰得点。<br /><br />&nbsp; &nbsp; 谈风险，他花了90％的时间在想坏情况下会出现的问题；他说&ldquo;审慎&rdquo;是一种艺术，必须拿捏风险和<span class="t_tag" onclick="tagshow(event)">投资</span>的脚步；谈<span class="t_tag" onclick="tagshow(event)">投资</span>，五十多年来，他的个人资产每年都成长；谈<span class="t_tag" onclick="tagshow(event)">管理</span>，他指出要当领袖而不是<span class="t_tag" onclick="tagshow(event)">老板</span>。<br /><br />&nbsp; &nbsp; 最后，他总结谈到留给孙子一句很重要的资产：&ldquo;做人如果可以做到『仁慈的狮子』，就成功了。&rdquo;一个有能力的森林之王，却能心存慈悲。<br /><br />&nbsp; &nbsp; <span style="color: #4169e1;"><strong>五十七年的日不落经营哲学，即将开始&hellip;&hellip;。</strong></span><br /><br />&nbsp; &nbsp; 记者问（以下简称问）：大家都很好奇，你从二十二岁开始创业做生意，超过五十年，从来没有一年亏损，而且还一步步成为华人首富。如何在大胆扩张中，不翻船？<br /><br />&nbsp; &nbsp; 李嘉诚答（以下简称答）：想想你在风和日丽的时候，假设你驾驶着以风推动的远洋船，在离开港口时，你要先想到万一悬挂十号风球（编按：香港以风球代表台风强烈程度，十号相当于强烈台风），你怎么应付。虽然天气满好，但是你还是要估计，若有台风来袭，在风暴还没有离开之前，你怎么办？<br /><br />&nbsp; &nbsp; 我会不停研究每个项目要面对可能发生的坏情况下出现的问题，所以往往花90％考虑失败。就是因为这样，这么多年来，自从1950年到今天，长江（实业）并没有碰到贷款紧张，从来没有。长江（实业）上市到今天，假设股东拿了股息再买长实，（现在）<span class="t_tag" onclick="tagshow(event)">赚钱</span>两千多倍。就是拿了（股息），不再买入长实，<span class="t_tag" onclick="tagshow(event)">股票</span>也超越一千倍。<br /><br />&nbsp; &nbsp; 问：90％考虑失败？很有趣，一般人满脑子都想怎么成功，为何你花这么多时间想失败？<br /><br />&nbsp; &nbsp; 答：你一定要先想到失败，从前我们<span class="t_tag" onclick="tagshow(event)">中国</span>人有句做生意的话：&ldquo;未买先想卖&rdquo;，你还没有买进来，你就先想怎么卖出去，你应该先想失败会怎么样。因为成功的效果是100％或50％之差别根本不是太重要，但是如果一小漏洞不及早修补，可能带给企业极大损害，所以当一个项目发生亏蚀问题时，即使所涉金额不大，我也会和有关部门商量解决问题，所付出的时间和以倍数计的精神都是远远超乎比例的。<br /><br />&nbsp; &nbsp; 我常常讲，一个机械手表，只要其中一个齿轮有一点毛病，你这个表就会停顿。一家公司也是，一个机构只要有一个弱点，就可能失败。了解细节，经常能在事前防御危机的发生。</p>
<p>&nbsp;</p>
<p>&nbsp; </p>
<div class="t_msgfont" id="postmessage_381071">问：哪些细节你一定会紧盯观察？<br /><br />&nbsp; &nbsp; 答：现金流、公司负债的百分比是我一贯最注重的环节，是任何公司的重要健康指标。任何发展中的业务，一定要让业绩达致正数的现金流。<br /><br />&nbsp; &nbsp; 问：90％考虑失败，可以说是，全方位预测风险的能力吗？为什么这件事比思考成功关键来得重要？<br /><br />&nbsp; &nbsp; 答：可以这样说，就像是军队的&ldquo;统帅&rdquo;必须考虑退路。例如一个小国的统帅，本身拥有两万精兵，当计划攻占其他城池时，他必须多准备两倍的精兵，就是六万，因战争启动后，可能会出现很多意料不到的变化；一旦战败退守，国家也有超过正常时期一倍以上的兵力防御外敌。<br /><br />&nbsp; &nbsp; 任何事业均要考虑自己的能力才能平衡风险，一帆风顺是不可能的，过去我在经营事业上曾遇到不少政治、经济方面的起伏。我常常记着世上并无常胜将军，所以在风平浪静之时，好好计划未来，仔细研究可能出现的意外及解决办法。<br /><br />&nbsp; &nbsp; 问：你相当强调风险，不过外人注意到的却是长江集团五十年来，屡屡在危机入市，包含一九六○年代后期掌握时机从塑料跨到地产，**后投资上海、深圳港口生意，甚至在印度尼西亚排华运动时投资印度尼西亚港口等，你的大胆之举为何都未招来致命风险？<br /><br />&nbsp; &nbsp; 答：这其实是掌握市场周期起伏的时机，并还有顾及与国际经济、政治、民生一些有关的各种因素，如地产的兴旺供求周期已达到顶峰时，几乎无可避免可能会下跌；又因为工业的基地转移、必须思考要增加的投资、对什么技术需求最大等等的决定，因应不同的项目找出最快达到商业目标的途径，事前都需要经过精细严谨的研究调查。<br /><br />&nbsp; &nbsp; 能在不景气的时候大力发展，就是在市场旺盛的时候要看到潜伏的危机，以及当它来临时如何应对，这是需要具备若干条件的。<br /><br />&nbsp; &nbsp; 问：你所谓的具备若干条件&hellip;&hellip;？<br /><br />&nbsp; &nbsp; 答：关键在于要做足准备工夫、量力而为、平衡风险。我常说&ldquo;审慎&rdquo;也是一门艺术，是能够把握适当的时间做出迅速的决定，但是这不是议而不决、停滞不前的借口。<br /><br />&nbsp; &nbsp; 经营一间较大的企业，一定要意识到很多民生条件都与其业务息息相关，因此审慎经营的态度非常重要，比如说当有个收购案，所需的全部现金要预先准备。<br /><br />&nbsp; &nbsp; 我是比较小心，曾经经过贫穷，怎么样会去冒险？你看到很多人一时春风得意，一下子就变为穷光蛋，我绝对不会这样做事，都是步步为营。<br /><br />&nbsp; &nbsp; 有一句话，我牢牢记住：&ldquo;穷人易过，穷生意难过&rdquo;，你再穷，你不能吃好的白米，你可以买最便宜的米，还是可以过，人家吃肉，你可以吃菜，最便宜的菜；但是穷生意很难，非常难。所以小心翼翼，可以讲，如履薄冰。<br /><br />&nbsp; &nbsp; 问：你刚才提到，在不景气时候能大力发展，关键在于要&ldquo;做足准备工夫、量力而为、平衡风险&rdquo;。机会来临时，能够把握适当的时间做出迅速的决定。一九七七年，你迅雷不及掩耳的收购香港希尔顿酒店就很经典&hellip;&hellip;（编按：长实以港币二亿三千万元收购希尔顿酒店所属的永高公司，整项交易用不到一周。这是长实上市第一次重