<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>保留心中的一片天</title>
    <description></description>
    <link>http://iLinux.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>Panoramic tours of the World's famous landmarks</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/208411" style="color:red;">http://iLinux.javaeye.com/blog/208411</a>&nbsp;
          发表时间: 2008年06月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><a href="http://www.famouslandmarks.net/" target="_blank">http://www.famouslandmarks.net/</a></p>
<p>&nbsp;</p>
<div class="quote_title">MySelf 写道</div>
<div class="quote_div">	<br />
<br />
Famous Landmarks is the the most comprehensive collection of panoramic virtual tours of leisure, travel and vacation destinations around the World.<br />
<br />
Interactive 360 degree panoramic images allow the traveler a unique opportunity to preview world destinations, regardless of location. The ability to capture all the contextual information of the surrounding environment and allowing the user to &quot;look around&quot; brings a greater sense of being there. Famous Landmarks has utilized this unique opportunity and has created the world's largest panoramic photo library of the world's famous landmarks in over 70 cities and 20 countries. </div>
&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/208411#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, 26 Jun 2008 23:45:55 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/208411</link>
        <guid>http://iLinux.javaeye.com/blog/208411</guid>
      </item>
      <item>
        <title>Be selective.</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/208295" style="color:red;">http://iLinux.javaeye.com/blog/208295</a>&nbsp;
          发表时间: 2008年06月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>You can't please everyone!</p>
<p>You can't do everything perfect!</p>
<p>As you don't so much power to make everything goes after your idea,</p>
<p>there must be 'selects'.</p>
<p>Someone said,'to be ,or not to be,is a problem.'</p>
<p>Maybe Kongfu Panda is a little like 'shibingtuji'.</p>
<p>God bless those who help themsevels.</p>
<p>Remember sth,forget sth.</p>
<p>Do better.</p>
<p>Do more practises.</p>
<p>Be selective.</p>
<p>&nbsp;</p>
<p>Pls don't say anything to let me down for poor.</p>
<p>You may go other places to have sth.</p>
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/208295#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, 26 Jun 2008 17:06:19 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/208295</link>
        <guid>http://iLinux.javaeye.com/blog/208295</guid>
      </item>
      <item>
        <title>致橡树</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/207365" style="color:red;">http://iLinux.javaeye.com/blog/207365</a>&nbsp;
          发表时间: 2008年06月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1977年3月27日&nbsp;&nbsp;&nbsp; 舒婷</p>
<p align="left">&nbsp;</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我如果爱你&mdash;&mdash;</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 绝不像攀援的凌霄花</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 借你的高枝炫耀自己；</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我如果爱你&mdash;&mdash;</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 绝不学痴情的鸟儿</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为绿阴重复单调的歌曲；</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 也不止像泉源</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 长年送来清凉的慰藉；</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 也不止像险峰</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 增加你的高度，衬托你的威仪。</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 甚至日光。</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 甚至春雨。</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不，这些都还不够！</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我必须是你近旁的一株木棉，</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 作为树的形象和你站在一起。</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根，紧握在地下</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 叶，相触在云里。</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每一阵风过</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们都互相致意，</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 但没有人</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 听懂我们的言语。</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 你有你的铜枝铁干</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 像刀、像剑，</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 也像戟；</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我有我红硕的花朵</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 像沉重的叹息，</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 又像英勇的火炬。</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们分担寒潮、风雷、霹雳；</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们共享雾霭、流岚、虹霓。</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 仿佛永远分离，却又终身相依。</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这才是伟大的爱情，</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 坚贞就在这里：</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 爱&mdash;&mdash;不仅爱你伟岸的身躯，</span>
</p>
<p align="left"><span style="color: #0000ff; font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 也爱你坚持的位置，足下的土地。</span>
</p>
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/207365#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, 24 Jun 2008 10:47:32 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/207365</link>
        <guid>http://iLinux.javaeye.com/blog/207365</guid>
      </item>
      <item>
        <title>Rex V: an AJAX Regular EXpression eValuator</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/204157" style="color:red;">http://iLinux.javaeye.com/blog/204157</a>&nbsp;
          发表时间: 2008年06月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>an online regular expression validation tool: </p>
<p><a href="http://www.rexv.org/">http://www.rexv.org/</a>
</p>
<p>&nbsp;</p>
<div class="quote_title">REXV 写道</div>
<div class="quote_div">Welcome!This site is a Regular Expression evaluator for three different regular expression systems:<br />
<br />
   1. PHP PCRE.<br />
   2. PHP Posix.<br />
   3. Javascript.<br />
<br />
The site is written with the help of the so called AJAX technology, therefore will work on the following browsers:<br />
<br />
   1. Internet Expolorer 5+.<br />
   2. Mozilla Firefox 1.0+<br />
   3. Opera 7.54+<br />
   4. Safari 1.2+<br />
<br />
The site is still in the process of active development and testing, so don't hesitate to send me any bug reports or suggestions you may have.<br />
<br />
More information about Regular Expressions you can find in these sites:<br />
<br />
<a href="http://www.regularexpressions.info" target="_blank">http://www.regularexpressions.info</a><br />
<a href="http://en.wikipedia.org/wiki/Regular_expression" target="_blank">http://en.wikipedia.org/wiki/Regular_expression</a><br />
<br />
Happy evaluation :-)<br />
<br />
P.S. If someone wants to make a donation - be welcome.<br />
</div>
&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/204157#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>Mon, 16 Jun 2008 14:54:05 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/204157</link>
        <guid>http://iLinux.javaeye.com/blog/204157</guid>
      </item>
      <item>
        <title>范范口吃笑话 三则 </title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/202200" style="color:red;">http://iLinux.javaeye.com/blog/202200</a>&nbsp;
          发表时间: 2008年06月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="quote_title"> wo写道</div>
<div class="quote_div">第一则 ==========<br />
妈妈拿了100元给范范去买米<br />
口吃的范范到了商店,跟老板说买米......<br />
老板说 : 一包 120$<br />
范范 : 买&hellip;买&hellip;买&hellip;<br />
老板拿一包米 装袋后&hellip;<br />
范范说 : 买不起??&hellip; </div>
<div class="quote_title">wo 写道</div>
<div class="quote_div"> 范范又问有<br />
没有比较便宜的?<br />
老板说 : 有．半斤装90$<br />
范范 : 好&hellip;好&hellip;好&hellip;<br />
老板正要将半斤米装袋..<br />
范范 : 好贵.. 。。<br />
</div>
&nbsp;
<div class="quote_title">wo 写道</div>
<div class="quote_div">第三则 ==========<br />
跑了老远却买不到米的口吃范范.. 索性想买瓶矿泉水来解渴..<br />
他问了价格..<br />
老板说 : 一瓶50$<br />
范范 : 开&hellip;开&hellip;开&hellip;<br />
于是老板帮范范将瓶盖扭开...<br />
范范说 : 开什么玩笑&hellip;？！</div>
&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/202200#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, 11 Jun 2008 16:09:27 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/202200</link>
        <guid>http://iLinux.javaeye.com/blog/202200</guid>
      </item>
      <item>
        <title>log4j settings</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/198781" style="color:red;">http://iLinux.javaeye.com/blog/198781</a>&nbsp;
          发表时间: 2008年05月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><span class="f14" style="color: #0000ff;"><span class="content">log4j.properties<br />
### 设置org.zblog域对应的级别INFO,DEBUG,WARN,ERROR和输出地A1，A2 ##<br />
log4j.category.org.zblog=ERROR,A1 <br />
log4j.category.org.zblog=INFO,A2 <br />
log4j.appender.A1=org.apache.log4j.ConsoleAppender <br />
### 设置输出地A1，为ConsoleAppender(控制台) ##<br />
log4j.appender.A1.layout=org.apache.log4j.PatternLayout <br />
### 设置A1的输出布局格式PatterLayout,(可以灵活地指定布局模式）##<br />
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n <br />
### 配置日志输出的格式##<br />
log4j.appender.A2=org.apache.log4j.RollingFileAppender <br />
### 设置输出地A2到文件（文件大小到达指定尺寸的时候产生一个新的文件）##<br />
log4j.appender.A2.File=E:/study/log4j/zhuwei.html <br />
### 文件位置##<br />
log4j.appender.A2.MaxFileSize=500KB <br />
### 文件大小##<br />
log4j.appender.A2.MaxBackupIndex=1 <br />
log4j.appender.A2.layout=org.apache.log4j.HTMLLayout <br />
##指定采用html方式输出</span>
</span>
</p>
<p>//</p>
<p><span class="f14" style="color: #0000ff;"><span class="content">常用输出格式<br />
# -X号:X信息输出时左对齐；<br />
# %p:日志信息级别<br />
# %d{}:日志信息产生时间<br />
# %c:日志信息所在地（类名）<br />
# %m:产生的日志具体信息<br />
# %n:输出日志信息换行</span>
</span>
</p>
<p>&nbsp;</p>
<p>在ibm上有篇文章讲的很好，大家有兴趣可以去看看<a href="http://www.ibm.com/developerworks/cn/java/l-log4j/index.html">http://www.ibm.com/developerworks/cn/java/l-log4j/index.html</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/198781#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, 30 May 2008 18:33:14 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/198781</link>
        <guid>http://iLinux.javaeye.com/blog/198781</guid>
      </item>
      <item>
        <title>target属性之 _blank _parent _self _top _search </title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/198531" style="color:red;">http://iLinux.javaeye.com/blog/198531</a>&nbsp;
          发表时间: 2008年05月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>blank 浏览器会另开一个新窗口显示链接
<br />
<br />
_self，在同一框架或窗口中打开所链接的文档。此参数为默认值，通常不用指定。 
<br />
<br />
_parent，将链接的文件载入含有该链接框架的父框架集或父窗口中。如果含有该链接的框架不是嵌套的，则在浏览器全屏窗口中载入链接的文件，就象_self参数一样。
<br />
<br />
_top，在当前的整个浏览器窗口中打开所链接的文档，因而会删除所有框架
<br />
<br />
_search 在浏览器的搜索区装载文档，注意，这个功能只在Internet Explorer 5 或者更高版本中适用。</p>
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/198531#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, 30 May 2008 09:39:09 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/198531</link>
        <guid>http://iLinux.javaeye.com/blog/198531</guid>
      </item>
      <item>
        <title>Spring包结构以及各个包之间引用关系说明</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/197816" style="color:red;">http://iLinux.javaeye.com/blog/197816</a>&nbsp;
          发表时间: 2008年05月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="blog_content">
<div><strong><span class="hilite1">Spring</span>
 <span class="hilite2">包结构</span>
说明：</strong>
</div>
<div><strong></strong>
&nbsp;</div>
<div><strong><span class="hilite1">spring</span>
.jar</strong>
</div>
<div>
<hr id="null" />
</div>
<div>包含有完整发布的单个jar包。他包含有除<span class="hilite1">spring</span>
-mock.jar之外的所有jar。原因是，<span class="hilite1">spring</span>
-mock.jar只有在开发环境中才会用到，而且仅仅是作为一个辅助测试类存在。除了<span class="hilite1">spring</span>
.jar，<span class="hilite1">spring</span>
还包括13个独立的jar文件，他们各自包含这<span class="hilite1">spring</span>
各自的组件。所以，如果你可以明确知道使用<span class="hilite1">spring</span>
的哪些资源文件时，就没必要去直接引入<span class="hilite1">spring</span>
.jar，但有时候<span class="hilite1">spring</span>
.jar的引入也是最偷懒和最直接的方式。</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><strong><span class="hilite1">spring</span>
-core.jar</strong>
</div>
<div>
<hr id="null" />
</div>
<div>这个jar包含<span class="hilite1">spring</span>
框架基本的核心工具类，<span class="hilite1">spring</span>
其他组件都要使用到这个包里的类。是其他组件的基本核心。</div>
<div>&nbsp;</div>
<div><strong><span class="hilite1">spring</span>
-beans.jar</strong>
</div>
<div>
<hr id="null" />
</div>
<div>这个jar是所有应用都要用到的，他包含访问配置文件，创建和管理bean以及进行Inversion of Control / Dependency Injection（IoC/DI）操作相关的所有类如果应用只需基本的IoC/DI支持，引入<span class="hilite1">spring</span>
-core.jar和<span class="hilite1">spring</span>
-beans.jar就已经足够了。</div>
<div>&nbsp;</div>
<div><strong><span class="hilite1">spring</span>
-aop.jar</strong>
</div>
<div>
<hr id="null" />
</div>
<div>包含一些使用ＡＯＰ特性时需要用到的一些类。在使用<span class="hilite1">spring</span>
 的AOP特性如Declarative Transaction Management（事务管理）就需要用到这个jar文件。</div>
