<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>从没想过什么时候和时间分手</title>
    <description>一切都很简单,一切都一如从前.</description>
    <link>http://floating.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>CXF中复杂类型的返回值binding的小tip</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/233740" style="color:red;">http://floating.javaeye.com/blog/233740</a>&nbsp;
          发表时间: 2008年08月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          使用CXF在进行WSDL first的开发中，如果在wsdl中将messag定义成如下格式：<br /><pre name="code" class="xml">
  &lt;wsdl:message name="modifyCustomerInfoResponse">
    &lt;wsdl:part element="tns:modifyCustomerInfoResponse" name="in" />
  &lt;/wsdl:message>
</pre><br />则产生的stub接口中会将所有的element展开，形如：<br /><pre name="code" class="java">
@RequestWrapper(localName = "modifyCustomerInfo", targetNamespace = "http://bdp.bankcomm.com/AccountTypeTransactionsService/", className = "com.bankcomm.bdp.ModifyCustomerInfoRequestType")
    @ResponseWrapper(localName = "modifyCustomerInfoResponse", targetNamespace = "http://bdp.bankcomm.com/AccountTypeTransactionsService/", className = "com.bankcomm.bdp.ModifyCustomerInfoResponseType")
    @WebMethod
    public void modifyCustomerInfo(
        @WebParam(name = "version", targetNamespace = "")
        java.lang.String version,
        @WebParam(name = "requestHeader", targetNamespace = "")
        com.bankcomm.bdp.RequestHeaderType requestHeader,
        @WebParam(name = "custId", targetNamespace = "")
        java.lang.String custId,
        @WebParam(name = "cardNo", targetNamespace = "")
        java.lang.String cardNo,
        @WebParam(name = "fundPwd", targetNamespace = "")
        java.lang.String fundPwd,
        @WebParam(mode = WebParam.Mode.INOUT, name = "investorName", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> investorName,
        @WebParam(name = "corpCode", targetNamespace = "")
        java.lang.String corpCode,
        @WebParam(name = "certType", targetNamespace = "")
        java.lang.String certType,
        @WebParam(name = "certCode", targetNamespace = "")
        java.lang.String certCode,
        @WebParam(name = "address", targetNamespace = "")
        java.lang.String address,
        @WebParam(name = "commuAddr", targetNamespace = "")
        java.lang.String commuAddr,
        @WebParam(name = "postCode", targetNamespace = "")
        java.lang.String postCode,
        @WebParam(name = "transorCertType", targetNamespace = "")
        java.lang.String transorCertType,
        @WebParam(name = "transorCertNo", targetNamespace = "")
        java.lang.String transorCertNo,
        @WebParam(name = "transorName", targetNamespace = "")
        java.lang.String transorName,
        @WebParam(name = "instReprIDType", targetNamespace = "")
        java.lang.String instReprIDType,
        @WebParam(name = "instReprIDCode", targetNamespace = "")
        java.lang.String instReprIDCode,
        @WebParam(name = "instReprName", targetNamespace = "")
        java.lang.String instReprName,
        @WebParam(name = "sex", targetNamespace = "")
        com.bankcomm.bdp.SexType sex,
        @WebParam(name = "investorsBirthday", targetNamespace = "")
        javax.xml.datatype.XMLGregorianCalendar investorsBirthday,
        @WebParam(name = "eduLevel", targetNamespace = "")
        java.lang.String eduLevel,
        @WebParam(name = "email", targetNamespace = "")
        java.lang.String email,
        @WebParam(name = "faxNo", targetNamespace = "")
        java.lang.String faxNo,
        @WebParam(name = "vocationCode", targetNamespace = "")
        java.lang.String vocationCode,
        @WebParam(name = "annualIncome", targetNamespace = "")
        int annualIncome,
        @WebParam(name = "telNo", targetNamespace = "")
        java.lang.String telNo,
        @WebParam(name = "mobileNo", targetNamespace = "")
        java.lang.String mobileNo,
        @WebParam(name = "selfHelp", targetNamespace = "")
        boolean selfHelp,
        @WebParam(name = "deliverType", targetNamespace = "")
        com.bankcomm.bdp.DeliverTypeType deliverType,
        @WebParam(mode = WebParam.Mode.INOUT, name = "newCaptialNo", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newCaptialNo,
        @WebParam(name = "newCaptialPwd", targetNamespace = "")
        java.lang.String newCaptialPwd,
        @WebParam(name = "transMode", targetNamespace = "")
        java.lang.String transMode,
        @WebParam(mode = WebParam.Mode.OUT, name = "replyInformation", targetNamespace = "")
        javax.xml.ws.Holder&lt;com.bankcomm.gsp.ResponseHeaderType> replyInformation,
        @WebParam(mode = WebParam.Mode.OUT, name = "responseHeader", targetNamespace = "")
        javax.xml.ws.Holder&lt;com.bankcomm.bdp.ResponseHeaderType> responseHeader,
        @WebParam(mode = WebParam.Mode.OUT, name = "formatCode", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> formatCode,
        @WebParam(mode = WebParam.Mode.OUT, name = "serialNo", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> serialNo,
        @WebParam(mode = WebParam.Mode.OUT, name = "captialNo", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> captialNo,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldCaptialNo", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldCaptialNo,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldName", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldName,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldCertType", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldCertType,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldCertCode", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldCertCode,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldPostCode", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldPostCode,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldAddress", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldAddress,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldEduLevel", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldEduLevel,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldVocCode", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldVocCode,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldIncome", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.Integer> oldIncome,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldEmail", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldEmail,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldFaxNo", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldFaxNo,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldTelNo", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldTelNo,
        @WebParam(mode = WebParam.Mode.OUT, name = "oldMobileNo", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> oldMobileNo,
        @WebParam(mode = WebParam.Mode.OUT, name = "newName", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newName,
        @WebParam(mode = WebParam.Mode.OUT, name = "newCertType", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newCertType,
        @WebParam(mode = WebParam.Mode.OUT, name = "newCertCode", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newCertCode,
        @WebParam(mode = WebParam.Mode.OUT, name = "newPostCode", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newPostCode,
        @WebParam(mode = WebParam.Mode.OUT, name = "newAddress", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newAddress,
        @WebParam(mode = WebParam.Mode.OUT, name = "newEduLevel", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newEduLevel,
        @WebParam(mode = WebParam.Mode.OUT, name = "newVocCode", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newVocCode,
        @WebParam(mode = WebParam.Mode.OUT, name = "newIncome", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.Integer> newIncome,
        @WebParam(mode = WebParam.Mode.OUT, name = "newEmail", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newEmail,
        @WebParam(mode = WebParam.Mode.OUT, name = "newFaxNo", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newFaxNo,
        @WebParam(mode = WebParam.Mode.OUT, name = "newTelNo", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newTelNo,
        @WebParam(mode = WebParam.Mode.OUT, name = "newMobileNo", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> newMobileNo,
        @WebParam(mode = WebParam.Mode.OUT, name = "lotNo", targetNamespace = "")
        javax.xml.ws.Holder&lt;java.lang.String> lotNo
    ) throws ModifyCustomerInfoFaultMsg;
</pre><br /><br />如果希望接口以document形式体现，则需要在wsdl头上增加一行：<br /><pre name="code" class="xml">
xmlns:bdp="http://bdp.bankcomm.com"
</pre><br />然后将message定义修改为：<br /><pre name="code" class="xml">
  &lt;wsdl:message name="modifyCustomerInfoResponse">
    &lt;wsdl:part element="tns:modifyCustomerInfoResponse" name="out"/>
  &lt;/wsdl:message>
</pre><br />这样，产生的stub接口就变长了这样：<br /><pre name="code" class="java">
@WebResult(name = "out", targetNamespace = "", partName = "out")
    @WebMethod
    public com.bankcomm.bdp.ModifyCustomerInfoResponseType modifyCustomerInfo(
        @WebParam(partName = "in", name = "modifyCustomerInfo", targetNamespace = "http://bdp.bankcomm.com/AccountTypeTransactionsService/")
        com.bankcomm.bdp.ModifyCustomerInfoRequestType in
    ) throws ModifyCustomerInfoFaultMsg;
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/233740#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, 28 Aug 2008 10:28:19 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/233740</link>
        <guid>http://floating.javaeye.com/blog/233740</guid>
      </item>
      <item>
        <title>几个学习网站</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/223725" style="color:red;">http://floating.javaeye.com/blog/223725</a>&nbsp;
          发表时间: 2008年08月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <a href="http://webcast.berkeley.edu/" target="_blank">http://webcast.berkeley.edu/</a><br />http://ocw.mit.edu/OcwWeb/web/home/home/index.htm
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/223725#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, 04 Aug 2008 08:08:22 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/223725</link>
        <guid>http://floating.javaeye.com/blog/223725</guid>
      </item>
      <item>
        <title>世界末日</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/191177" style="color:red;">http://floating.javaeye.com/blog/191177</a>&nbsp;
          发表时间: 2008年05月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          2048的某天<br />一切都开始变暗<br />杯子也是黑色的<br />杯中的水也开始泛蓝<br /><br />今日离末日的距离<br />只相隔不再遥远的四十年<br />用天文学计算<br />只如蝼蚁的瞬间<br /><br />可是如何才能将时间缩短<br />或者<br />用热烈的心跳才可解开这所有迷乱<br />为什么 <br />从你口中说出的答案<br />竟是<br />世界末日再相见
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/191177#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, 08 May 2008 18:19:53 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/191177</link>
        <guid>http://floating.javaeye.com/blog/191177</guid>
      </item>
      <item>
        <title>每一个早晨</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/181824" style="color:red;">http://floating.javaeye.com/blog/181824</a>&nbsp;
          发表时间: 2008年04月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          阳光明媚的春天来了。 <br /><br />每天早晨 ,我都同一个时间出发 ,沿着同样的轨迹 ,去同一个地铁站乘地铁。<br /><br />每次我都留意身旁和我一起等地铁的人，看他们的表情，看他们举手投足间流露出的生命。<br /><br />有时，我想告诉身边的人，我们虽然不曾相识，但是我会像你的亲人一样用善良的心热情的希望和你在一起，一起等待地铁来，等待乘上开往春天的地铁。<br /><br />渴望下车时，周身笼罩在金色的阳光里。
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/181824#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, 11 Apr 2008 16:31:06 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/181824</link>
        <guid>http://floating.javaeye.com/blog/181824</guid>
      </item>
      <item>
        <title>随手抄</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/170504" style="color:red;">http://floating.javaeye.com/blog/170504</a>&nbsp;
          发表时间: 2008年03月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1<br />时间不是时间<br />是把小麦磨成面<br />所以一有空闲<br />人们就开始磨啊磨着时间<br /><br />2<br />很奇怪<br />同事们说昨天下了场大雪<br />我却一丝白色的片状物也未看到<br />心里暧昧的嘟囔了句“诡异”<br />摸摸额头 <br />发烧<br /><br />老了<br /><br />3<br />凌晨 系统宕机<br />一个越洋电话打到西西里<br />那帮家伙<br />仍旧在地中海的煦风里<br />调侃着皮罗鲁姆的秘密
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/170504#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 12 Mar 2008 13:26:03 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/170504</link>
        <guid>http://floating.javaeye.com/blog/170504</guid>
      </item>
      <item>
        <title>【转】java.lang.IllegalStateException异常产生的原因</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/170494" style="color:red;">http://floating.javaeye.com/blog/170494</a>&nbsp;
          发表时间: 2008年03月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <a href="http://faq.javaranch.com/view?IllegalStateException" target="_blank">http://faq.javaranch.com/view?IllegalStateException</a><br /><br /> Illegal State Exception   <br /><br /><br />The most common cause of this exception is a servlet or JSP attempting to write to the output stream after the response has been committed.<br /><br />For servlets, the easiest way to avoid this is to branch the code in your service method in such a way as to insure that calls to HttpServletResponse.sendRedirect or RequestDispatcher.forward are always the last call made before the end of the method. This can be achieved by adding a return call just after either of these.<br /><br />Example:<br /><br /><br />public void doGet(HttpServletRequest  request, <br />                  HttpServletResponse response) throws ServletException, IOException{<br /><br />    if("client".equals(request.getParameter("user_type"))){<br />        response.sendRedirect("client-screen.jsp");<br />        return;  // &lt;-------  This return statement prevents any further writing to the outputStream<br />    }<br />   <br />    //<br />    // Other code that may write to the outputStream....<br />    //<br /><br />}<br /><br />Another way this can happen is by attempting to redirect from within the middle of a JSP page, eg:<br /><br /><br />...<br />&lt;div>hello world&lt;/div><br />&lt;%<br /> if ("not logged in")<br />        response.sendRedirect("login.jsp");<br />%><br />&lt;div>more stuff&lt;/div><br />...<br /><br />Another common place where an IllegalStateException is likely to occur is in a JSP that attempts to stream binary data. JSPs are primarily designed to format output as HTML. With HTML, white space characters are ignored. It is not uncommon for JSP compilers to inject their own white space charaters to the beginning and/or end of the output stream. Line breaks in the developer's code can also be interpreted as white space in the output stream. These white space characters can interfer with the generated servlet's ability to create and stream the binary outputdata, resulting in the IllegalStateException.<br /><br />The simple solution to this problem is to always us a servlet for streaming binary data.<br />NOTE: Tomcat 5.5.X seems to be lenient on throwing an IllegalStateException. Although the reponse has been flushed, it seems to allow the redirection, without throwing any exception.
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/170494#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 12 Mar 2008 13:11:49 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/170494</link>
        <guid>http://floating.javaeye.com/blog/170494</guid>
      </item>
      <item>
        <title>在WebLogic 9.2中开发WebService的自定义包头</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/163231" style="color:red;">http://floating.javaeye.com/blog/163231</a>&nbsp;
          发表时间: 2008年02月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          WebLogic 9.2中的WebService stack采用的是JAX-RPC 1.1，而最新的版本（WebLogic 10）已经实现了JAX-WS。众所周知，JAX-RPC在灵活性上远不如JAX-WS。最近有个项目需要在9.2的环境下，在Server端和Client端都实现动态自定义的SOAP包头扩展。费了一番周折才在WebLogic 9.2和环境下部署成功。<br />主要的原因还是因为脑袋受了JAX-WS的影响太深，以至于忽略了一些细节。以后要引以为戒。<br />在9.2下开发WebService的最好的参考是：《programming web serivces for weblogic server》一书。 <br /><br />另：WebLogic 9.2中，如果使用weblogic自带的ant根据wsdl生成service provider模板，则在implement的代码中不能同时使用@WebService endpointInterface annotation和@SOAPMessageHandlers annotation，但是却可以同时使用@WebService endpointInterface annotation和@HandlerChain annotation。这和WebLogic 9.2文档（<a href="http://e-docs.bea.com/wls/docs92/webserv/setenv.html#wp214603" target="_blank">http://e-docs.bea.com/wls/docs92/webserv/setenv.html#wp214603</a>）中的描述并不是很一致。怪事。
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/163231#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, 19 Feb 2008 09:01:41 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/163231</link>
        <guid>http://floating.javaeye.com/blog/163231</guid>
      </item>
      <item>
        <title>old boy</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/149852" style="color:red;">http://floating.javaeye.com/blog/149852</a>&nbsp;
          发表时间: 2007年12月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          连续看了Jo推荐的Sin City和Old Boy，首先的感觉是震撼。Sin City中的黑白效果，夸张的情节，放肆的特效镜头，都在清晰地表白着导演的思路。 在这样一个混乱滑稽以及灰暗的世界里想传达严肃的话题是件困难的事，我承认，导演做的很好。骑着单车满世界跑也好，对着镜子整天整天模拟蒙娜丽莎的微笑也好，似乎都是童话世界的事。随着色彩感的消失，人的感官只能靠最原始的暴力和性才能够微微唤醒。在麻木的表情刺激下，一切有关善良的念头都会定义为破坏旧秩序。
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/149852#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, 21 Dec 2007 09:18:59 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/149852</link>
        <guid>http://floating.javaeye.com/blog/149852</guid>
      </item>
      <item>
        <title>仍旧吹</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/122503" style="color:red;">http://floating.javaeye.com/blog/122503</a>&nbsp;
          发表时间: 2007年09月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          住的地方虽然不是什么危楼，但是起风的时候，坐在靠窗的床上，总是感觉到剧烈的震颤。很奇怪身边的人为什么没有和我一样惊恐的反应。起初以为是自己像盲人在黑暗里产生莫名其妙的臆想，不过很快就否定掉了。每次震颤，都是绝对清晰的，就像呼啸的风声传过来的是张预约卡片，上面清楚无比的写着：&ldquo;下面我要开始让你，哦，不，准确的说是让你所睡着的那张床摇晃了。&rdquo;<br />
<br />
只是越来越奇怪，身边的人为什么浑然不觉。要知道，在白天的时候，他们的神经要比我敏锐的多。
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/122503#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>Mon, 10 Sep 2007 09:50:46 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/122503</link>
        <guid>http://floating.javaeye.com/blog/122503</guid>
      </item>
      <item>
        <title>苏轼的定风波</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/106941" style="color:red;">http://floating.javaeye.com/blog/106941</a>&nbsp;
          发表时间: 2007年07月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>定风波 </p>
<p>苏轼 <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 三月七日沙湖道中遇雨。雨具先去，同行皆狼狈，余独不觉。已而遂晴，故作此。 <br />
<br />
</p>
<p>莫听穿林打叶声，何妨吟啸且徐行。 <br />
<br />
竹杖芒鞋轻胜马，谁怕？ <br />
<br />
一蓑烟雨任平生。 <br />
<br />
料峭春风吹酒醒，微冷，山头斜照却相迎。 <br />
<br />
回首向来萧瑟处，归去，也无风雨也无晴。 <br />
<br />
</p>
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/106941#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, 30 Jul 2007 11:38:44 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/106941</link>
        <guid>http://floating.javaeye.com/blog/106941</guid>
      </item>
      <item>
        <title>无  题 </title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/97368" style="color:red;">http://floating.javaeye.com/blog/97368</a>&nbsp;
          发表时间: 2007年07月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          自己的工作<br />
越来越像 印刷工<br />
将一具具精彩的插件<br />
镶嵌在活版里<br />
伪装成自己的思想<br />
印在代码上
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/97368#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, 03 Jul 2007 16:50:51 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/97368</link>
        <guid>http://floating.javaeye.com/blog/97368</guid>
      </item>
      <item>
        <title>迟钝的感觉 </title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/97367" style="color:red;">http://floating.javaeye.com/blog/97367</a>&nbsp;
          发表时间: 2007年07月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          --给Wendy<br />
<br />
我初生之时<br />
你已离去<br />
<br />
所以惶惑却虔诚地等着<br />
你的再生<br />
为一次次黑暗降临洗刷夜幕<br />
又为一次次黎明准备光烛<br />
<br />
看不知名的鸟<br />
飞跃北极<br />
看大象舞蹈<br />
看蚁群在褐黄的桉树叶下栖息<br />
<br />
偶尔饮茶<br />
用绿色药片&nbsp; 治疗<br />
罗曼蒂克后遗症的烦恼<br />
也偶尔隔着祖母绿的水色<br />
幻想着<br />
是谁在水底招摇<br />
<br />
甚至想上演一出愚人节的诡计<br />
<br />
谎称通过露台的天梯<br />
就能抵达所向往的&nbsp;&nbsp;&nbsp; 极地<br />
<br />
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/97367#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, 03 Jul 2007 16:49:38 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/97367</link>
        <guid>http://floating.javaeye.com/blog/97367</guid>
      </item>
      <item>
        <title>杀死爱情兽</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/93109" style="color:red;">http://floating.javaeye.com/blog/93109</a>&nbsp;
          发表时间: 2007年06月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>[ 根据朋友的一篇文章所作，请勿对号入座。如有雷同，实属巧合。]</p>
<p><font face="Arial">那是年少时使用了太多轻狂的修饰句吧<br />
倾听了太多关于太阳城堡的手语<br />
假说了太多离奇的秘密<br />
太多太多混合着光怪陆离的液体<br />
流经哪里流向哪里<br />
你淡漠而决然地微微抽动嘴角<br />
&ldquo;我不知道&rdquo;</font></p>
<p><font face="Arial">摆地摊的老大妈严肃地告诫我需要练习<br />
声色语调形体到面部肌肉控制<br />
我知道她是好意<br />
可我不明白<br />
明摆着做不到的事情为什么她非要那么在意</font></p>
<p><font face="Arial">再过两天<br />
国航有一班航班将飞向太平洋西海岸<br />
我急急奔向机场<br />
却看到时间地点人物情节均不吻合的飞鸟起降</font></p>
<p><font face="Arial">能沙哑地哭 我羡慕<br />
能撕裂地执着 我羡慕<br />
能于黑暗中惊恐地失眠 我羡慕<br />
我羡慕<br />
那些还能体味到生存着的痛苦</font></p>
<p><font face="Arial">你真的不知道<br />
我无意打破你坚守了整整一个世纪的承诺<br />
正因为此<br />
你才宛如隐秘在深海中的珍珠贝壳<br />
而我眼前的海水<br />
是最五光十色的舞者<br />
</font></p>
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/93109#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, 22 Jun 2007 12:21:14 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/93109</link>
        <guid>http://floating.javaeye.com/blog/93109</guid>
      </item>
      <item>
        <title>web ui的显示风格</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/79045" style="color:red;">http://floating.javaeye.com/blog/79045</a>&nbsp;
          发表时间: 2007年05月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>今天在看Carousel这个控件的demo的时候，突然觉得有些明白了ui对一个应用究竟产生多大的影响力。比如最近正在弄的yui-ext，它的思路更倾向于在web中实现desktop的效果。而在web上的应用，究竟应该是桌面的延伸和迁移，还是提供一个崭新的、更直观的访问模式？我觉得vista从一个侧面给了一个回答。感觉上vista带有很强的web风格。</p>
<p>看来，还要多花点精力来想想哪种模式的ui适应什么具体的开发。</p>
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/79045#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, 12 May 2007 08:05:10 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/79045</link>
        <guid>http://floating.javaeye.com/blog/79045</guid>
      </item>
      <item>
        <title>回忆录(3)-我不是那棵树</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/74152" style="color:red;">http://floating.javaeye.com/blog/74152</a>&nbsp;
          发表时间: 2007年04月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&ldquo;在南方</p>
<p>你和我枝丫相连</p>
<p>无论你沉睡还是醒着</p>
<p>我都选择无语</p>
<p>默默地给你荫蔽</p>
<p>让阳光透过我的指缝温柔的照射着你&rdquo;</p>
<p>&nbsp;</p>
<p>你是谁？</p>
<p>在我四周不曾窥见任何似你那样柔情的影</p>
<p>我只是海岸上的无所适从的招潮蟹</p>
<p>身畔有碧浪白沙</p>
<p>却无法冲刷我阴翳的脸颊</p>
<p>&nbsp;</p>
<p>&ldquo;在北方</p>
<p>你和我默然相望</p>
<p>纵使有千万种迸裂的理由</p>
<p>我都选择无语</p>
<p>我用颤抖的手拼命的捂着伤口</p>
<p>直到窒息&rdquo;</p>
<p>&nbsp;</p>
<p>你是谁？</p>
<p>身边人影绰绰</p>
<p>华丽的夜景如万花筒般闪烁</p>
<p>没有光影 也没有声息</p>
<p>你倦缩在其中的哪个角落呢</p>
<p>我的宝贝</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/74152#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, 24 Apr 2007 16:12:17 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/74152</link>
        <guid>http://floating.javaeye.com/blog/74152</guid>
      </item>
      <item>
        <title>面向对象的JavaScript</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/50311" style="color:red;">http://floating.javaeye.com/blog/50311</a>&nbsp;
          发表时间: 2007年01月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>在目前采用Ajax模式进行web开发时，需要将大量的view层的逻辑通过javascript来实现。这时候需要使用到javascript的oo方面的特性。众所周知，javascript的oo更多的是对象与对象之间的关联，而不是类之间的关联。而且，目前javascrip oo方式的开发更多的依赖的是程序员的开发技巧。这里给出一个javascript的oo模式的样本，idea来自网上的一个classlib包。最近工作较忙，等闲下来时，希望将这个包和prototype结合在一起，使prototype中本来的extend方法更加强大。</p>
<p>接口：</p>
<div class="code_title">js 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c">
    <li class="alt"><span><span class="comment">/** </span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;define&nbsp;a&nbsp;business&nbsp;behaver. </span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;is&nbsp;a&nbsp;interface&nbsp;using&nbsp;command&nbsp;pattern. </span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;@depand&nbsp; </span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>$</span><span class="keyword">interface</span><span>(</span><span class="string">&quot;Action&quot;</span><span>, &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//properties </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//methods </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initialize&nbsp;an&nbsp;action&nbsp;when&nbsp;it&nbsp;is&nbsp;created. </span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;init:</span><span class="keyword">function</span><span>() &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;Void(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;run&nbsp;an&nbsp;action. </span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;action:</span><span class="keyword">function</span><span>() &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;Void(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>);&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>接口实现：</p>
<div class="code_title">js 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c">
    <li class="alt"><span><span class="comment">/** </span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;common&nbsp;alert&nbsp;action&nbsp;implements&nbsp;Action&nbsp;interface </span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;@depend&nbsp;Action.js </span>&nbsp;</span></li>
    <li class=""><span><span class="comment">*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>$</span><span class="keyword">class</span><span>(</span><span class="string">&quot;Alert&quot;</span><span>, &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$</span><span class="keyword">implements</span><span>:Action, &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//properties </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_v:</span><span class="keyword">null</span><span>, &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//Constractor </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alert:</span><span class="keyword">function</span><span>(v) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">this</span><span>._v&nbsp;=&nbsp;v;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//mehtods </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;init:</span><span class="keyword">function</span><span>() &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;action:</span><span class="keyword">function</span><span>() &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span class="keyword">this</span><span>._v); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>);&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>继承：</p>
<div class="code_title">js 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c">
    <li class="alt"><span><span>$</span><span class="keyword">class</span><span>(</span><span class="string">&quot;Square&quot;</span><span>,&nbsp;{ &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;$</span><span class="keyword">extends</span><span>:&nbsp;Rectangle, &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;Rectangle:&nbsp;</span><span class="keyword">function</span><span>(width)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">this</span><span>.$base(width,&nbsp;width); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>});&nbsp;&nbsp;</span></li>
</ol>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/50311#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, 25 Jan 2007 09:34:45 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/50311</link>
        <guid>http://floating.javaeye.com/blog/50311</guid>
      </item>
      <item>
        <title>线程同步代码示例</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/39983" style="color:red;">http://floating.javaeye.com/blog/39983</a>&nbsp;
          发表时间: 2006年12月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          工作中我们经常需要在两个线程之间实现同步操作。看同事写的支持同步操作的代码挺混乱的，就写了一个小例子。<br />
包括两个文件：Atom.java 和 TestThread.java Atom.java定义了需要同步操作的原子方法，TestThread.java中使用synchronized(atom){...}方式来使原子操作同步。<br />
<br />
Atom.java<br />
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-j" start="1">
    <li class="alt"><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;Atom&nbsp;&nbsp;</span></span></li>
    <li class=""><span>{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//单例</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;Atom&nbsp;instance;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;Atom()&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span><span>();&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(<span class="string">&quot;Atom&nbsp;constructed.&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;Atom&nbsp;instance()&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(instance==</span><span class="keyword">null</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;instance&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;Atom();&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;instance;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//定义原子操作</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">int</span><span>&nbsp;count=</span><span class="number">0</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;checkCondition()&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">boolean</span><span>&nbsp;ret&nbsp;=(count==</span><span class="number">0</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;ret;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">int</span><span>&nbsp;getCount()&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;count;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<br />
TestThread.java<br />
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-j" start="1">
    <li class="alt"><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;TestThread&nbsp;</span><span class="keyword">extends</span><span>&nbsp;Thread&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;Atom&nbsp;atom;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;TestThread(Atom&nbsp;atom)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.atom&nbsp;=&nbsp;atom;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;run(){&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;execute();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**</span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;args</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;main(String[]&nbsp;args)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=</span><span class="number">0</span><span>&nbsp;;i&lt;</span><span class="number">2</span><span>;&nbsp;i++){&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TestThread&nbsp;a&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;TestThread(Atom.instance());&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TestThread&nbsp;b&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;TestThread(Atom.instance());&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TestThread&nbsp;c&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;TestThread(Atom.instance());&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.start();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.start();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.start();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;&nbsp;</span><span class="keyword">void</span><span>&nbsp;&nbsp;execute()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">synchronized</span><span>(atom)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(atom.checkCondition()){&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(<span class="string">&quot;first.&nbsp;count&nbsp;is&nbsp;:&nbsp;&quot;</span><span>&nbsp;+&nbsp;atom.getCount());&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><span>{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(<span class="string">&quot;other.&nbsp;count&nbsp;is&nbsp;:&nbsp;&quot;</span><span>&nbsp;+&nbsp;atom.getCount());&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/39983#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, 21 Dec 2006 13:50:16 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/39983</link>
        <guid>http://floating.javaeye.com/blog/39983</guid>
      </item>
      <item>
        <title>brio对象模型中变量的作用域</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/38704" style="color:red;">http://floating.javaeye.com/blog/38704</a>&nbsp;
          发表时间: 2006年12月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          brio自己管理了一套自己的对象模型，从顶层向下分别有Application、Documents、Sections、Controlls、Shapes等集合。每个集合中分别存放各自类型的对象。工作中，我们经常希望设置一个JavaScript的变量（或函数、JavaScript对象等），使得这个变量的作用域限制在brio的对象模型中的某一集合范围内。这时，我们可以使用这样的方法进行设置：
<div class="code_title">js 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span>Sections[</span><span class="string">&quot;query&quot;</span><span>].myValue&nbsp;=&nbsp;</span><span class="string">&quot;test&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
</ol>
</div>
那么，myValue就只能在名叫&ldquo;query&rdquo;的这个Section中使用了。从这点上看，Brio中的JavaScript管理，要比浏览器中的JavaScript管理要先进些。
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/38704#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, 12 Dec 2006 15:48:33 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/38704</link>
        <guid>http://floating.javaeye.com/blog/38704</guid>
      </item>
      <item>
        <title>Hibernate访问db2时的一个小tip</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/37782" style="color:red;">http://floating.javaeye.com/blog/37782</a>&nbsp;
          发表时间: 2006年12月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          用hibernate访问db2 8.2时，如果用的db2 的driver低于8.2.17，当hibernate试图删除或更改一个不存在的记录，会抛出异常。在编码不是特别严谨的情况下，会导致逻辑错误。如果将driver升级到8.2.17，driver只会给出一个warnning，而不是抛出异常，这样代码就容易写多了。
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/37782#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, 07 Dec 2006 16:36:14 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/37782</link>
        <guid>http://floating.javaeye.com/blog/37782</guid>
      </item>
      <item>
        <title>给brio增加javascript脚本导入的功能</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/37778" style="color:red;">http://floating.javaeye.com/blog/37778</a>&nbsp;
          发表时间: 2006年12月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          要在Brio中实现交互，主要靠dashboard中的javascript脚本。但是brio并没有提供导入javascript脚本的功能。为此，我做了一个preload的脚本，将该脚本放在bqy的document的OnStartUp事件中，就可以实现导入任意合法的javascript脚本的能力。<br />
<br />
<div class="code_title">js 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span class="comment">//调试环境使用的加载js文件方法，每次打开文档时都重新加载脚本</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">function</span><span>&nbsp;_js(file_name)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;_sec=</span><span class="keyword">null</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;_sec&nbsp;=&nbsp;ActiveDocument.Sections.ImportDataFile(file_name,bqImportFormatTabText);&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;_import_js(_sec);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;_sec.Remove();&nbsp;&nbsp;</span></li>
    <li class=""><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="keyword">function</span><span>&nbsp;_import_js(sec)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;c_col&nbsp;=&nbsp;sec.Columns.Count;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;c_row&nbsp;=&nbsp;sec.RowCount;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;str_buf&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>(</span><span class="keyword">var</span><span>&nbsp;i=1;i&lt;=c_row;i++)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>(</span><span class="keyword">var</span><span>&nbsp;j=1;j&lt;=c_col;j++)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;str&nbsp;=&nbsp;sec.GetCell(i,j);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(str==undefined)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(j==c_col)&nbsp;str_buf&nbsp;+='\r\n';&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">continue</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str_buf&nbsp;+=&nbsp;str;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(j==c_col)&nbsp;str_buf&nbsp;+='\r\n';&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;eval(str_buf);&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="comment">//加载脚本</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">//_js('js/global.js');</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/37778#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, 07 Dec 2006 16:32:56 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/37778</link>
        <guid>http://floating.javaeye.com/blog/37778</guid>
      </item>
      <item>
        <title>在HPS中设置全局的javascript脚本</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/37227" style="color:red;">http://floating.javaeye.com/blog/37227</a>&nbsp;
          发表时间: 2006年12月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Brio8之后的版本，因为被Hyperion收购的缘故，改叫Hyperion Performance Suite了。在我们这个项目里面，采用Intelligence Designer作为前端BI开发工具。<br />
Designer提供了仪表板功能作为和用户交互的主要手段。仪表板采用JavaScript语法来进行逻辑控制。不过HPS提供的事件模型相对还是比较简单的，做过Web开发的人很快就能上手。但是在brio提供的各种资料上，并没有查到将独立的js文件导入到bqy文件中的功能，严重怀疑HPS并不支持这种做法。<br />
现在的做法是将通用的js脚本放到一个全局区去，然后在每个section中调用这些全局的方法。<br />
在实现这一目标的过程中，发现有两个细节值得注意。<br />
1。全局方法应该写在document的onstartup事件中。<br />
&nbsp;&nbsp; &nbsp;&nbsp;  通过普通的section的事件，是没法加载全局方法的。道理也很简单，因为不能保证这个事件一定会得到执行。<br />
2。在HPS里面，全局方法或者全局变量的写法有点特别。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  普通的写在事件处理里面的方法或者变量并不能全局引用。但是如果声明的时候，不在前面加var标记，就可以全局引用。搞不懂为什么要设计成这样。
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/37227#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 05 Dec 2006 09:25:48 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/37227</link>
        <guid>http://floating.javaeye.com/blog/37227</guid>
      </item>
      <item>
        <title>flive的目标</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/35829" style="color:red;">http://floating.javaeye.com/blog/35829</a>&nbsp;
          发表时间: 2006年11月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>flive中,融合进了很多概念.但是flive不是为了实现某些概念的实验型的框架.flive最大的目的是为了有效的整合资源,使软件开发在最大程度上实现复用.</p>
<p>先列一个提纲,然后逐渐完善flive的文档.</p>
<ul>
    <li>flive是什么</li>
    <li>flive中涉及的概念以及flive对这些概念的诠释</li>
    <li>为什么没有在顶层结构上使用流行的opensource项目</li>
    <li>flive的外部结构</li>
    <li>实现flive的内部结构</li>
    <li>flive的quick start</li>
    <li>flive各个细节的详细使用指南</li>
    <li>扩展flive的方式</li>
    <li>......</li>
</ul>
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/35829#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, 24 Nov 2006 13:40:50 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/35829</link>
        <guid>http://floating.javaeye.com/blog/35829</guid>
      </item>
      <item>
        <title>启动flive开发的blog</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/35827" style="color:red;">http://floating.javaeye.com/blog/35827</a>&nbsp;
          发表时间: 2006年11月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          flive开发已经有很长一段时间了.经常觉得需要一个todo list(or feature list, bug list)来记录开发中遇到的一些问题,产生的一些思路,还有一些其他方面的感想.不如,把这些也都放在blog上吧.
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/35827#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, 24 Nov 2006 13:34:08 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/35827</link>
        <guid>http://floating.javaeye.com/blog/35827</guid>
      </item>
      <item>
        <title>配置JSTL的一个疏忽的地方</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/35812" style="color:red;">http://floating.javaeye.com/blog/35812</a>&nbsp;
          发表时间: 2006年11月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在一个项目中使用到了jstl,但是无法直接使用EL输出,即必须要用<c:out value="${var}">
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<ol class="dp-xml" start="1">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">c:out</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;${var}&quot;</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
的形式.运行的环境是tomcat 5.5.20,使用jstl1.1的jar包,但是却只能采用jstl1.0的语法进行调用. 仔细检查了jar包,运行环境时,发现该项目的web.xml是按照2.3的格式生成的.即在web.xml中按如下方式书写:<br />
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<ol class="dp-xml" start="1">
    <li class="alt"><span><span>&lt;!DOCTYPE&nbsp;web-app&nbsp;PUBLIC&nbsp;&quot;-//Sun&nbsp;Microsystems,&nbsp;Inc.//DTD&nbsp;Web&nbsp;Application&nbsp;2.3//EN&quot;&nbsp;&quot;http://java.sun.com/dtd/web-app_2_3.dtd&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">web-app</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>......&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="tag">&lt;/</span><span class="tag-name">web-app</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
将之改为:<br />
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<ol class="dp-xml" start="1">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">web-app</span><span>&nbsp;</span><span class="attribute">xmlns</span><span>=</span><span class="attribute-value">&quot;http://java.sun.com/xml/ns/j2ee&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">xmlns:xsi</span><span>=</span><span class="attribute-value">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">xsi:schemaLocation</span><span>=</span><span class="attribute-value">&quot;http://java.sun.com/xml/ns/j2ee&nbsp;web-app_2_4.xsd&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">version</span><span>=</span><span class="attribute-value">&quot;2.4&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>......&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="tag">&lt;/</span><span class="tag-name">web-app</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
解决了该问题.<br />
<br />
很多项目都是使用工具生成web.xml文件的.有的工具并没有提供选择宿主servlet容器的版本的功能,而是按照固定的方式生成web.xml文件,</c:out>比如上例中的web.xml文件是用Sysdeo的Tomcat plugin 3.1.0自动生成的.这时候就需要我们都web.xml文件中的细节进行手工的修改.<br />
<c:out value="${var}"><br />
这个问题不大,也容易发现问题的根源.记录下来,下次省点事.</c:out>
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/35812#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, 24 Nov 2006 11:47:58 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/35812</link>
        <guid>http://floating.javaeye.com/blog/35812</guid>
      </item>
      <item>
        <title>回忆录(2)-增寿楼</title>
        <author>floating</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://floating.javaeye.com">floating</a>&nbsp;
          链接：<a href="http://floating.javaeye.com/blog/35490" style="color:red;">http://floating.javaeye.com/blog/35490</a>&nbsp;
          发表时间: 2006年11月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>曾徜徉的重楼<br />
那样脉脉的立着<br />
是少女的羞怯<br />
还是青涩的优柔</p>
<p><font face="Arial">茶色的午后<br />
风是燕子<br />
单车做的翅膀<br />
你欢快地挥舞着</font></p>
<p><font face="Arial">假山旁的石子路<br />
还有小竹林<br />
都在聆听<br />
你用软软的童音<br />
热烈地把字节和比特辨认</font></p>
<p><font face="Arial">绕过松花江<br />
绕过辉河<br />
记忆丢颗石子在湖里<br />
漾开 逐渐平静的<br />
曾经</font></p>
          <br/>
          <span style="color:red;">
            <a href="http://floating.javaeye.com/blog/35490#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 22 Nov 2006 15:21:51 +0800</pubDate>
        <link>http://floating.javaeye.com/blog/35490</link>
        <guid>http://floating.javaeye.com/blog/35490</guid>
      </item>
  </channel>
</rss>