<div>&nbsp;</div>
<div><br />
<strong><span class="hilite1">spring</span>
-context.jar</strong>
</div>
<div>
<hr id="null" />
</div>
<div>这个jar文件为<span class="hilite1">spring</span>
提供了大量扩展。可以找到使用<span class="hilite1">Spring</span>
 ApplicationContext特性时所需的全部类。JNDI所需的全部类，用来跟模板引擎集成（Velocity，FreeMarker，JasperReports）的类，以及校验相关类。</div>
<div>&nbsp;</div>
<div><br />
<strong><span class="hilite1">spring</span>
-dao.jar</strong>
 </div>
<div>
<hr id="null" />
</div>
<div>包含<span class="hilite1">Spring</span>
 DAO、<span class="hilite1">Spring</span>
 Transaction进行数据访问的所有类，为了使用声明性事务支持还需要在自己的应用里包含<span class="hilite1">spring</span>
-aop.jar</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><strong><span class="hilite1">spring</span>
-hibernate.jar</strong>
 </div>
<div>
<hr id="null" />
</div>
<div>是对Hibernate支持的所有类。</div>
<div>&nbsp;</div>
<div><br />
<strong><span class="hilite1">spring</span>
-orm.jar</strong>
</div>
<div>
<hr id="null" />
</div>
<div>该jar对<span class="hilite1">spring</span>
 DAO特性集合进行了扩展，使其支持iBATIS、JDOOJB、TopLink，由于<span class="hilite1">spring</span>
将hibernate独立成包了，因此在这里没有在支持hibernate。这个文件里大部分的类都依赖<span class="hilite1">spring</span>
-dao.jar中的类。</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><strong><span class="hilite1">spring</span>
-remoting.jar</strong>
 </div>
<div>
<hr id="null" />
</div>
<div>这个包提供对EJB、JMS以及远程调用（RMIHessianBurlapHttp Invoker JAX-RPC）相关的类</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><strong><span class="hilite1">spring</span>
-support.jar</strong>
 </div>
<div>
<hr id="null" />
</div>
<div>该组件提供对Cache（ehcache）、JCA、JMX，邮件服务（Java Mail、COS Mail），计划任务Scheduling（Timer、Quartz）支持的类</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><strong><span class="hilite1">spring</span>
-web.jar</strong>
</div>
<div>
<hr id="null" />
</div>
<div>如果web开发中开发，而且用到用到<span class="hilite1">spring</span>
框架，那就应该引入这个包，该组件包括WebApplicationContext特性的类、struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。</div>
<div>&nbsp;</div>
<div><br />
<strong><span class="hilite1">spring</span>
-webmvc.jar</strong>
</div>
<div>
<hr id="null" />
</div>
<div>该组件包含<span class="hilite1">Spring</span>
 MVC框架相关的所有类，包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。如果使用了独立的MVC框架则该组件不再需要。</div>
<div>&nbsp;</div>
<div><br />
<strong><span class="hilite1">spring</span>
-mock.jar</strong>
</div>
<div>
<hr id="null" />
</div>
<div>这个文件中包含<span class="hilite1">Spring</span>
一整套mock类来辅助应用的测试。<span class="hilite1">spring</span>
测试套件使用了大量的mock类，这样测试就更加简单了。由于可以对HttpServletRequest和HttpServletResponse进行模拟，使得对web进行单元测试更加方便。</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><strong>包间引用关系：</strong>
</div>
<div>&nbsp;</div>
<div><strong><span class="hilite1">Spring</span>
中各个包引入之前都需要保证引入 commons-logging.jar <br />
<span class="hilite1">spring</span>
-core.jar需 commons-collections.jar，<span class="hilite1">spring</span>
-core.jar 是以下其他各个组件的基础。</strong>
<br />
&nbsp;<br />
<strong><span class="hilite1">spring</span>
-beans.jar</strong>
需 <span class="hilite1">spring</span>
-core.jar/cglib-nodep-2.1_3.jar <br />
<strong><span class="hilite1">spring</span>
-aop.jar</strong>
需 <span class="hilite1">spring</span>
-core.jar/<span class="hilite1">spring</span>
-beans.jar/cglib-nodep-2.1_3.jar/aopalliance.jar <br />
<strong><span class="hilite1">spring</span>
-context.jar</strong>
 需<span class="hilite1">spring</span>
-core.jar/<span class="hilite1">spring</span>
-beans.jar/<span class="hilite1">spring</span>
-aop.jar/commons-collections.jar/aopalliance.jar <br />
<strong><span class="hilite1">spring</span>
-dao.jar</strong>
需 <span class="hilite1">spring</span>
-core.jar/<span class="hilite1">spring</span>
-beans.jar/<span class="hilite1">spring</span>
-aop.jar/<span class="hilite1">spring</span>
-context.jar <br />
<strong><span class="hilite1">spring</span>
-jdbc.jar</strong>
需 <span class="hilite1">spring</span>
-core.jar/<span class="hilite1">spring</span>
-beans.jar/<span class="hilite1">spring</span>
-dao.jar <br />
<strong><span class="hilite1">spring</span>
-web.jar</strong>
需 <span class="hilite1">spring</span>
-core.jar/<span class="hilite1">spring</span>
-beans.jar/<span class="hilite1">spring</span>
-context.jar <br />
<strong><span class="hilite1">spring</span>
-webmvc.jar</strong>
需 <span class="hilite1">spring</span>
-core.jar/<span class="hilite1">spring</span>
-beans.jar/<span class="hilite1">spring</span>
-context.jar/<span class="hilite1">spring</span>
-web.jar <br />
<strong><span class="hilite1">spring</span>
-hibernate.jar</strong>
 需 <span class="hilite1">spring</span>
-core.jar/<span class="hilite1">spring</span>
-beans.jar/<span class="hilite1">spring</span>
-aop.jar/<span class="hilite1">spring</span>
-dao.jar/<span class="hilite1">spring</span>
-jdbc.jar/<span class="hilite1">spring</span>
-orm.jar/<span class="hilite1">spring</span>
-web.jar/<span class="hilite1">spring</span>
-webmvc.jar <br />
<strong><span class="hilite1">spring</span>
-orm.jar</strong>
 需 <span class="hilite1">spring</span>
-core.jar/<span class="hilite1">spring</span>
-beans.jar/<span class="hilite1">spring</span>
-aop.jar/<span class="hilite1">spring</span>
-dao.jar/<span class="hilite1">spring</span>
-jdbc.jar/<span class="hilite1">spring</span>
-web.jar/<span class="hilite1">spring</span>
-webmvc.jar <br />
<strong><span class="hilite1">spring</span>
-remoting.jar</strong>
 需 <span class="hilite1">spring</span>
-core.jar/<span class="hilite1">spring</span>
-beans.jar/<span class="hilite1">spring</span>
-aop.jar/<span class="hilite1">spring</span>
-dao.jar/<span class="hilite1">spring</span>
-context.jar/<span class="hilite1">spring</span>
-web.jar/<span class="hilite1">spring</span>
-webmvc.jar <br />
<strong><span class="hilite1">spring</span>
-support.jar</strong>
 需 <span class="hilite1">spring</span>
-core.jar/<span class="hilite1">spring</span>
-beans.jar/<span class="hilite1">spring</span>
-aop.jar/<span class="hilite1">spring</span>
-dao.jar/<span class="hilite1">spring</span>
-context.jar/<span class="hilite1">spring</span>
-jdbc.jar <br />
<strong><span class="hilite1">spring</span>
-mock.jar</strong>
 需 <span class="hilite1">spring</span>
-core.jar/<span class="hilite1">spring</span>
-beans.jar/<span class="hilite1">spring</span>
-dao.jar/<span class="hilite1">spring</span>
-context.jar/<span class="hilite1">spring</span>
-jdbc.jar</div>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/197816#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, 28 May 2008 12:43:05 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/197816</link>
        <guid>http://iLinux.javaeye.com/blog/197816</guid>
      </item>
      <item>
        <title>find 命令使用</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/197344" style="color:red;">http://iLinux.javaeye.com/blog/197344</a>&nbsp;
          发表时间: 2008年05月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>find . -name &quot;*ias*&quot; -print</p>
<p>&nbsp;</p>
<p>------------华丽的分隔线，收集自网络--------------</p>
<pre name="code" class="c">LINUX find 详解 + 实例2008-05-12 11:22一、Linux中find常见用法示例

find    path    -option    [    -print ]    [ -exec    -ok    command ]    {} \;
#-print 将查找到的文件输出到标准输出
#-exec    command    {} \;       -----将查到的文件执行command操作,{} 和 \;之间有空格
#-ok 和-exec相同，只不过在操作前要询用户
====================================================-name    filename               #查找名为filename的文件
-perm                         #按执行权限来查找
-user     username              #按文件属主来查找
-group groupname              #按组来查找
-mtime    -n +n                 #按文件更改时间来查找文件，-n指n天以内，+n指n天以前
-atime     -n +n                #按文件访问时间来查GIN: 0px&quot;&gt;-perm                          #按执行权限来查找
-user     username              #按文件属主来查找
-group groupname              #按组来查找
-mtime    -n +n                 #按文件更改时间来查找文件，-n指n天以内，+n指n天以前
-atime     -n +n                #按文件访问时间来查找文件，-n指n天以内，+n指n天以前 
-ctime     -n +n                #按文件创建时间来查找文件，-n指n天以内，+n指n天以前 
-nogroup                      #查无有效属组的文件，即文件的属组在/etc/groups中不存在
-nouser                       #查无有效属主的文件，即文件的属主在/etc/passwd中不存
-newer    f1 !f2                找文件，-n指n天以内，+n指n天以前 
-ctime     -n +n                #按文件创建时间来查找文件，-n指n天以内，+n指n天以前 
-nogroup                      #查无有效属组的文件，即文件的属组在/etc/groups中不存在
-nouser                       #查无有效属主的文件，即文件的属主在/etc/passwd中不存
-newer    f1 !f2                #查更改时间比f1新但比f2旧的文件
-type      b/d/c/p/l/f          #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size       n[c]                #查长度为n块[或n字节]的文件
-depth                        #使查找在进入子目录前先行查找完本目录
-fstype                       #查更改时间比f1新但比f2旧的文件
-mount                        #查文件时不跨越文件系统mount点
-follow                       #如果遇到符号链接文件，就跟踪链接所指的文件
-cpio                         #对匹配的文件使用cpio命令，将他们备份到磁带设备中
-prune                        #忽略某个目录

====================实例================================


$find    ~    -name    &quot;*.txt&quot;    -print      #在$HOME中查.txt文件并显示
$find    .     -name    &quot;*.txt&quot;    -print
$find    .     -name    &quot;[A-Z]*&quot;    -pri26nbsp;     #对匹配的文件使用cpio命令，将他们备份到磁带设备中
-prune                                #忽略某个目录
$find    .     -name    &quot;[A-Z]*&quot;    -print    #查以大写字母开头的文件
$find    /etc    -name    &quot;host*&quot;    -print #查以host开头的文件
$find    .    -name    &quot;[a-z][a-z][0--9][0--9].txt&quot;     -print    #查以两个小写字母和两个数字开头的txt文件
$find .    -perm    755    -print
$find    .    -perm -007    -exec ls -l {} \;    #查所有用户都可读写执行的文件同-perm 777
$find    . -type d    -print   打印目录结构
$find    .   !    -type    d    -print  打印非目录文件find /usr/include -name '*.h' -exec grep AF_INEF6 {} \; 

因grep无法递归搜索子目录，故可以和find相结合使用。 在/usr/include 所有子目录中的.h文件中找字串AF_INEF6


$find    .    -type l    -print
$find    .    -size    +1000000c    -print         #查长度大于1Mb的文件
$find    .    -size    100c          -print        # 查长度为100c的文件
$find    .    -size    +10    -print               #查长度超过期作废10块的文件（1块=512字节）$cd /
$find    etc    home    apps     -depth    -print    | cpio    -ivcdC65536    -o    /dev/rmt0
$find    /etc -name &quot;passwd*&quot;    -exec grep    &quot;cnscn&quot;    {}    \;    #看是否存在cnscn用户
$find . -name &quot;yao*&quot;    | xargs file
$find    . -name &quot;yao*&quot;    |    xargs    echo     &quot;&quot; &gt; /tmp/core.log
$find    . -name &quot;yao*&quot;    | xargs    chmod    o-w======================================================find    -name april*                        在当前目录下查找以april开始的文件
find    -name    april*    fprint file          在当前目录下查找以april开始的文件，并把结果输出到file中
find    -name ap* -o -name may*    查找以ap或may开头的文件
find    /mnt    -name tom.txt    -ftype vfat    在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find    /mnt    -name t.txt ! -ftype vfat     在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find    /tmp    -name wa* -type l             在/tmp下查找名为wa开头且类型为符号链接的文件
find    /home    -mtime    -2                   在/home下查最近两天内改动过的文件
find /home     -atime -1                    查1天之内被存取过的文件
find /home -mmin     +60                    在/home下查60分钟前改动过的文件
find /home    -amin    +30                    查最近30分钟前被存取过的文件
find /home    -newer    tmp.txt               在/home下查更新时间比tmp.txt近的文件或目录
find /home    -anewer    tmp.txt              在/home下查存取时间比tmp.txt近的文件或目录
find    /home    -used    -2                    列出文件或目录被改动过之后，在2日内被存取过的文件或目录
find    /home    -user cnscn                  列出/home目录内属于用户cnscn的文件或目录
find    /home    -uid    +501                   列出/home目录内用户的识别码大于501的文件或目录
find    /home    -group    cnscn                列出/home内组为cnscn的文件或目录
find    /home    -gid 501                     列出/home内组id为501的文件或目录
find    /home    -nouser                      列出/home内不属于本地用户的文件或目录
find    /home    -nogroup                     列出/home内不属于本地组的文件或目录
find    /home     -name tmp.txt     -maxdepth    4    列出/home内的tmp.txt 查时深度最多为3层
find    /home    -name tmp.txt    -mindepth    3    从第2层开始查
find    /home    -empty                       查找大小为0的文件或空目录
find    /home    -size    +512k                 查大于512k的文件
find    /home    -size    -512k                 查小于512k的文件
find    /home    -links    +2                   查硬连接数大于2的文件或目录
find    /home    -perm    0700                  查权限为700的文件或目录
find    /tmp    -name tmp.txt    -exec cat {} \;
find    /tmp    -name    tmp.txt    -ok    rm {} \;find     /    -amin     -10         # 查找在系统中最后10分钟访问的文件
find     /    -atime    -2           # 查找在系统中最后48小时访问的文件
find     /    -empty                # 查找在系统中为空的文件或者文件夹
find     /    -group    cat          # 查找在系统中属于 groupcat的文件
find     /    -mmin    -5           # 查找在系统中最后5分钟里修改过的文件
find     /    -mtime    -1          #查找在系统中最后24小时里修改过的文件
find     /    -nouser               #查找在系统中属于作废用户的文件
find     /    -user     fred         #查找在系统中属于FRED这个用户的文件

查当前目录下的所有普通文件 
--------------------------------------------------------------------------------# find . -type f -exec ls -l {} \; 
-rw-r--r--      1 root       root          34928 2003-02-25    ./conf/httpd.conf 
-rw-r--r--      1 root       root          12959 2003-02-25    ./conf/magic 
-rw-r--r--      1 root       root            180 2003-02-25    ./conf.d/README 
查当前目录下的所有普通文件，并在- e x e c选项中使用ls -l命令将它们列出
=================================================
在/ l o g s目录中查找更改时间在5日以前的文件并删除它们：
$ find logs -type f -mtime +5 -exec    -ok    rm {} \;
=================================================
查询当天修改过的文件
[root@book class]# find    ./    -mtime    -1    -type f    -exec    ls -l    {} \;
=================================================
查询文件并询问是否要显示
[root@book class]# find    ./    -mtime    -1    -type f    -ok    ls -l    {} \;  
&lt; ls ... ./classDB.inc.php &gt; ? y
-rw-r--r--      1 cnscn      cnscn         13709    1月 12 12:22 ./classDB.inc.php
[root@book class]# find    ./    -mtime    -1    -type f    -ok    ls -l    {} \;  
&lt; ls ... ./classDB.inc.php &gt; ? n
[root@book class]#=================================================
查询并交给awk去处理
[root@book class]# who    |    awk    '{print $1&quot;\t&quot;$2}'
cnscn     pts/0=================================================
awk---grep---sed[root@book class]# df    -k |    awk '{print $1}' |    grep    -v    'none' |    sed    s&quot;/\/dev\///g&quot;
文件系统
sda2
sda1
[root@book class]# df    -k |    awk '{print $1}' |    grep    -v    'none'
文件系统
/dev/sda2
/dev/sda1


1)在/tmp中查找所有的*.h，并在这些文件中查找“SYSCALL_VECTOR&quot;，最后打印出所有包含&quot;SYSCALL_VECTOR&quot;的文件名A) find    /tmp    -name    &quot;*.h&quot;    | xargs    -n50    grep SYSCALL_VECTOR
B) grep    SYSCALL_VECTOR    /tmp/*.h | cut     -d':'    -f1| uniq &gt; filename
C) find    /tmp    -name &quot;*.h&quot;    -exec grep &quot;SYSCALL_VECTOR&quot;    {}    \; -print
2)find / -name filename -exec rm -rf {} \;
     find / -name filename -ok rm -rf {} \;
3)比如要查找磁盘中大于3M的文件：
find . -size +3000k -exec ls -ld {} ;
4)将find出来的东西拷到另一个地方
find *.c -exec cp '{}' /tmp ';'如果有特殊文件，可以用cpio，也可以用这样的语法：
find dir -name filename -print | cpio -pdv newdir
6)查找2004-11-30 16:36:37时更改过的文件
# A=`find ./ -name &quot;*php&quot;` |    ls -l --full-time $A 2&gt;/dev/null | grep &quot;2004-11-30 16:36:37
二、linux下find命令的用法
1. 基本用法：
      find / -name 文件名     find ver1.d ver2.d -name '*.c' -print    查找ver1.d,ver2.d *.c文件并打印     find . -type d -print 从当前目录查找，仅查找目录，找到后，打印路径名。可用于打印目录结构。
2. 无错误查找：
      find / -name access_log 2 &gt;/dev/null
3. 按尺寸查找：
      find / -size 1500c （查找1,500字节大小的文件，c表示字节）
      find / -size +1500c （查找大于1,500字节大小的文件，+表示大于）    
      find / -size +1500c （查找小于1,500字节大小的文件，-表示小于）    
4. 按时间：
      find / -amin n 最后n分钟 
      find / -atime n 最后n天
      find / -cmin n 最后n分钟改变状态
      find / -ctime n 最后n天改变状态
5. 其它：
      find / -empty 空白文件、空白文件夹、没有子目录的文件夹
      find / -false 查找系统中总是错误的文件
      find / -fstype type 找存在于指定文件系统的文件，如type为ext2
      find / -gid n 组id为n的文件
      find / -group gname 组名为gname的文件
      find / -depth n 在某层指定目录中优先查找文件内容
      find / -maxdepth levels 在某个层次目录中按递减方式查找
6. 逻辑
      -and 条件与 -or 条件或
7. 查找字符串
      find . -name '*.html' -exec grep 'mailto:'{} 
</pre>
&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/197344#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, 27 May 2008 10:43:24 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/197344</link>
        <guid>http://iLinux.javaeye.com/blog/197344</guid>
      </item>
      <item>
        <title>wsdl2java</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/197335" style="color:red;">http://iLinux.javaeye.com/blog/197335</a>&nbsp;
          发表时间: 2008年05月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="c">E:\delete&gt;wsdl2java -p com.div -uri http://localhost:8090/newaxis2/services/CBIInterface?wsdl
Using AXIS2_HOME:   D:\axis2-1.4
Using JAVA_HOME:    D:\works\jdk1.5.0_06
Retrieving document at 'http://localhost:8090/newaxis2/services/CBIInterface?wsdl'.
E:\delete&gt;wsdl2java -p com.div -s -uri http://localhost:8090/newaxis2/services/CBIInterface?wsdl
Using AXIS2_HOME:   D:\axis2-1.4
Using JAVA_HOME:    D:\works\jdk1.5.0_06
Retrieving document at 'http://localhost:8090/newaxis2/services/CBIInterface?wsdl'.
E:\delete&gt;wsdl2java -p com.div -ss -uri http://localhost:8090/newaxis2/services/CBIInterface?wsdl
Using AXIS2_HOME:   D:\axis2-1.4
Using JAVA_HOME:    D:\works\jdk1.5.0_06
Retrieving document at 'http://localhost:8090/newaxis2/services/CBIInterface?wsdl'.
E:\delete&gt;wsdl2java -p com.dtv.cbi -uri http://localhost:8090/newaxis2/services/CBIInterface?wsdl
Using AXIS2_HOME:   D:\axis2-1.4
Using JAVA_HOME:    D:\works\jdk1.5.0_06
Retrieving document at 'http://localhost:8090/newaxis2/services/CBIInterface?wsdl'.</pre>
&nbsp;
<div class="quote_title">wsdl2java 写道</div>
<div class="quote_div">C:\Documents and Settings\jjjj&gt;wsdl2java<br />
Using AXIS2_HOME:   D:\axis2-1.4<br />
Using JAVA_HOME:    D:\works\jdk1.5.0_06<br />
Usage: WSDL2Java [options] -uri &lt;url or path&gt; : A url or path to a WSDL<br />
<br />
where [options] include:<br />
  -o &lt;path&gt;                Specify a directory path for the generated code.<br />
  -a                       Generate async style code only (Default: off).<br />
  -s                       Generate sync style code only (Default: off). Takes precedence over -a.<br />
  -p &lt;pkg1&gt;                Specify a custom package name for the generated code.<br />
  -l &lt;language&gt;            Valid languages are java and c (Default: java).<br />
  -t                       Generate a test case for the generated code.<br />
  -ss                      Generate server side code (i.e. skeletons) (Default: off).<br />
  -sd                      Generate service descriptor (i.e. services.xml). (Default: off). Valid with -ss.<br />
  -d &lt;databinding&gt;         Valid databinding(s) are adb, xmlbeans, jibx and jaxbri (Default: adb).<br />
  -g                       Generates all the classes. Valid only with -ss.<br />
  -pn &lt;port_name&gt;          Choose a specific port when there are multiple ports in the wsdl.<br />
  -sn &lt;service_name&gt;       Choose a specific service when there are multiple services in the wsdl.<br />
  -u                       Unpacks the databinding classes<br />
  -r &lt;path&gt;                Specify a repository against which code is generated.<br />
  -ns2p ns1=pkg1,ns2=pkg2  Specify a custom package name for each namespace specified in the wsdls schema.<br />
  -ssi                     Generate an interface for the service implementation (Default: off).<br />
  -wv &lt;version&gt;            WSDL Version. Valid Options : 2, 2.0, 1.1<br />
  -S                       Specify a directory path for generated source<br />
  -R                       Specify a directory path for generated resources<br />
  -em                      Specify an external mapping file<br />
  -f                       Flattens the generated files<br />
  -uw                      Switch on un-wrapping.<br />
  -xsdconfig &lt;file path&gt;   Use XMLBeans .xsdconfig file. Valid only with -d xmlbeans.<br />
  -ap                      Generate code for all ports<br />
  -or                      Overwrite the existing classes<br />
  -b                       Generate Axis 1.x backword compatible code.<br />
  -sp                      Suppress namespace prefixes (Optimzation that reduces size of soap request/response<br />
)<br />
  -E&lt;key&gt; &lt;value&gt;          Extra configuration options specific to certain databindings. Examples:<br />
                           -Ebindingfile &lt;path&gt;                   (for jibx) - specify the file path for the b<br />
inding file<br />
                           -Etypesystemname &lt;my_type_system_name&gt; (for xmlbeans) - override the randomly gener<br />
ated type system name<br />
                           -Ejavaversion 1.5                      (for xmlbeans) - generates Java 1.5 code (ty<br />
ped lists instead of arrays)<br />
                           -Emp &lt;package name&gt; (for ADB) - extension mapper package name<br />
                           -Eosv (for ADB) - turn off strict validation.<br />
                           -Ewdc (for xmlbeans) - Generate code with a dummy schema. if someone use this optio<br />
n<br />
                              they have to generate the xmlbeans code seperately with the scomp command comes<br />
with the<br />
                              xmlbeans distribution and replace the Axis2 generated classes with correct class<br />
es<br />
  --noBuildXML             Dont generate the build.xml in the output directory<br />
  --noWSDL                 Dont generate WSDLs in the resources directory<br />
  --noMessageReceiver      Dont generate a MessageReceiver in the generated sources<br />
  --http-proxy-host        Proxy host address if you are behind a firewall<br />
  --http-proxy-port        Proxy prot address if you are behind a firewall<br />
  -ep                      Exclude packages - these packages are deleted after codegeneration<br />
  -sin                     Skelton interface name - used to specify a name for skelton interface other than th<br />
e default one<br />
  -scn                     Skelton class name - used to specify a name for skelton class other than the defaul<br />
t one</div>
&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/197335#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, 27 May 2008 10:24:21 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/197335</link>
        <guid>http://iLinux.javaeye.com/blog/197335</guid>
      </item>
      <item>
        <title>AXIS2之WSDL2JAVA</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/197180" style="color:red;">http://iLinux.javaeye.com/blog/197180</a>&nbsp;
          发表时间: 2008年05月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><span class="t18">　　Axis2是常用的一种SOAP&nbsp;engine，但是它提供的wsdl2Java的命令行工具的说明比较简单，没有具体的例子。下面举出几个例子：<br />
<br />
从最简单的开始&nbsp;,-uri&nbsp;指定wsdl文件<br />
&gt;&nbsp;WSDL2Java&nbsp;-uri&nbsp;currencyConvert.wsdl<br />
<br />
-d&nbsp;使用不同的data&nbsp;binding方法<br />
&gt;&nbsp;WSDL2Java&nbsp;-uri&nbsp;currencyConvert.wsdl&nbsp;-d&nbsp;<a href="http://www.knowsky.com/xml.asp" class="ReplaceKeyword" target="_blank">XML</a>
beans<br />
<br />
-a&nbsp;生成异步的方法<br />
&gt;&nbsp;WSDL2Java&nbsp;-uri&nbsp;currencyConvert.wsdl&nbsp;-a<br />
<br />
-t&nbsp;生成测试case<br />
&gt;&nbsp;WSDL2Java&nbsp;-uri&nbsp;currencyConvert.wsdl&nbsp;-t&nbsp;...<br />
<br />
稍微复杂一些的，-p可以指定生成的package，-o指定生成的路径，-ss生成服务端代码<br />
wsdl2java&nbsp;-uri&nbsp;../wsdl/currencyConvert.wsdl&nbsp;-o&nbsp;../gen_src&nbsp;&nbsp;-ss&nbsp;-sd&nbsp;-g&nbsp;-p&nbsp;foo.bat<br />
<br />
再复杂一些，－ns2p&nbsp;将namespace进行替换,多个中间用逗号隔开<br />
wsdl2java&nbsp;-uri&nbsp;../wsdl
/currencyConvert.wsdl&nbsp;-o&nbsp;../wsdl
/gen_src&nbsp;&nbsp;-ss&nbsp;-sd&nbsp;-g&nbsp;-p&nbsp;com.foo.bar&nbsp;-ns2p&nbsp;&quot;http://www.xxx.yyy.com/zzz
/v1.0&quot;=com.foo.bar,&quot;http://www.xxx.yyy.com/ddd/v1.1&quot;=com.foo.bar.goo进入讨论
组讨论。 </span>
</p>
<p>&nbsp;</p>
<p>C:\ws\classes&gt; java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -S true&nbsp; -Nurn:MobileBoss com.yy.ws mb.wsdl</p>
<p>参数说明： -o 输出文件所在目录（ .-代表当前目录 ）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-s生成server端绑定代码</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -d发布范围</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -S是否产生发布和撤销webservice的deploy.wsdd和undeploy.wsdd文件。ture代表生成发布文件。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Nurn:命名空间 包名</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mb.wsdl - wsdl文件名。</p>
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/197180#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>Mon, 26 May 2008 19:30:11 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/197180</link>
        <guid>http://iLinux.javaeye.com/blog/197180</guid>
      </item>
      <item>
        <title>[Z]使用JSPWiki配置搭建Wiki说明</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/196329" style="color:red;">http://iLinux.javaeye.com/blog/196329</a>&nbsp;
          发表时间: 2008年05月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div>最近帮一个朋友搭建一个Wiki系统，由于以前也没有触及过，所以需要从零开始，下面把这一过程记录下来（其中包括对其他网友帖子的摘录），希望对一些新手有所帮助，同时也希望经验丰富的高手补充指点。</div>
<div>&nbsp;</div>
<div>1、准备工作</div>
<div>a）准备JDK和Tomcat</div>
<div>下载JDK和Tomcat并安装，我安装的版本为：j2sdk1.4.2和jakarta-tomcat-5.0.28，tomcat最好安装在根目录下，路经不要有空格。</div>
<div>JDK下载地址：http://java.sun.com/j2se/1.4.2/download.html</div>
<div>Tomcat下载地址：http://jakarta.apache.org/downloads/binindex.html</div>
<div>&nbsp;</div>
<div>b）准备JSPWiki</div>
<div>下载JSPWiki，包括jspwiki-2.2.33-bin.zip和中文模板StarTemplate_zh_CN_1.0.1.zip。</div>
<div>JSPWiki下载地址：http://jspwiki.org</div>
<div>&nbsp;</div>
<div>2、部署JSPWiki</div>
<div>拷贝压缩包里的JSPWiki.war到tomcat的webapps下，重命名为你的wiki的名字，比如：mywiki.war</div>
<div>&nbsp;</div>
<div>3、启动tomcat</div>
<div>通过浏览器输入：http://127.0.0.1:8080/ mywiki，
tomcat将开始部署你的wiki，自动在webapps下创建mywiki文件夹，包括jsp文件和配置信息，其中WEB-INF下包含的
jspwiki.properties包括主要的配置信息，可在http://127.0.0.1:8080/ mywiki
/Install.jsp 中进行修改。</div>
<div>同时tomcat将自动为你的wiki创建数据文件夹，在linux下是/p/web/www-data/jspwiki，在windows下是D:\p\web\www-data\tomwiki（假设tomcat装在D盘）</div>
<div>&nbsp;</div>
<div>4、修改JSPWiki配置</div>
<div>可以通过wiki配置页面http://127.0.0.1:8080/ mywiki /Install.jsp，进行配置，也可以通过直接修改文件jspwiki.properties进行配置，配置内容包括：</div>
<div>jspwiki.pageProvider = FileSystemProvider &mdash;&mdash;页面存储方式。推荐使用VersioningFileProvider，提供简单的版本控制功能</div>
<div>jspwiki.usePageCache = true &mdash;&mdash;页面缓存，缺省值就是了</div>
<div>jspwiki.fileSystemProvider.pageDir = /p/web/www-data/jspwiki/ &mdash;&mdash;wiki内容存储的位置，也就是那一堆txt文件所在的位置</div>
<div>jspwiki.encoding = UTF-8 &mdash;&mdash;如果你想使用中文的话，那么这个配置项前面的注释必须去掉</div>
<div>jspwiki.translatorReader.allowHTML = false &mdash;&mdash;是否允许wiki里面支持html。</div>
<div>jspwiki.templateDir = default &mdash;&mdash;wiki的模板。可以到jspwiki上下载模板，放到templates目录下，然后在这里改一下名字就可以了</div>
<div>jspwiki.translatorReader.inlinePattern.1 = *.jpg &mdash;&mdash;如果想让wiki支持更多的图片格式，在这儿改就是了</div>
<div>jspwiki.lucene.analyzer = org.apache.lucene.analysis.cjk.CJKAnalyzer －－支持中文搜索</div>
<div>&nbsp;</div>
<div>5、使用中文模板</div>
<div>JSPWiki支持使用第三方模板替换掉发布包自带的&quot;defalut&quot;模板；比较流行的有MGR和NexB；使用中文模板库：star_zh_CN. 下载JSPWiki_zh_CN.zip，解压缩</div>
<div>a）将templates/star_zh_CN目录复制到{tomwiki}/templates里。</div>
<div>b）将wikipages目录下的txt文件复制到tomwiki的&quot;wiki网页目录&quot;里。&quot;wiki网页目录&quot;请参照
{tomwiki}/WEB-INF/jspwiki.properties文件里的
jspwiki.fileSystemProvider.pageDir值。</div>
<div>c）修改{tomwiki}/WEB-INF/jspwiki.properties文件里的jspwiki.templateDir属性的值为star_zh_CN。</div>
<div>d）(重新)启动web服务器。</div>
<div>&nbsp;</div>
<div>6、JSPWiki中文模板错误：</div>
<div>错误描述：</div>
<div>根据上面步骤完成基本配置后，采用中文模板star_zh_CN，运行Tomcat，打开<a href="http://localhost:8080/myWiki/">http://localhost:8080/myWiki/</a>
，页面显示正确，但是当点&ldquo;菜单&rdquo;和&ldquo;编辑页面&rdquo;时报错如下：</div>
<div>&nbsp;JSPWiki has detected an error<br />
Error Message <br />
org/apache/jsp/templates/star_005fzh_005fCN/commonheader_jsp
(wrong name:
org/apache/jsp/templates/star_005fzh_005fCN/CommonHeader_jsp) <br />
Exception <br />
javax.servlet.jsp.JspException <br />
Place where detected <br />
com.ecyrd.jspwiki.tags.IncludeTag.doEndTag(), line 74 </div>
<div>解决方法：</div>
<div>经过分析和察看JSP源代码，发现是程序代码中文件名引起的错误，修改方法有以下两种：</div>
<div>1）使用文件名commonheader.jsp：</div>
<div>修改目录templates\star_zh_CN中文件名 CommonHeader.jsp为commonheader.jsp；</div>
<div>修改目录templates\star_zh_CN中文件ViewTemplate.jsp内容，把里面的CommonHeader.jsp改为commonheader.jsp。</div>
<div>&nbsp;</div>
<div>2）使用文件名CommonHeader.jsp：</div>
<div>修改目录webapps\myWiki下的Login.jsp中内容，把commonheader.jsp改为CommonHeader.jsp；</div>
<div>修改目录templates\star_zh_CN中文件EditTemplate.jsp内容，把里面的commonheader.jsp改为CommonHeader.jsp。</div>
<div><br />
</div>
<div>FROM:http://blog.csdn.net/qinysong/archive/2006/08/27/1128639.aspx<br />
</div>
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/196329#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>Sat, 24 May 2008 11:33:47 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/196329</link>
        <guid>http://iLinux.javaeye.com/blog/196329</guid>
      </item>
      <item>
        <title>Transient 关键字用法</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/195657" style="color:red;">http://iLinux.javaeye.com/blog/195657</a>&nbsp;
          发表时间: 2008年05月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>1、 &nbsp;&nbsp; java的serialization提供了一个非常棒的存储对象状态的机制，说白了serialization就是把对象的状态存储到硬盘上
去，等需要的时候就可以再把它读出来使用。但是在存储对象状态时，我们有时候会需要特定的对象数据在serialization时不进行存储。这时候
transient关键字就派上用场了。要关掉类的特定的数据域，可以使用transient关键字进行定义，这对于底层的java虚拟机来说，这个
transient类型的变量不是一个类的永久性的状态。</p>
<p>2、比如说在一个实体Bean中，transient和 &nbsp; static字段是非持久性字段，不能保存在数据库中。 &nbsp; <br />
 &nbsp; 另外，如果你的对象需要序列化到数据库、JDNI或通过Object流传递给其他对象的话，对象中的非持久性字段应该加transient关键字。</p>
<p>3、&nbsp;
你如果写了一个程序并需要序列化到本地或者数据库中(不只是你一个人需要用),并且因为测试的缘故,你认为加上了自己的一些信息,例如用户名,密码(例如
数据库的身份),这样方便测试.但是,这些信息是肯定不应该被别人知道或者了解的,同时呢,又不想每次自己都去写都去改,这样,你可以用
transient定义这样的变量存储它们.</p>
<p>4、&nbsp;&nbsp;  下面是java规范中对transient关键字的解释： &nbsp; <br />
 &nbsp; &nbsp; &nbsp; The &nbsp; transient &nbsp;
marker &nbsp; is &nbsp; not &nbsp; fully &nbsp; specified &nbsp; by &nbsp; The &nbsp; Java &nbsp; Language &nbsp; &nbsp;
Specification &nbsp; but &nbsp; is &nbsp; used &nbsp; in &nbsp; object &nbsp; serialization &nbsp; to &nbsp;
mark &nbsp; member &nbsp; variables &nbsp; that &nbsp; should &nbsp; not &nbsp; be &nbsp; serialized.</p>
<p>5、java有个特点就是序列化，简单地来说就是可以将这个类存储在物理空间（当然还是以文件的形式存在），那么当你从本地还原这个文件时，你可以将它转换为它本身。这可以极大地方便网络上的一些操作，但同时，因为涉及到安全问题，所以并不希望把类里面所有的东西都能存储（因为那样，别人可以通过序列化知道类里面的内容），那么我们就可以用上transient这个关键字，它的意思是临时的，即不会随类一起序列化到本地，所以当还原后，这个关键字定义的变量也就不再存在。</p>
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/195657#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, 22 May 2008 14:45:15 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/195657</link>
        <guid>http://iLinux.javaeye.com/blog/195657</guid>
      </item>
      <item>
        <title>[Z]Java中的SOAP技术</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/194820" style="color:red;">http://iLinux.javaeye.com/blog/194820</a>&nbsp;
          发表时间: 2008年05月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Java中的SOAP技术 <br />作者: 　来源: 　标签:java webservice soap (English) 【大 中 小】 <br />开始之前，我想就本文即将讨论的主题和读者需要具备的起点知识做一些必需的描叙。本文的主题是讨论SOAP技术，我们将尽可能的讲得通俗易懂一些，所以，我们引入了一个普通的&ldquo;Hello World&rdquo;范例来给读者说明它们是怎么运作的，让读者知道它们的运作方式。我认为，如果光看官方文档是很难开始学习这门新技术的，官方文档中包含大量的范例，并解释了所有的特性和优点，但是没解释它们的运作方式。在这篇文章中，我不打算只肤浅的解释SOAP技术的定义，我们假设读者熟悉JAVA语言，Web技术，具有XML语言，XML Namespaces，XML Schema的基础。在这种情况下，理解本文将不存在任何困难。然而，即使没有这些知识，你也不必担心，我们将尽可能的解释得简单，但是当你开始做自己的SOAP应用程序时会遇到一些问题和麻烦。因此，花费一定时间来学习上面的知识是很有必要的。 </p>
<p>　　从技术的角度来说，有必要提一下我们的调试环境。我们使用的是Windows XP操作系统，安装有JAVA 2 SDK 1.4.1，Apache SOAP 2.3.1，JAF 1.0.2，JAVAMAIL 1.3.1和Xerces 2.6.0。上面所提及的都能在Tcomcat 4.1.29 JSP/Servlet容器中正常运行。所有的软件都是免费自由软件，因此你能够很容易的下载它们并自己在任何你喜欢的平台如Windows或UNIX上安装它们。Java SDK，JAF和JAVAMAIL位于SUN的官方网站（<a href="http://java.sun.com">http://java.sun.com</a>），其他的软件在Jakarta项目组的官方网站（<a href="http://jakarta.apache.org">http://jakarta.apache.org</a>）上有down的。可能你在看到我们需要这么多不同的包（package）时已经有点担心和不安了，但是实际上你不应该担心这些的。一旦你懂了基础，那么对你将相当容易。安装不是一件很难的事情，你只需要在设置环境变量的时候仔细些，比如CATALINA_HOME, CLASSPATH, JAVA_HOME 等等，所有这些步骤都是手工的。由于我仅仅是想将你的注意力再次集中到它们身上，所以你能很快的就完成以上配置过程。我只是添加下面的一些字符串到Tomcat的bin/setclasspath.bat文件中： </p>
<p>...<br />set CATALINA_HOME=C:\Tomcat4.1.29<br />set CLASSPATH=%JAVA_HOME%\lib\tools.jar<br />set CLASSPATH=%JAVA_HOME%\soap-2.3.1\lib\soap.jar<br />set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\javamail-1.3.1\mail.jar<br />set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\jaf-1.0.2\activation.jar<br />set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\xerces-2_6_0\xercesImpl.jar<br />set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\xerces-2_6_0\xercesSamples.jar<br />set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\xerces-2_6_0\xml-apis.jar<br />set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\xerces-2_6_0\xmlParserAPIs.jar<br />set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\common\lib\servlet.jar<br />set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\common\lib\tools.jar<br />... </p>
<p>　　如果你的安装路径（installation paths）和上面使用的不同，你需要更正它们，然后关闭和重启Tomcat以使它们生效。这样，你就有为运行SOAP作好了准备。但是现在，我要忘记有关的技术部分，来学一点理论知识。</p>
<p>　　SOAP意思是简单对象访问协议（Simple Object Access Protocol）。的确如它的名字一样，SOAP是很简单的。它是一个基于XML的协议，允许程序组件和应用程序彼此使用一种标准的Internet协议--HTTP来通讯。SOAP是一种独立的平台，它不依赖程序语言，它是简单的，弹性的，很容易扩展的。目前，应用程序能够彼此使用一种基于DCOM和CORBA技术的远程过程调用（RPC）来进行相互通讯，但HTTP不被设计为这个目的。RPC在Internet上应用是非常困难的，它们会出现许多兼容性和安全性的问题，因为防火墙和代理服务器通常都会阻断（block）这些类型的流量。应用程序之间最好的通讯方式是通过HTTP协议，因为HTTP是支持所有Internet浏览器和服务器的。基于这个目的，SOAP协议被创建出来。</p>
<p>　　那么，它们是如何运作的呢？比如，一个应用程序（A）需要和另一个应用程序（B）在SOAP的帮助下进行彼此通讯。它们将使用下面的框架图来完成这个过程：</p>
<p>这个SOAP信封（SOAP envelope）是一个包含以下内容的XML文档：</p>
<p>正如你看到的，它是非常简单的。它看起来确实就象一个普通的信封或者你的email。你想看看它们是如何动作的吗？下面跟我们一起来吧。其实我们有很多方法是不用SOAP来在创建和运行我们自己的&ldquo;Hello World&rdquo;应用程序的，但是因为我们要保持它的简单性，我会给你一个它运作方式的框架图（scheme）。</p>
<p>　　我们的&ldquo;Hello World&rdquo;范例会包含一个SOAP Service。我们的SOAP Client将发送它们的名字到该SOAP Service，并试图得到一些答复或响应。这个SOAP Service需要部署到一个SOAP Admin的工具，以至重定位所有请求的SOAP（Proxy） RPC Router能够知道它们应该使用哪种服务来运作。总而言之，这个是以下面的方式来运作的：</p>
<p>现在，我们来一步步的看看到底发生了什么。在Step 1里，HelloWorldClient将连接一个SOAP RPC Router，请求我们的SOAP Service并将包含我们名字的一个字符串传递给它。该SOAP RPC Router会检查是否它已经部署了这个SOAP Service。如果它被发现是被部署的，那么它将传递数据到这个SOAP Service并调用特定的方法，这个是Step 2。然后SOAP Service方法会被执行，将返回某个字符串值（该值就是SOAP Client的答复或者响应）（Step 3）。在Step4中，SOAP RPC Router将仅仅只是重定向这个数据到SOAP Client。所有在Step1和Step4里传输的数据是通过SOAP Envelope来完成的。正如你所看到的，算法是相当简单的，因此我们只准备关心实际的代码。 <br />首先，我们要创建一个SOAP Service。下面是它的代码，请不要忘记将它放入HelloWorld/ 目录中（必须被包含在你的CLASSPATH中）：</p>
<p>1: // SOAPService.java<br />2: package HelloWorld;<br />3: public class SOAPService {<br />4: public String sayHi(String x) {<br />5: return("Hello my friend, " + x + "! Glad to see you!");<br />6: }<br />7: } </p>
<p>　　添加任何注释也是很容易的。要编译它，只需要用下列命令：</p>
<p>　　javac SOAPService.java</p>
<p>　　第二步，一旦我们准备好了SOAP Service，我们需要用SOAP Service Manager来部署它。这个可以通过很多方式来实现，但是为了能让初学SOAP的读者更容易理解SOAP，我提供了一个最容易的方式。我们假设你的Web Server（Tomcat或其他）已经正常运行，并且你已经正确安装了SOAP。那么当浏览器访问<a href="http://localhost:8080/soap/">http://localhost:8080/soap/</a>，你会看见Apache SOAP的欢迎页面。点击Run the admin client ，然后 Deploy。你会得到一个屏幕显示，在那里你需要填入ID，Scope，Method，Provider Type和JAVA Provider的信息到表单域中。你能忽略其他所有的表单域，除非你真的需要它们的信息。我们的&ldquo;HelloWorld&rdquo;例子不需要它们，所以，我们填的下面的值：</p>
<p>ID: urn:HelloWorld_SOAPService <br />Scope: Application <br />Methods: sayHi <br />Provider Type: java <br />Java Provider - Provider Class: HelloWorld.SOAPService <br />Java Provider - Static? No </p>
<p>　　一些注释：ID是我们要从SOAP Client标识我们的SOAP Service的唯一名字。Method包含SOAP Service提供的一系列方法。JAVA Provider-Provider Class是SOAP Service Java类的名字。</p>
<p>　　现在，点击Deploy 按钮，那么你的服务会被部署。再次强调，请注意正确设置CLASSPATH环境变量。然后，你的HelloWorld.SOAPService类能够被找到，并且所有必需的jar包也能被找到。这是个几乎每个人都会犯的普通错误。现在，你能够点击 List ，将会看见你的服务已经被部署进来。恭喜！</p>
<p>　　最后，让我们来创建一个SOAP Client。代码看起来有点复杂，但是在现实中不会只有这么点长。</p>
<p>1: // HelloWorldClient.java<br />2: import java.io.*;<br />3: import java.net.*;<br />4: import java.util.*;<br />5: import org.apache.soap.*;<br />6: import org.apache.soap.rpc.*;<br />7: public class HelloWorldClient {<br />8: public static void main(String[] arg) throws Exception {<br />9: Call c = null;<br />10: URL url = null;<br />11: Vector params = null;<br />12: Response rep = null;<br />13: String ourName = "Superman";<br />14: String ourUrn = "urn:HelloWorld_SOAPService";<br />15: String ourMethod = "sayHi";<br />16: url = new URL("<a href="http://localhost:8080/soap/servlet/">http://localhost:8080/soap/servlet/</a><br />rpcrouter");<br />17: System.out.println("Passing to our deployed "+ourUrn+"<br />our name ("+ourName+"): ");<br />18: c = new Call();<br />19: c.setTargetObjectURI(ourUrn);<br />20: c.setMethodName(ourMethod);<br />21: c.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);<br />22: params = new Vector();<br />23: params.addElement(new Parameter("ourName", String.class,<br />ourName, null));<br />24: c.setParams(params);<br />25: System.out.print("and its answer is: ");<br />26: rep = c.invoke(url, "");<br />27: if (rep.generatedFault()) {<br />28: Fault fault = rep.getFault();<br />29: System.out.println("\nCall failed!");<br />30: System.out.println("Code = " + fault.getFaultCode());<br />31: System.out.println("String = " + fault.getFaultString());<br />32: } else {<br />33: Parameter result = rep.getReturnValue();<br />34: System.out.print(result.getValue());<br />35: System.out.println();<br />36: }<br />37: }<br />38:} </p>
<p>　　下面我要做一些解释。在第13行，我们设置了我们的名字，这个名字将会传递给SOAP Service。在第14行，我们设置了我们将要调用的服务的ID（service ID），和第15行里设置的服务方法（service method）。有了这个ID，服务能够被部署到SOAP服务管理器（SOAP Service Manager）中。我们没有设置任何其他值，仅仅只用刚才那些基础值就可以正常运作了。你能从SOAP的官方文档上得到相关信息，该文档来自SOAP包中，它们的解释超出了本文的范围。</p>
<p>　　用以下方式编译这个SOAP Client：</p>
<p>　　javac HelloWorldClient.java</p>
<p>　　为了圆满完成它，让我们检查一下针对我们的测试，是否所有事情都准备就绪。Tomcat正在运行，所有的环境变量都正确，SOAP Service被编译和部署，SOAP Client被成功编译。OK，让我们运行它，你将看到这个屏幕：</p>
<p>正如你所看到的，我们的SOAP Client使用SOAP协议成功发送它的名字和接收了一个答复。正如前面所说的，SOAP Service发送和接收的是SOAP envelope。这个是SOAP envelope的源代码。</p>
<p>　　被发送到SOAP Service的SOAP Envelope</p>
<p>＜?xml version=1.0 encoding=UTF-8?＞<br />＜SOAP-ENV:Envelope xmlns:SOAP-ENV="<a href="http://schemas.xmlsoap.org/">http://schemas.xmlsoap.org/</a><br />soap/envelope/"<br />xmlns:xsi="<a href="http://www.w3.org/2001/">http://www.w3.org/2001/</a><br />XMLSchema-instance"<br />xmlns:xsd="<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>"＞<br />＜SOAP-ENV:Body＞<br />＜ns1:sayHi xmlns:ns1="urn:HelloWorld_SOAPService"<br />SOAP-ENV:encodingStyle="<a href="http://schemas.xmlsoap.org/">http://schemas.xmlsoap.org/</a><br />soap/encoding/"＞<br />＜ourName xsi:type="xsd:string"＞Superman＜/ourName＞<br />＜/ns1:sayHi＞<br />＜/SOAP-ENV:Body＞<br />＜/SOAP-ENV:Envelope＞: </p>
<p>　　从SOAP Service接收的SOAP Envelope</p>
<p>＜?xml version=1.0 encoding=UTF-8?＞<br />＜SOAP-ENV:Envelope xmlns:SOAP-ENV="<a href="http://schemas.xmlsoap.org/">http://schemas.xmlsoap.org/</a><br />soap/envelope/"<br />xmlns:xsi="<a href="http://www.w3.org/2001/">http://www.w3.org/2001/</a><br />XMLSchema-instance"<br />xmlns:xsd="<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>"＞<br />＜SOAP-ENV:Body＞<br />＜ns1:sayHiResponse xmlns:ns1="urn:HelloWorld_SOAPService"<br />SOAP-ENV:encodingStyle="<a href="http://schemas.xmlsoap">http://schemas.xmlsoap</a>.<br />org/soap/encoding/"＞<br />＜return xsi:type="xsd:string"＞Hello my friend, Superman!<br />Glad to see you!＜/return＞<br />＜/ns1:sayHiResponse＞<br />＜/SOAP-ENV:Body＞<br />＜/SOAP-ENV:Envelope＞ </p>
<p>　　要理解SOAP Envelope中的所有标签的含义，我建议你花一点时间阅读 <a href="http://www.w3.org/2001/06/soap-envelope">http://www.w3.org/2001/06/soap-envelope</a> 命名空间规范。</p>
<p>　　我希望本文能够在你理解SOAP技术上有一定帮助。这个技术是简单的，有趣的，强大的，弹性的。它被用在许多Web应用中，这些应用的数量也在不断增加。学习SOAP是值得的，至少你要知道它是什么和它是怎么运作的。<br />本篇文章来源于 新技术天空 原文链接：<a href="http://www.ntsky.com/tech/java/webservice/2007-05-16/4a0f97fe8fc7e1ae.html?webservice-java-webservice-soap">http://www.ntsky.com/tech/java/webservice/2007-05-16/4a0f97fe8fc7e1ae.html?webservice-java-webservice-soap</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/194820#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, 20 May 2008 14:57:40 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/194820</link>
        <guid>http://iLinux.javaeye.com/blog/194820</guid>
      </item>
      <item>
        <title>[Z]WebService的基本概念</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/194819" style="color:red;">http://iLinux.javaeye.com/blog/194819</a>&nbsp;
          发表时间: 2008年05月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>WebService的基本概念<br />作者: 　来源: 　标签:webservice wsdl soap jax rpc (English) 【大 中 小】 <br />WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求，轻量级的独立的通讯技术。</p>
<p>这种技术允许网络上的所有系统进行交互。随着技术的发展，一个Web服务可以包含额外的指定功能并且可以在多个B2B应用中协作通讯。 Web服务可以理解请求中上下文的关系，并且在每一个特定的情况下产生动态的结果。这些服务会根据用户的身份，地点以及产生请求的原因来改变不同的处理，用以产生一个唯一的，定制的方案。这种协作机制对那些只对最终结果有兴趣的用户来说，是完全透明的。&nbsp;&nbsp; </p>
<p>UDDI <br />在用户能够调用Web服务之前，必须确定这个服务内包含哪些商务方法，找到被调用的接口定义，还要在服务端来编制软件。所以，我们需要一种方法来发布我们的Web服务。 UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。UDDI 项目中的成员可以通过UDDI Business Registry (UBR) 来操作Web服务的调用，UBR是一个全球性的服务。 Web服务供应商可以在UBR中描述并且注册他们的服务。 用户可以在UBR中查找并定位那些他们需要的服务。 UDDI是一种根据描述文档来引导系统查找相应服务的机制。 UDDI包含标准的&ldquo;白皮书&rdquo;类型的商业查询方式， &ldquo;黄皮书&rdquo;类型的局部查找，以及 &ldquo;绿皮书&rdquo;类型的服务类型查找。 UDDI利用SOAP消息机制（标准的XML/HTTP）来发布，编辑，浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据，并且发送到注册中心或者由注册中心来返回需要的数据。&nbsp;&nbsp; <br />WSDL <br />对于商业用户来说，要找到一个自己需要使用的服务，他必须知道如何来调用。 WSDL (Web Services Description Language) 规范是一个描述接口，语义以及Web服务为了响应请求需要经常处理的工作的XML文档。这将使简单地服务方便，快速地被描述和记录。以下是一个WSDL的样例： </p>
<p><br />&nbsp;</p>
<p>&nbsp;</p>
<p>它包含了以下的关键信息： 消息的描述和格式定义可以通过XML文档中的&lt;types&gt;和&lt;message&gt; 标记来传送。 &lt;portType&gt; 标记中表示了消息传送机制。 (e.g. request-only, request-response, response-only) 。 &lt;binding&gt; 标记指定了编码的规范 。 &lt;service&gt; 标记中表示服务所处的位置 (URL)。 WSDL在UDDI中总是作为一个接口描述文档。因为UDDI是一个通用的用来注册WSDL规范的地方，UDDI的规范并不限制任何类型或者格式描述文档。这些文档可能是一个WSDL文档，或者是一个正规的包含导向文档的Web页面，也可能只是一个包含联系信息的电子邮件地址。现在Java提供了一个 Java API for WSDL (JWSDL)规范。它提供了一套能快速处理WSDL文档的方法，并且不用直接对XML文档进行操作，它会比JAXP更方便，更快速。&nbsp;&nbsp; </p>
<p>SOAP <br />当商业用户通过UDDI找到你的WSDL描述文档后，他通过可以Simple Object Access Protocol (SOAP) 调用你建立的Web服务中的一个或多个操作。 SOAP是XML文档形式的调用商业方法的规范，它可以支持不同的底层接口，象HTTP(S)或者SMTP。 之所以使用XML是因为它的独立于编程语言，良好的可扩展性以及强大的工业支持。之所以使用HTTP是因为几乎所有的网络系统都可以用这种协议来通信，由于它是一种简单协议，所以可以与任何系统结合，还有一个原因就是它可以利用80端口来穿越过防火墙。 SOAP的强大是因为它简单。SOAP是一种轻量级的，非常容易理解的技术，并且很容易实现。它有工业支持，可以从各主要的电子商务平台供应商那里获得。从技术角度来看，SOAP详细指明了如何响应不同的请求以及如何对参数编码。一个SOAP封装了可选的头信息和正文，并且通常使用HTTP POST方法来传送到一个HTTP 服务器，当然其他方法也是可以的，例如SMTP。SOAP同时支持消息传送和远程过程调用。以下是一个SOAP请求。 </p>
<p><br />&nbsp;</p>
<p>JAXR <br />为了支持UDDI在Java平台上的功能，Java APIs for XML Registries (JAXR)允许开发者来访问注册中心。 值得注意的是，JAXR并不是建立Web服务必需的，你可以利用其他常用的XML APIs来直接集成这些协议。 JAXR是一个方便的API，它提供了Java API来发布，查找以及编辑那些注册信息。它的重点在于基于XML的B2B应用，复杂的地址本查找以及对XML消息订阅的支持等Web服务。 它也可以用来访问其他类型的注册中心，象ebXML注册中心。这些对Web服务的注册信息进行的操作，可以使用当前的一些Web服务工具来完成（例如第三方的SOAP和ebXML消息工具）。另外，当JAXP提供了一致并具有针对性的API来完成这些操作，这将使开发变得更加容易。 <br />JAX/RPC <br />为了使开发人员专注于建立象SOAP那样的基于XML的请求，JCP正在开发基于RPC (JAX/RPC) 的Java API。JAX/RPC是用来发送和接收方法调用请求的，它基于XML协议，象SOAP，或者其他的象XMLP (XML Protocol，要了解更多可以参考<a href="http://www.w3.org/2000/xp/">http://www.w3.org/2000/xp/</a>)。JAX/RPC使你不用再关注这些协议的规范，使应用的开发更快速。不久，开发人员就不用直接以XML表示方法调用了。目前有很多第三方实现了SOAP，开发人员可以在不同的层次上调用SOAP，并选择使用哪一种。将来，JAX/RPC会取代这些APIs并提供一个统一的接口来构造以及处理SOAP RPC请求。在接收一个从商业伙伴那里过来的SOAP请求的时候，一个Java servlet用JAX/RPC来接收这个基于XML的请求。一旦接收到请求后，servlet会调用商务方法，并且把结果回复给商业伙伴。 <br />JAXM <br />当从商业合作伙伴那里接收一个Web服务的请求时，我们需要Java API实现一个Servlet来处理ebXML消息，就象我们用JAX/RPC来处理SOAP请求一样。 Java API for XML Messaging (JAXM) 是集成XML消息标准（象ebXML消息或者SOAP消息）的规范。 这个API是用来推动XML消息处理的，它检测那些预定单的消息格式以及约束。它控制了所有的消息封装机制，用一种直观的方式分割了消息中的信息，象路由信息，发货单。这样，开发人员只要关注消息的有效负载，而不用去担心那些消息的重复处理。目前的开发人员用JAXP来实现JAXM将要提供的功能，JAXM将会提供一套非常具有针对性的API来处理基于XML的消息传送。这将大大简化开发人员的代码，并使它们具有统一的接口。 JAXM和JAX/RPC的差别在于处理消息导向的中间件以及远程过程调用的不同。JAXM注重于消息导向，而JAX/RPC是用来完成远程过程调用的。</p>
<p>请注意，在JAXM 和 JAX/RPC技术成熟之前，开发人员还是依赖于第三方的SOAP APIs，象Apache SOAP, IdooXOAP, 以及 GLUE。当JAXM 和 JAX/RPC正式发布后，它将为当前不同的SOAP和ebXML消息提供统一的接口。就象JDBC位多种不同的数据库提供统一的接口。&nbsp;&nbsp; </p>
<p>JAXB <br />XML绑定技术可以把XML文档和Java对象进行自由转换。 用JAXB，你可以在后台的EJB层，把XML文档转换成Java对象。同样你也可以把从EJB中取出的Java对象转换成XML文档返回给用户。 JAXB接口提供了比SAX和DOM更高级的方法来处理XML文档。它提供的特性可以在XML数据和Java类之间互相映射，提供了一个简单的方法来转换XML数据。它比逐个解析标记更简单。 </p>
<p>POST /StockQuote HTTP/1.1<br />Host: <a href="http://www.stockquoteserver.com">www.stockquoteserver.com</a><br />Content-Type: text/xml; charset="utf-8"<br />Content-Length: nnnn <br />SOAPAction: "Some-URI" &lt;SOAP-ENV:Envelope<br />&nbsp;&nbsp;&nbsp; xmlns:SOAP-ENV="<a href="http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap.org/soap/envelope/</a>"<br />&nbsp;&nbsp;&nbsp; SOAP-ENV:encodingStyle="<a href="http://schemas.xmlsoap.org/soap/encoding/&quot;/">http://schemas.xmlsoap.org/soap/encoding/"/</a>&gt;<br />&nbsp;&nbsp;&nbsp; &lt;SOAP-ENV:Header&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;t:Transaction xmlns:t="some-URI" SOAP-ENV:mustUnderstand="1"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/t:Transaction&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/SOAP-ENV:Header&gt;<br />&nbsp;&nbsp;&nbsp; &lt;SOAP-ENV:Body&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;m:GetLastTradePrice xmlns:m="Some-URI"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;symbol&gt;SUNW&lt;/symbol&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/m:GetLastTradePrice&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/SOAP-ENV:Body&gt;<br />&lt;/SOAP-ENV:Envelope&gt; </p>
<p>&lt;?xml version="1.0"?&gt;<br />&lt;definitions name="StockQuote"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; targetNamespace="<a href="http://example.com/stockquote.wsdl">http://example.com/stockquote.wsdl</a>"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:tns="<a href="http://example.com/stockquote.wsdl">http://example.com/stockquote.wsdl</a>"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:xsd1="<a href="http://example.com/stockquote.xsd">http://example.com/stockquote.xsd</a>"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:soap="<a href="http://schemas.xmlsoap.org/wsdl/soap/">http://schemas.xmlsoap.org/wsdl/soap/</a>"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns="<a href="http://schemas.xmlsoap.org/wsdl/">http://schemas.xmlsoap.org/wsdl/</a>"&gt;<br />&lt;types&gt;<br />&nbsp;&nbsp; &lt;schema targetNamespace=http://example.com/stockquote.xsd<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns="<a href="http://www.w3.org/2000/10/XMLSchema">http://www.w3.org/2000/10/XMLSchema</a>"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;element name="TradePriceRequest"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;complexType&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;all&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;element name="tickerSymbol" type="string"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/all&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/complexType&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/element&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;element name="TradePrice"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;complexType&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;all&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;element name="price" type="float"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/all&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/complexType&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/element&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/schema&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;/types&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;message name="GetLastTradePriceInput"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;part name="body" element="xsd1:TradePriceRequest"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;/message&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;message name="GetLastTradePriceOutput"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;part name="body" element="xsd1:TradePrice"/&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/message&gt;<br />&nbsp;&nbsp;&nbsp; &lt;portType name="StockQuotePortType"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;operation name="GetLastTradePrice"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input message="tns:GetLastTradePriceInput"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;output message="tns:GetLastTradePriceOutput"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/operation&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/portType&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;binding name="StockQuoteSoapBinding"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="tns:StockQuotePortType"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:binding style="document"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transport="<a href="http://schemas.xmlsoap.org/soap/http&quot;/">http://schemas.xmlsoap.org/soap/http"/</a>&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;operation name="GetLastTradePrice"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:operation<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; soapAction="<a href="http://example.com/GetLastTradePrice&quot;/">http://example.com/GetLastTradePrice"/</a>&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:body use="literal"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/input&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;output&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:body use="literal"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/output&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/operation&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/binding&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;service name="StockQuoteService"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;documentation&gt;My first service&lt;/documentation&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;port name="StockQuotePort" binding="tns:StockQuoteBinding"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:address location="<a href="http://example.com/stockquote&quot;/">http://example.com/stockquote"/</a>&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/port&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;/service&gt;<br />&nbsp; &lt;/definitions&gt;<br />本篇文章来源于 新技术天空 原文链接：<a href="http://www.ntsky.com/tech/java/webservice/2007-04-27/1b9f4b8739d99755.html?webservice-webservice-wsdl-soap-jax-rpc">http://www.ntsky.com/tech/java/webservice/2007-04-27/1b9f4b8739d99755.html?webservice-webservice-wsdl-soap-jax-rpc</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/194819#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, 20 May 2008 14:56:41 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/194819</link>
        <guid>http://iLinux.javaeye.com/blog/194819</guid>
      </item>
      <item>
        <title>CAMERA</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/193740" style="color:red;">http://iLinux.javaeye.com/blog/193740</a>&nbsp;
          发表时间: 2008年05月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="theTitle">
<h1 id="endTitle">1360万像素旗舰卡片机 钛涂层索尼W300评测</h1>
<div class="text">2008-05-13 09:55:34　来源: <a href="http://www.zol.com.cn/" target="_blank"><span style="color: #000000;">中关村在线</span></a>(北京)　<a href="http://comment.tech.163.com/digi2_bbs/4BQJH4AM00162GUB.html" class="cDRed" id="talk1"><span style="color: #bc2931;">网友评论 <span class="cDRed" id="replycounttop">0</span> 条</span></a> <a href="http://bbs.digi.163.com/"><span style="color: #000000;">进入论坛</span></a></div>
</div>
<div class="endSummary">
<ul>
<li><span id="digest">　　索尼W300是一款操控舒适，画质表现尚可的卡片式数码相机。具有快速的开机和变焦速度，按键舒适且位置得当。2.7寸液晶屏显示效果较好，3倍光变镜头实用为主。钛涂层机身抗压耐磨，质感出色。双重防抖效果明显，全手动模式令创作更随心所欲。目前市场售价为2350元。</span> </li>
</ul>
</div>
<div id="endText">
<p style="text-indent: 2em;">今年2月份，索尼发布了卡片式数码相机的旗舰产品&mdash;&mdash;W300。W300在外型上与前几代的索尼W系相机区别不大，但在性能上，W300可谓是亮点多多。首先，W300采用了钛涂层机身，可使相机外型在美观与时尚的同时还具有更加坚固的特性。其次，W300搭载了一枚1/1.7英寸的1360万有效像素的Super HAD CCD，可以保证更大幅面图片的输出。</p>
<p>&nbsp;</p>
<img src="http://cimg2.163.com/catchimg/20080513/4993194_0.jpg" border="0" alt="" />
<p>&nbsp;</p>
<p style="text-indent: 2em;">索尼W300具有1360万有效像素，比起绝大部分入门级数码单反相机都还要高。尽管W300的成像画质无法与单反相比，但其高像素，超便携的特性也是单反相机所无法比拟的。</p>
<p>&nbsp;</p>
<img src="http://cimg2.163.com/catchimg/20080513/4993194_1.jpg" border="0" alt="" />
<p>&nbsp;</p>
<p>&nbsp;</p>
索尼W300
<p>&nbsp;</p>
<p style="text-indent: 2em;">索尼W300还配备了双重防抖性能，即在拍摄过程中，拍摄对象晃动或相机抖动会造成影像模糊，双重防抖解决方案可以通过光学防抖功能与高感光度的智能结合来缓解对象晃动和相机抖动造成的影响。在拍摄快速移动的对象及昏暗室内的肖像时，这些功能能帮助您获得清晰的影像。</p>
<p>&nbsp;</p>
<img src="http://cimg2.163.com/catchimg/20080513/4993194_2.jpg" border="0" alt="" />　<img src="http://cimg2.163.com/catchimg/20080513/4993194_3.jpg" border="0" alt="" />
<p>&nbsp;</p>
<p>&nbsp;</p>
索尼W300
<p>&nbsp;</p>
<p>&nbsp;</p>
<img src="http://cimg2.163.com/catchimg/20080513/4993194_4.jpg" border="0" alt="" />
<p>&nbsp;</p>
<p>&nbsp;</p>
索尼W300
<p>&nbsp;</p>
<p style="text-indent: 2em;">作为旗舰机型，索尼W300还具有笑脸快门、人脸监测、图像管理等多种附加功能</p>
<p style="text-indent: 2em;">FROM:<a href="http://tech.163.com/digi/08/0513/09/4BQJH4AM00162GUB.html">http://tech.163.com/digi/08/0513/09/4BQJH4AM00162GUB.html</a></p>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://iLinux.javaeye.com/blog/193740#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, 16 May 2008 17:31:31 +0800</pubDate>
        <link>http://iLinux.javaeye.com/blog/193740</link>
        <guid>http://iLinux.javaeye.com/blog/193740</guid>
      </item>
      <item>
        <title>【Z】Axis2快速上手指南</title>
        <author>andy54321</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iLinux.javaeye.com">andy54321</a>&nbsp;
          链接：<a href="http://iLinux.javaeye.com/blog/193707" style="color:red;">http://iLinux.javaeye.com/blog/193707</a>&nbsp;
          发表时间: 2008年05月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>原文链接:<a href="http://ws.apache.org/axis2/1_1_1/quickstartguide.html" target="_blank"><span style="color: #006699;">http://ws.apache.org/<span class="hilite1"><span style="background-color: #ffff00;">axis2</span></span>/1_1_1/quickstartguide.html</span></a> <br />本指南的目的是让你尽可能快的创建使用<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>的服务和客户端，我们将使用一个简单的StockQuote服务并显示给你一些创建和部署它 <br />的不同的方式，以及快速的看看<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>自带的一些工具，然后我们将看看创建访问这些服务的客户端。 <br /><br /><strong>内容</strong></p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Java代码 <a href="http://hideto.javaeye.com/blog/56835" title="复制代码" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;"><img src="http://hideto.javaeye.com/images/icon_copy.gif" alt="复制代码" /></a></div>
</div>
<ol class="dp-j">
<li><span><span>介绍 &nbsp;&nbsp;</span></span></li>
<li><span>做好准备 &nbsp;&nbsp;</span></li>
<li><span>&lt;SPAN&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">class</span></strong></span><span>=hilite1&gt;Axis2&lt;/SPAN&gt;服务 &nbsp;&nbsp;</span></li>
<li><span>创建服务 &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;部署POJOs &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;使用AXIOM构建服务 &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;使用ADB生成服务 &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;使用XMLBeans生成服务 &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;使用JiBX生成服务 &nbsp;&nbsp;</span></li>
<li><span>生成客户端 &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;使用AXIOM创建一个客户端 &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;使用ADB生成一个客户端 &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;使用XMLBeans生成一个客户端 &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;使用JiBX生成一个客户端 &nbsp;&nbsp;</span></li>
<li><span>总结 &nbsp;&nbsp;</span></li>
<li><span>进一步学习&nbsp;&nbsp;</span></li>
</ol></div>
<pre name="code" class="java">介绍
做好准备
<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>服务
创建服务
    部署POJOs
    使用AXIOM构建服务
    使用ADB生成服务
    使用XMLBeans生成服务
    使用JiBX生成服务
生成客户端
    使用AXIOM创建一个客户端
    使用ADB生成一个客户端
    使用XMLBeans生成一个客户端
    使用JiBX生成一个客户端
总结
进一步学习
</pre>
<p><br /><br /><strong>快速安装笔记:</strong> <br />文档的代码可以在解压的标准二进制发布[/url]找到，更明确的位于其中的<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>_HOME/samples/目录－quickstart，quickstartdb， <br />quickstartaxiom，quickstartjibx和quickstartxmlbeans，如果你继续下去它将帮你掌握它。它包含一个Ant构建文件(build.xml) <br />贯穿所有的例子我们将提到它来使得编译更容易。 <br /><br /><strong>介绍</strong> <br />让我们以服务本身开始。我们将使它简单，所以你可以看到当我们构建并部署服务时会发生什么，一个StockQuoteService例子看起来 <br />像这个，所以让我们使用下面的(参看Code Listing 1)。 <br />Code Listing 1: StockQuoteService类</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Java代码 <a href="http://hideto.javaeye.com/blog/56835" title="复制代码" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;"><img src="http://hideto.javaeye.com/images/icon_copy.gif" alt="复制代码" /></a></div>
</div>
<ol class="dp-j">
<li><span><span class="keyword"><strong><span style="color: #7f0055;">package</span></strong></span><span>&nbsp;samples.quickstart.service.pojo; &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;&nbsp;</span></li>
<li><span class="keyword"><strong><span style="color: #7f0055;">import</span></strong></span><span>&nbsp;java.util.HashMap; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;</span></li>
<li><span class="keyword"><strong><span style="color: #7f0055;">public</span></strong></span><span>&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">class</span></strong></span><span>&nbsp;StockQuoteService&nbsp;{ &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">private</span></strong></span><span>&nbsp;HashMap&nbsp;map&nbsp;=&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">new</span></strong></span><span>&nbsp;HashMap(); &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">public</span></strong></span><span>&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">double</span></strong></span><span>&nbsp;getPrice(String&nbsp;symbol)&nbsp;{ &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Double&nbsp;price&nbsp;=&nbsp;(Double)&nbsp;map.get(symbol); &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">if</span></strong></span><span>(price&nbsp;!=&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">null</span></strong></span><span>){ &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">return</span></strong></span><span>&nbsp;price.doubleValue(); &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">return</span></strong></span><span>&nbsp;</span><span class="number"><span style="color: #c00000;">42.00</span></span><span>; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">public</span></strong></span><span>&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">void</span></strong></span><span>&nbsp;update(String&nbsp;symbol,&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">double</span></strong></span><span>&nbsp;price)&nbsp;{ &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map.put(symbol,&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">new</span></strong></span><span>&nbsp;Double(price)); &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
<li><span>}&nbsp;&nbsp;</span></li>
</ol></div>
<pre name="code" class="java">package samples.quickstart.service.pojo;

import java.util.HashMap;

public class StockQuoteService {
    private HashMap map = new HashMap();

    public double getPrice(String symbol) {
        Double price = (Double) map.get(symbol);
        if(price != null){
            return price.doubleValue();
        }
        return 42.00;
    }

    public void update(String symbol, double price) {
        map.put(symbol, new Double(price));
    }
}
</pre>
<p><br />它将为一个具有两个可能的调用的简单服务，其中一个是一个in/out消息，另一个则为一个只能in的服务，最终我们将打包服务并用 <br />四种不同的方式部署部署它。 <br />首先，让我们看看这个简单的Java类怎样响应一个服务。 <br /><br /><strong>做好准备</strong> <br />在我们使用<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>构建任何东西之前，我们将需要关注一些家务事。现在你将需要准备好你使用<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>的环境，幸运的是，它只包括一 <br />些简单的步骤: <br />1，下载并安装Java(版本至少为JDK1.4) <br />2，下载<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>并解压到一个目标目录 <br />3，复制<span class="hilite1"><span style="background-color: #ffff00;">axis2</span></span>.war文件到你的servlet引擎的webapps目录 <br />4，设置<span class="hilite1"><span style="background-color: #ffff00;">AXIS2</span></span>_HOME环境变量来指出目标目录，注意<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>生成的所有脚本和构建文件依赖于这个值，所以不要遗漏了这个步骤。 <br />大多数情况下，我们的服务也将需要一个WSDL文件，<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>的<span class="hilite2"><span style="background-color: #55ff55;">Java2WSDL</span></span>可以用来生成一个WSDL。执行以下步骤来从一个Java类生成一 <br />个WSDL文件: <br />1，创建并编译Java类 <br />2，使用该命令生成WSDL: <br /><strong>%<span class="hilite1"><span style="background-color: #ffff00;">AXIS2</span></span>_HOME%/bin/<span class="hilite2"><span style="background-color: #55ff55;">java2wsdl</span></span> -cp . -cn samples.quickstart.service.pojo.StockQuoteService -of StockQuoteService.wsdl</strong> <br />移动你生成WSDL文件，你可以做你需要的任何更改。例如，你可能添加自定义的过错或者改变生成的元素名。例如，该StockQuoteSer <br />vice.wsdl位于%<span class="hilite1"><span style="background-color: #ffff00;">AXIS2</span></span>_HOME%/samples/quickstartadb/resources/META-INF文件夹，我们将在本指南的其他部分使用它，代替生成过 <br />程创建的一般参数。 <br /><br /><strong><span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>服务</strong> <br />在我们构建任何东西之前，理解最终产品看起来像什么是有用的。<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>的服务器端可以被部署在任何Servlet引擎上，并且有如下的 <br />Code Listing 2显示的结构。 <br />Code Listing 2: <span class="hilite1"><span style="background-color: #ffff00;">axis2</span></span>.war的目录结构</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Java代码 <a href="http://hideto.javaeye.com/blog/56835" title="复制代码" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;"><img src="http://hideto.javaeye.com/images/icon_copy.gif" alt="复制代码" /></a></div>
</div>
<ol class="dp-j">
<li><span><span>&lt;SPAN&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">class</span></strong></span><span>=hilite1&gt;axis2&lt;/SPAN&gt;-web&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span>META-INF &nbsp;&nbsp;</span></li>
<li><span>WEB-INF &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;classes&nbsp; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;conf &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;SPAN&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">class</span></strong></span><span>=hilite1&gt;axis2&lt;/SPAN&gt;.xml&nbsp; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;lib &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;activation.jar &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;... &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlSchema.jar &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;modules &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modules.list&nbsp; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addressing.mar &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;... &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;soapmonitor.mar &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;services &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;services.list &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aservice.aar &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;... &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version.aar &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;web.xml&nbsp;&nbsp;</span></li>
</ol></div>
<pre name="code" class="java"><span class="hilite1"><span style="background-color: #ffff00;">axis2</span></span>-web 
META-INF
WEB-INF
    classes 
    conf
        <span class="hilite1"><span style="background-color: #ffff00;">axis2</span></span>.xml 
    lib
        activation.jar
        ...
        xmlSchema.jar
    modules
        modules.list 
        addressing.mar
        ...
        soapmonitor.mar
    services
        services.list
        aservice.aar
        ...
        version.aar
    web.xml
</pre>
<p><br />从最上面开始，<span class="hilite1"><span style="background-color: #ffff00;">axis2</span></span>-web是组成<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>管理程序的一些JSPs，你可以通过它来执行任何需要的动作，例如添加服务，使用模块和禁止 <br />模块。WEB-INF包含了运行部署到服务目录的任何服务的实际上的java类和其他支持文件。 <br />这里主要的文件是<span class="hilite1"><span style="background-color: #ffff00;">axis2</span></span>.xml，它控制程序怎样与接收的消息打交道，决定<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>是否需要使用模块目录里定义的任何模块。 <br />这里你可以看到，服务可以被部署为*.aar文件，但是它们的内容必须以一个特殊的方式安排。例如，服务的结构将为如下:</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Java代码 <a href="http://hideto.javaeye.com/blog/56835" title="复制代码" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;"><img src="http://hideto.javaeye.com/images/icon_copy.gif" alt="复制代码" /></a></div>
</div>
<ol class="dp-j">
<li><span><span>-&nbsp;StockQuoteService &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;&nbsp;&nbsp;-&nbsp;META-INF &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;services.xml &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;-&nbsp;samples &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;quickstart &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;service &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;pojo &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;StockQuoteService.</span><span class="keyword"><strong><span style="color: #7f0055;">class</span></strong></span><span>&nbsp;&nbsp;</span></li>
</ol></div>
<pre name="code" class="java">- StockQuoteService
   - META-INF
     - services.xml
   - samples
     - quickstart
       - service
         - pojo
           - StockQuoteService.class
</pre>
<p><br />这不是太复杂，服务的名字为StockQuoteService，它在services.xml中指定，并且根据包名把任何Java类放到合适的位置。META-INF <br />目录包含关于<span class="hilite1"><span style="background-color: #ffff00;">Axis2</span></span>需要来正确执行服务的额外信息。services.xml文件定义了服务本身并把Java类链接到它(参看Code Listing 3)。 <br />Code Listing 3: 服务定义文件</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Java代码 <a href="http://hideto.javaeye.com/blog/56835" title="复制代码" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;"><img src="http://hideto.javaeye.com/images/icon_copy.gif" alt="复制代码" /></a></div>
</div>
<ol class="dp-j">
<li><span><span>&lt;service&nbsp;name=</span><span class="string"><span style="color: #0000ff;">"StockQuoteService"</span></span><span>&nbsp;scope=</span><span class="string"><span style="color: #0000ff;">"application"</span></span><span>&gt; &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stock&nbsp;Quote&nbsp;Sample&nbsp;Service &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/description&gt; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;messageReceivers&gt; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;messageReceiver&nbsp; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mep=</span><span class="string"><span style="color: #0000ff;">"http://www.w3.org/2004/08/wsdl/in-only"</span></span><span>&nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">class</span></strong></span><span>=</span><span class="string"><span style="color: #0000ff;">"org.apache.&lt;SPAN&nbsp;class=hilite1&gt;axis2&lt;/SPAN&gt;.rpc.receivers.RPCInOnlyMessageReceiver"</span></span><span>/&gt; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;messageReceiver &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mep=</span><span class="string"><span style="color: #0000ff;">"http://www.w3.org/2004/08/wsdl/in-out"</span></span><span>&nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword"><strong><span style="color: #7f0055;">class</span></strong></span><span>=</span><span class="string"><span style="color: #0000ff;">"org.apache.&lt;SPAN&nbsp;class=hilite1&gt;axis2&lt;/SPAN&gt;.rpc.receivers.RPCMessageReceiver"</span></span><span>/&gt; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/messageReceivers&gt; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter&nbsp;name=</span><span class="string"><span style="color: #0000ff;">"ServiceClass"</span></span><span>&gt; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;samples.quickstart.service.pojo.StockQuoteService &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/parameter&gt; &nbsp;&nbsp;</span></li>
<li><span>&lt;/service&gt;&nbsp;&nbsp;</span></li>
</ol></div>
<pre name="code" class="java">&lt;service name="StockQuoteService" scope="application"&gt;
    &lt;description&gt;
        Stock Quote Sample Service
    &lt;/description&gt;
    &lt;messageReceivers&gt;
        &lt;messageReceiver 
            mep="http://www.w3.org/2004/08/wsdl/in-only"
    class="org.apache.<span class="hilite1"><span style="background-color: #ffff00;">axis2</span></span>.rpc.receivers.RPCInOnlyMessageReceiver"/&gt;
        &lt;messageReceiver
            mep="http://www.w3.org/2004/08/wsdl/in-out"
    class="org.apache.<span class="hilite1"><span style="background-color: #ffff00;">axis2</span></span>.rpc.receivers.RPCMessageReceiver"/&gt;
    &lt;/messageReceivers&gt;
    &lt;parameter name="ServiceClass"&gt;
        samples.quickstart.service.pojo.StockQuoteService
    &lt;/parameter&gt;
&lt;/service&gt;
</pre>
<p><br />这里你看到服务本身被定义了，以及不同的消息交换模式相关的messageReceiver类型。 <br />META-INF目录也是你打算包含在该程序中的自定义WSDL文件的位置。 <br />你可以通过简单的采用该文件目录结构并复制到你的servlet引擎的webapps目录来部署一个服务，这是著名的"爆发"形式，但是你也 <br />可以压缩你的文档到一个*.aar文件，类似于一个*.jar文件，并直接将*.aar文件放到servlet引擎的webapps