??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美激情喷水,中文字幕在线观看一区二区,麻豆免费在线视频http://www.aygfsteel.com/pesome/archive/2007/03/11/103175.htmlpesomepesomeSun, 11 Mar 2007 14:54:00 GMThttp://www.aygfsteel.com/pesome/archive/2007/03/11/103175.htmlhttp://www.aygfsteel.com/pesome/comments/103175.htmlhttp://www.aygfsteel.com/pesome/archive/2007/03/11/103175.html#Feedback0http://www.aygfsteel.com/pesome/comments/commentRss/103175.htmlhttp://www.aygfsteel.com/pesome/services/trackbacks/103175.html 再说 sitemesh 的问题,同样是做 openfans |摘功能出现的。做好了 IE 插gQ有 fans 反馈说弹出页面太大,q也难怪,用了 sitemesh Q?/span> head ?/span> footer 都在面上,想羃页面,肯定得把 head ?/span> footer 都去掉,做个q净点的。既然用?/span> sitemesh 肯定是希望最方便的搞定这个,而不用动M逻辑Q包括页面逻辑Q。这个好办,文档里有_通过?/span> sitemesh.xml 中增?/span>

< mapper

           
class = " com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper " >

           
< param name = " decorator.parameter "  value = " decorator "   />

           
< param name = " parameter.name "  value = " confirm "   />

           
< param name = " parameter.value "  value = " true "   />

       
</ mapper >

p搞定Q这样只需要用参数如 saveSnippet.html?decorator=simple&confirm=true Q就能让它用指定的 decorator 。然后做一个去?/span> head ?/span> footer 只保留必要的 js ?/span> css 引用?/span> simple.jsp 面Q同时在 decorator.xml 中配

< decorator name = " simple "  page = " simple.jsp " ></ decorator >

应该可以搞定?/span>

但怎么,是不用这?/span> simple decorator 。没办法Q只好跟q?/span> sitemesh 源码中去调试Q进?/span> ParameterDecoratorMapper c,它承了 AbstractDecoratorMapper c,然后有一?/span> init Ҏ一?/span> getDecorator Ҏ。各打一个断点, init Ҏ?/span> tomcat 启动׃执行Q也正常初始化了Q?/span> getDecorator Ҏ却始l不调用Q一时想不出办法。看到篇文章说不自己?/span> sitemesh.xml 而用自带的 com/opensymphony/module/sitemesh/factory/sitemesh-default.xml 也可以,于是备䆾q删除我写的 sitemesh.xml Q居然成功了。ؓ什么我写的׃行呢Q差别一是我的简化了很多Q只?/span>

< mapper

    
class ="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper" >

           
< param  name ="config"  value ="${decorators-file}"   />

       
</ mapper >

和刚加的

ParameterDecoratorMapper Q二是序Q我?/span> ParameterDecoratorMapper 攑֜?/span> ConfigDecoratorMapper 后面Q会不会是顺序原因呢Q调换一下,果然成功了。问题是解决了,原理呢?再花Ҏ间跟一下代码了解下原理Q原来用了 Factory Q它会调用各个配|的 Mapper ?/span> init ҎQƈ攑օ map 中,然后到时选择一?/span> Mapper Q如果符合条件就使用Q否则l往下找。这里就有了序的问题,因ؓ我在 decorator.xml 中用了
<decorator name="default" page="default.jsp">

        
<pattern>/*.html</pattern>

    
</decorator>

Q这样如?/span> ConfigDecoratorMapper 攑֜前面Q他先找这?/span> Mapper Q一?/span> saveSnippet.html?decorator=simple&confirm=true Q符?/span> pattern 啊,׃用它了,另一?/span> ParameterDecoratorMapper Ҏ得不到机会,所以也q不了它?/span> getDecorator Ҏ。换了顺序就是它先进去,所以执行,其它?/span> url 也是先找它,但不匚wQ就又交l?/span> ConfigDecoratorMapper 了。呵呵,问题也解决了Q对 sitemesh 的认识又q了一步?/span>

pesome 2007-03-11 22:54 发表评论
]]>
中文问题的解?/title><link>http://www.aygfsteel.com/pesome/archive/2007/03/11/103174.html</link><dc:creator>pesome</dc:creator><author>pesome</author><pubDate>Sun, 11 Mar 2007 14:51:00 GMT</pubDate><guid>http://www.aygfsteel.com/pesome/archive/2007/03/11/103174.html</guid><wfw:comment>http://www.aygfsteel.com/pesome/comments/103174.html</wfw:comment><comments>http://www.aygfsteel.com/pesome/archive/2007/03/11/103174.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pesome/comments/commentRss/103174.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pesome/services/trackbacks/103174.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q次l?/span> <span lang="EN-US">openfans</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">做网摘功能,ME序倒是很快写完了Q另外要做个</span> <span lang="EN-US">IE</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">插gQ却到了不问题?/span> <span lang="EN-US">IE</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">插g其实很简单,是?/span> <span lang="EN-US">js</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">获得面的标题?/span> <span lang="EN-US">url</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和选择的内容,然后通过弹出H口Q将光到服务器。这里就有中文的问题了,开始?/span> <span lang="EN-US">escape</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q如</span> <span lang="EN-US">escape(title)</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">形式Q?/span> <span lang="EN-US">request.getParameter</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到中文׃ؓ</span> <span lang="EN-US">null</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q网上搜了一通,说是可以通过</span> <span lang="EN-US">java</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">~码搞定Q但拿到׃ؓ</span> <span lang="EN-US">null</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了,q怎么换编码?忙活了好几个时Q又?/span> <span lang="EN-US">alert</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q又?/span> <span lang="EN-US">document.write</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q看上去也没什么问题。不</span> <span lang="EN-US">escape</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q直接在览器中输入带中文的</span> <span lang="EN-US">url</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q拿到的不ؓ</span> <span lang="EN-US">null</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了,拿到后,通过</span> <span lang="EN-US">new String(str.getBytes("ISO-8859-1"), "UTF-8");</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q真昄正常了。但?/span> <span lang="EN-US">window.open</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">又出q了。看到文章说q有</span> <span lang="EN-US">encodeURIComponent</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Ҏ可用Q就试了下,?/span> <span lang="EN-US">escape</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">换成</span> <span lang="EN-US">encodeURIComponent</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">居然搞定了,服务端还是得?/span> <span lang="EN-US">new String(str.getBytes("ISO-8859-1"), "UTF-8")</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q行处理。注意这里用?/span> <span lang="EN-US">tomcat</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q它的默认编码就?/span> <span lang="EN-US">"ISO-8859-1"</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q如果改了编码程序也得做相应的改动了?/span> </p> <img src ="http://www.aygfsteel.com/pesome/aggbug/103174.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pesome/" target="_blank">pesome</a> 2007-03-11 22:51 <a href="http://www.aygfsteel.com/pesome/archive/2007/03/11/103174.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernate native sql的小技?/title><link>http://www.aygfsteel.com/pesome/archive/2007/03/02/101402.html</link><dc:creator>pesome</dc:creator><author>pesome</author><pubDate>Fri, 02 Mar 2007 02:52:00 GMT</pubDate><guid>http://www.aygfsteel.com/pesome/archive/2007/03/02/101402.html</guid><wfw:comment>http://www.aygfsteel.com/pesome/comments/101402.html</wfw:comment><comments>http://www.aygfsteel.com/pesome/archive/2007/03/02/101402.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pesome/comments/commentRss/101402.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pesome/services/trackbacks/101402.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Z性能考虑Q用了</span> <span lang="EN-US" style="COLOR: black">native sql</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。因为需要分,需?/span> <span lang="EN-US" style="COLOR: black">2</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="COLOR: black">sql</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q一个获?/span> <span lang="EN-US" style="COLOR: black">list</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个取得L。获?/span> <span lang="EN-US" style="COLOR: black">list</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很好写:</span> <span lang="EN-US" style="COLOR: black"> <br /> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> </p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <span style="COLOR: #008080"> 1</span> <img id="Codehighlighter1_67_356_Open_Image" onclick="this.style.display='none'; Codehighlighter1_67_356_Open_Text.style.display='none'; Codehighlighter1_67_356_Closed_Image.style.display='inline'; Codehighlighter1_67_356_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /> <img id="Codehighlighter1_67_356_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_67_356_Closed_Text.style.display='none'; Codehighlighter1_67_356_Open_Image.style.display='inline'; Codehighlighter1_67_356_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /> <span style="COLOR: #0000ff">private</span> <span style="COLOR: #000000"> List getListByNativeSQL(</span> <span style="COLOR: #0000ff">final</span> <span style="COLOR: #000000"> Class cls, </span> <span style="COLOR: #0000ff">final</span> <span style="COLOR: #000000"> String sql) </span> <span id="Codehighlighter1_67_356_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_67_356_Open_Text"> <span style="COLOR: #000000">{<br /></span> <span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000"> <img id="Codehighlighter1_146_347_Open_Image" onclick="this.style.display='none'; Codehighlighter1_146_347_Open_Text.style.display='none'; Codehighlighter1_146_347_Closed_Image.style.display='inline'; Codehighlighter1_146_347_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /> <img id="Codehighlighter1_146_347_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_146_347_Closed_Text.style.display='none'; Codehighlighter1_146_347_Open_Image.style.display='inline'; Codehighlighter1_146_347_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />       </span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000"> (List) getHibernateTemplate().execute(</span> <span style="COLOR: #0000ff">new</span> <span style="COLOR: #000000"> HibernateCallback() </span> <span id="Codehighlighter1_146_347_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_146_347_Open_Text"> <span style="COLOR: #000000">{<br /></span> <span style="COLOR: #008080"> 4</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />           </span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000"> Object doInHibernate(Session session)<br /></span> <span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000"> <img id="Codehighlighter1_250_337_Open_Image" onclick="this.style.display='none'; Codehighlighter1_250_337_Open_Text.style.display='none'; Codehighlighter1_250_337_Closed_Image.style.display='inline'; Codehighlighter1_250_337_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /> <img id="Codehighlighter1_250_337_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_250_337_Closed_Text.style.display='none'; Codehighlighter1_250_337_Open_Image.style.display='inline'; Codehighlighter1_250_337_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                  </span> <span style="COLOR: #0000ff">throws</span> <span style="COLOR: #000000"> HibernateException </span> <span id="Codehighlighter1_250_337_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_250_337_Open_Text"> <span style="COLOR: #000000">{<br /></span> <span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />              </span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000"> session.createSQLQuery(sql).addEntity(cls).list();<br /></span> <span style="COLOR: #008080">10</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">11</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />           }</span> </span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">12</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">13</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />       }</span> </span> <span style="COLOR: #000000">);<br /></span> <span style="COLOR: #008080">14</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">15</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</span> </span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">16</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">获取L查了?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">hibernate</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">reference,</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">试了几次才明白用?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt"> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <span style="COLOR: #008080"> 1</span> <img id="Codehighlighter1_57_411_Open_Image" onclick="this.style.display='none'; Codehighlighter1_57_411_Open_Text.style.display='none'; Codehighlighter1_57_411_Closed_Image.style.display='inline'; Codehighlighter1_57_411_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /> <img id="Codehighlighter1_57_411_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_57_411_Closed_Text.style.display='none'; Codehighlighter1_57_411_Open_Image.style.display='inline'; Codehighlighter1_57_411_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /> <span style="COLOR: #0000ff">private</span> <span style="COLOR: #000000"> BigInteger getCountByNativeSQL(</span> <span style="COLOR: #0000ff">final</span> <span style="COLOR: #000000"> String sql) </span> <span id="Codehighlighter1_57_411_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_57_411_Open_Text"> <span style="COLOR: #000000">{<br /></span> <span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />       </span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000"> (BigInteger) getHibernateTemplate().execute(<br /></span> <span style="COLOR: #008080"> 4</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000"> <img id="Codehighlighter1_158_402_Open_Image" onclick="this.style.display='none'; Codehighlighter1_158_402_Open_Text.style.display='none'; Codehighlighter1_158_402_Closed_Image.style.display='inline'; Codehighlighter1_158_402_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /> <img id="Codehighlighter1_158_402_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_158_402_Closed_Text.style.display='none'; Codehighlighter1_158_402_Open_Image.style.display='inline'; Codehighlighter1_158_402_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />              </span> <span style="COLOR: #0000ff">new</span> <span style="COLOR: #000000"> HibernateCallback() </span> <span id="Codehighlighter1_158_402_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_158_402_Open_Text"> <span style="COLOR: #000000">{<br /></span> <span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />                  </span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000"> Object doInHibernate(Session session)<br /></span> <span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000"> <img id="Codehighlighter1_276_385_Open_Image" onclick="this.style.display='none'; Codehighlighter1_276_385_Open_Text.style.display='none'; Codehighlighter1_276_385_Closed_Image.style.display='inline'; Codehighlighter1_276_385_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /> <img id="Codehighlighter1_276_385_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_276_385_Closed_Text.style.display='none'; Codehighlighter1_276_385_Open_Image.style.display='inline'; Codehighlighter1_276_385_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                         </span> <span style="COLOR: #0000ff">throws</span> <span style="COLOR: #000000"> HibernateException </span> <span id="Codehighlighter1_276_385_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_276_385_Open_Text"> <span style="COLOR: #000000">{<br /></span> <span style="COLOR: #008080">10</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">11</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />                     </span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000"> (BigInteger) (session.createSQLQuery(sql).uniqueResult());<br /></span> <span style="COLOR: #008080">12</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">13</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                  }</span> </span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">14</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">15</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />              }</span> </span> <span style="COLOR: #000000">);<br /></span> <span style="COLOR: #008080">16</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">17</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</span> </span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">18</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">q里?/p> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">sql</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">是?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">select count(*)</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">开头的”。这里大家可能要问,Z么要使用</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">BigInteger</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">Q因为如果用</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">uniqueResult()</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">默认p?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">BigInteger</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">Q?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">BigInteger cast</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">Integer</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">会出错。那么如果我是要返?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">Integer</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">呢,可以通过下面的办法实玎ͼ</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt"> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <span style="COLOR: #008080"> 1</span> <img id="Codehighlighter1_54_440_Open_Image" onclick="this.style.display='none'; Codehighlighter1_54_440_Open_Text.style.display='none'; Codehighlighter1_54_440_Closed_Image.style.display='inline'; Codehighlighter1_54_440_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /> <img id="Codehighlighter1_54_440_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_54_440_Closed_Text.style.display='none'; Codehighlighter1_54_440_Open_Image.style.display='inline'; Codehighlighter1_54_440_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /> <span style="COLOR: #0000ff">private</span> <span style="COLOR: #000000"> Integer getCountByNativeSQL(</span> <span style="COLOR: #0000ff">final</span> <span style="COLOR: #000000"> String sql) </span> <span id="Codehighlighter1_54_440_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_54_440_Open_Text"> <span style="COLOR: #000000">{<br /></span> <span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />       </span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000"> (Integer) getHibernateTemplate().execute(<br /></span> <span style="COLOR: #008080"> 4</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000"> <img id="Codehighlighter1_152_431_Open_Image" onclick="this.style.display='none'; Codehighlighter1_152_431_Open_Text.style.display='none'; Codehighlighter1_152_431_Closed_Image.style.display='inline'; Codehighlighter1_152_431_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /> <img id="Codehighlighter1_152_431_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_152_431_Closed_Text.style.display='none'; Codehighlighter1_152_431_Open_Image.style.display='inline'; Codehighlighter1_152_431_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />              </span> <span style="COLOR: #0000ff">new</span> <span style="COLOR: #000000"> HibernateCallback() </span> <span id="Codehighlighter1_152_431_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_152_431_Open_Text"> <span style="COLOR: #000000">{<br /></span> <span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />                  </span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000"> Object doInHibernate(Session session)<br /></span> <span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000"> <img id="Codehighlighter1_270_414_Open_Image" onclick="this.style.display='none'; Codehighlighter1_270_414_Open_Text.style.display='none'; Codehighlighter1_270_414_Closed_Image.style.display='inline'; Codehighlighter1_270_414_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /> <img id="Codehighlighter1_270_414_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_270_414_Closed_Text.style.display='none'; Codehighlighter1_270_414_Open_Image.style.display='inline'; Codehighlighter1_270_414_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                         </span> <span style="COLOR: #0000ff">throws</span> <span style="COLOR: #000000"> HibernateException </span> <span id="Codehighlighter1_270_414_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_270_414_Open_Text"> <span style="COLOR: #000000">{<br /></span> <span style="COLOR: #008080">10</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">11</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />                     </span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000"> (Integer) (session.createSQLQuery(sql).<strong>addScalar(</strong></span> <strong> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">count</span> <span style="COLOR: #000000">"</span> </strong> <span style="COLOR: #000000"> <strong>, Hibernate.INTEGER).</strong>uniqueResult());<br /></span> <span style="COLOR: #008080">12</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">13</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                  }</span> </span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">14</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">15</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />              }</span> </span> <span style="COLOR: #000000">);<br /></span> <span style="COLOR: #008080">16</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">17</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</span> </span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">18</span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">大家注意_体的部分,q里是给一?/p> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">alias</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">赋予cdQ那?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">sql</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">需要变成以</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">”select count(*) as count ?/span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">开头了?/span> <span lang="EN-US" style="COLOR: black"> <o:p> </o:p> </span> <img src ="http://www.aygfsteel.com/pesome/aggbug/101402.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pesome/" target="_blank">pesome</a> 2007-03-02 10:52 <a href="http://www.aygfsteel.com/pesome/archive/2007/03/02/101402.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>php5+mysql5+apache2需要注意的几点http://www.aygfsteel.com/pesome/archive/2007/01/14/93783.htmlpesomepesomeSun, 14 Jan 2007 09:34:00 GMThttp://www.aygfsteel.com/pesome/archive/2007/01/14/93783.htmlhttp://www.aygfsteel.com/pesome/comments/93783.htmlhttp://www.aygfsteel.com/pesome/archive/2007/01/14/93783.html#Feedback0http://www.aygfsteel.com/pesome/comments/commentRss/93783.htmlhttp://www.aygfsteel.com/pesome/services/trackbacks/93783.html     然后需要以index.php作ؓ默认的welcomefile(不知道怎么叫,web.xml里是q个)Q需要在"DirectoryIndex index.html index.html.var"后加?index.phpp?br />然后飞快的装了phpmyadmin、dvbbs的php版。发现php应用的安装的很是方便,解压Q拷贝到htdocs下,马上pq行了,比java应用单的多,更别提复杂的要死的企业应用了。这点上java要好好向php学习啊?img src ="http://www.aygfsteel.com/pesome/aggbug/93783.html" width = "1" height = "1" />

pesome 2007-01-14 17:34 发表评论
]]>
准备lopenfansdspring2.0支持http://www.aygfsteel.com/pesome/archive/2006/12/28/90499.htmlpesomepesomeThu, 28 Dec 2006 07:15:00 GMThttp://www.aygfsteel.com/pesome/archive/2006/12/28/90499.htmlhttp://www.aygfsteel.com/pesome/comments/90499.htmlhttp://www.aygfsteel.com/pesome/archive/2006/12/28/90499.html#Feedback1http://www.aygfsteel.com/pesome/comments/commentRss/90499.htmlhttp://www.aygfsteel.com/pesome/services/trackbacks/90499.html

pesome 2006-12-28 15:15 发表评论
]]>
一个定时更新cache框架http://www.aygfsteel.com/pesome/archive/2006/12/13/87485.htmlpesomepesomeWed, 13 Dec 2006 06:46:00 GMThttp://www.aygfsteel.com/pesome/archive/2006/12/13/87485.htmlhttp://www.aygfsteel.com/pesome/comments/87485.htmlhttp://www.aygfsteel.com/pesome/archive/2006/12/13/87485.html#Feedback7http://www.aygfsteel.com/pesome/comments/commentRss/87485.htmlhttp://www.aygfsteel.com/pesome/services/trackbacks/87485.html阅读全文

pesome 2006-12-13 14:46 发表评论
]]>
用Maven做项目管?/title><link>http://www.aygfsteel.com/pesome/archive/2006/09/21/71045.html</link><dc:creator>pesome</dc:creator><author>pesome</author><pubDate>Thu, 21 Sep 2006 03:37:00 GMT</pubDate><guid>http://www.aygfsteel.com/pesome/archive/2006/09/21/71045.html</guid><wfw:comment>http://www.aygfsteel.com/pesome/comments/71045.html</wfw:comment><comments>http://www.aygfsteel.com/pesome/archive/2006/09/21/71045.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pesome/comments/commentRss/71045.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pesome/services/trackbacks/71045.html</trackback:ping><description><![CDATA[     摘要: 在程序员发表的一maven文章Q跟大家׃n。用 Maven 做项目管? ? Java世界中我们很多的开发h员选择? Ant来构建项目,一? build.xml能够完成~译、测试、打包、部|等很多dQ但我们...  <a href='http://www.aygfsteel.com/pesome/archive/2006/09/21/71045.html'>阅读全文</a><img src ="http://www.aygfsteel.com/pesome/aggbug/71045.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pesome/" target="_blank">pesome</a> 2006-09-21 11:37 <a href="http://www.aygfsteel.com/pesome/archive/2006/09/21/71045.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>l合openfans谈算法的重要?/title><link>http://www.aygfsteel.com/pesome/archive/2006/07/12/57805.html</link><dc:creator>pesome</dc:creator><author>pesome</author><pubDate>Wed, 12 Jul 2006 07:01:00 GMT</pubDate><guid>http://www.aygfsteel.com/pesome/archive/2006/07/12/57805.html</guid><wfw:comment>http://www.aygfsteel.com/pesome/comments/57805.html</wfw:comment><comments>http://www.aygfsteel.com/pesome/archive/2006/07/12/57805.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pesome/comments/commentRss/57805.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pesome/services/trackbacks/57805.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不经意看CE序员的一期算法专题,l细研读多位高手Q包括李开复)的文字之后,对算法的重要性重新进行了反思。我研究生毕?/span> <span lang="EN-US">2</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q_一直从?/span> <span lang="EN-US">J2EE</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发,׃目的原因,很少需要自己去设计法Q甚?/span> <span lang="EN-US">stack</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">tree</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q些数据l构都很用。还好自׃不甘于^淡,?/span> <span lang="EN-US">Effective Java</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">Practical Java</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">Refactory</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">Design Pattern</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">{等q些行书还是抽I学习,q些书的很是经典,Ҏ的编码风|模式的理解,设计能力都vC很好的促q。也快速的׃个程序员成长为架构师Q只是公司的Q离真正的架构师q差得远Q?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">因ؓ目需要,d下半q开始全面接触开源YӞ使用?/span> <span lang="EN-US">spring</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">maven</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">hibernate</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">ibatis</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">{众多开源YӞ也对开源Y件生了厚的兴,于是拿这些开源Y件做?/span> <span lang="EN-US">openfans</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q一斚w是推q开源Y件在中国的用的交流Q一斚w也ؓ自己在实践中更多使用q些软gQ因为没有项目和利益因素Q可以做惛_的事Q用想用的YӞ。用这些开源Y件倒很是顺利,很多软g拿来p用,都有</span> <span lang="EN-US">sample</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q简单用还是不隄?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">但一些关键的问题一直悬而未冻I比如</span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的设计:我现在简单的使用q铺的模型,</span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有层次之分Q?/span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">间生双向关联。但q样是最W合</span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Ҏ的模型吗?如何对这?/span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q行分类Q如何定?/span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的多U关联(?/span> <span lang="EN-US">spring</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">hibernate</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有关联,</span> <span lang="EN-US">hibernate</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">又与持久层关联,</span> <span lang="EN-US">spring</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是否与持久层有间接关联,依次cLQ。。。。。。而做Z个好?/span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模型Q可能就需要图论方面的知识。再比如用户怼度设计(L是豆瓣的核心Q难以复ӞQ每个用h有了一?/span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q如何根据这?/span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义用户的相似度Q一个用h</span> <span lang="EN-US">spring</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">hibernate</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q?/span> <span lang="EN-US">2</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q一个用h</span> <span lang="EN-US">spring</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">ibatis</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q?/span> <span lang="EN-US">2</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q他们相似度为多,如果每个?/span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都很多,再加上权重的概念Q问题又复杂的多。简单的做法是每个用户</span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个个匚wQ匹配的多怼度越大,但这栯计一是不准确Q二是时间复杂度很大Q最坏情况ؓ</span> <span lang="EN-US">n*n*m*m</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">n</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为用hQ?/span> <span lang="EN-US">m</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为每个用L</span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q些都需要扎实的法基础。而我的基很薄弱Q本U学的比文科q文U的专业Q研I生又学的比较上层的东西Q?/span> <span lang="EN-US">UML</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">RUP</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">PM</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">{,也都一知半解)Q选修了一门算法导论,又被</span> <span lang="EN-US">1000</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">多页的经典英文教材吓下了,上了几次译ְ直接攑ּQ没敢参加最后考试。现在想临时׃脚,谈何Ҏ?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所以算法也q没有用处Q关键要看你在做什么,惛_什么。想?/span> <span lang="EN-US">google</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、百度不用会</span> <span lang="EN-US">spring</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q算法基扎实Q只?/span> <span lang="EN-US">c</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">语言都行Q一些行业如电信、金融也很是需要算法高手。而国内更多的企业做企业应用,一般是q连数据库,写写面Q最多引入些开源框架和软gQ如</span> <span lang="EN-US">spring</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">hibernate</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US">struts</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">{。这斚w的需求较大,会了</span> <span lang="EN-US">spring</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q省了公司的培训成本Q自然还是给扑ַ作加了一些砝码?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所以有时听到某些hҎҎ术不以ؓӞ说“这些东西有什么是我在几个星期学不会的”的时候,一斚w是对其狂妄进行些鄙视Q一斚w也真要问问自己,我的核心价值到底在哪。这个问题很重要Q涉及面很广Q选择也很多,而我也只是有些模p的{案Q等以后再仔l写写?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不管如何Q我是要开始研I算法了Q得解决问题阿!先在</span> <span lang="EN-US">openfans</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开个算法的</span> <span lang="EN-US">tag</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q一边学一边积累,对算法有兴趣的同学也可以跟我一块进步?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span lang="EN-US">PS</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q做个广告,</span> <span lang="EN-US">blogjava</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很多好的</span> <span lang="EN-US">bloger</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q能否到</span> <span lang="EN-US"> <a >www.openfans.net</a> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">导入?/span> <span lang="EN-US">blog</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q跟大家分n下你的感悟,谢谢Q?/span> </p> <img src ="http://www.aygfsteel.com/pesome/aggbug/57805.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pesome/" target="_blank">pesome</a> 2006-07-12 15:01 <a href="http://www.aygfsteel.com/pesome/archive/2006/07/12/57805.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openfans新功能,Ƣ迎大家使用http://www.aygfsteel.com/pesome/archive/2006/06/09/51666.htmlpesomepesomeFri, 09 Jun 2006 04:42:00 GMThttp://www.aygfsteel.com/pesome/archive/2006/06/09/51666.htmlhttp://www.aygfsteel.com/pesome/comments/51666.htmlhttp://www.aygfsteel.com/pesome/archive/2006/06/09/51666.html#Feedback6http://www.aygfsteel.com/pesome/comments/commentRss/51666.htmlhttp://www.aygfsteel.com/pesome/services/trackbacks/51666.html 很不好意思,不是原创技术。做个广告,有不妥,Ƣ迎理员从首页拿掉?br />    你是开源Y件的爱好者,qx学习和用这些YӞ也不时写?/span> blog Q记下些心得?/span>

你是开源Y件的传播者,你希望更多的Z解和使用开源YӞ希望你的文章被更多的人阅读,q展开更深ȝ讨论?/span>

你是开源Y件的参与者,qx参与参与国外的开源项目,也希望中国能有更多的开源团体,大家一起做国h自己的开源Y件。。。。。?/span>

只要你对开源Y件保持着一份热爱,Ƣ迎来到 openfans(www.openfans.net) ?/span>

非常方便?b style="mso-bidi-font-weight: normal">注册后,你就可以点击?b style="mso-bidi-font-weight: normal">提交 feed ”,只要输入你的 rss 地址Q由于时间原因,q没做直接从 web 地址发现 feed Q,可以将你的 feed 加入Q同时我们对一些网站提供了单的匚wQ如 blogjava Q只需输入你在 blogjava 的用户名Q系l会自动匚w成你?/span> blogjava ?/span> feed Q。完成后Q点几Z?b style="mso-bidi-font-weight: normal">立即导入”,可以将你的文章入库Q点几Z?b style="mso-bidi-font-weight: normal">最新日?/b>”可以查看。以后系l会每日定期d你的 feed Q自动将新的文章加入。由于你提供的是 rss Q内容应该是文章的简短描qͼ视你?/span> blog 提供商而定Q,而且我们会ؓ每篇文章提供原文链接Q直接指向你?/span> blog 原文?/span>

导入的日志一般是没有q行分类的,不方便大家的查找。在每篇日志上都有个?b style="mso-bidi-font-weight: normal">我要推荐”链接,点击q输入你认ؓ适合的标{(?/span> spring Q?/span> hibernate Q?/span> cms Q等Q就可以把这日志Ş成文章,攑֜相应的标{下Q永久保存。需要学?/span> spring Q?/span> hibernate Q?/span> cms 的后来者,可以方便的查扑ֈ标签和YӞ扑ֈ你的文章Q进而进入你?/span> blog ?/span>

同时你也可以发表文章Q推荐YӞ创徏和加入小l,q行评论。。。。。。我们会不断完善功能Q给大家提供更方便的功能和更好的用户体验?/span>

׃现在人员较少Q开发进度较慢。但先做个广告,下一步会?/span> digg Q提供对软g、文章、用L?/span> digg 。做对一?b style="mso-bidi-font-weight: normal">标签?/b> rss Q如 springframework |站?/span> rss Q自动获?/span> spring 的版本更C息。还要完?b style="mso-bidi-font-weight: normal">组功能?b style="mso-bidi-font-weight: normal">好友功能Q给大家提供一个方便交的q_?/span>

|站?/span> java 的一堆开源Y件做成,同时本n也是开源YӞ希望参与的同学可?/span> email l?/span> pesome@gmail.com Q大家一块ؓ推动开源Y件在中国的发展做q贡献?/span>



pesome 2006-06-09 12:42 发表评论
]]>
maven换到jdk1.5的问题解?/title><link>http://www.aygfsteel.com/pesome/archive/2006/05/29/48790.html</link><dc:creator>pesome</dc:creator><author>pesome</author><pubDate>Mon, 29 May 2006 09:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/pesome/archive/2006/05/29/48790.html</guid><wfw:comment>http://www.aygfsteel.com/pesome/comments/48790.html</wfw:comment><comments>http://www.aygfsteel.com/pesome/archive/2006/05/29/48790.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pesome/comments/commentRss/48790.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pesome/services/trackbacks/48790.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">  前面<span lang="EN-US">openfans</span>用的<span lang="EN-US">JDK1.4</span>Q今天下军_换成<span lang="EN-US">1.5</span>了。运行倒是好好的,?span lang="EN-US">jetty</span>下也没有什么问题。一不小心点了下<span lang="EN-US">eclipse</span>里我做的<span lang="EN-US">mvn eclipse:eclipse</span>?span lang="EN-US">External Tools</span>Q就开?span lang="EN-US">maven</span>了。停也没用了Q等着吧。结果报错:<span lang="EN-US" style="COLOR: black">D:\javaproject\openfans\main\src\org\openfans\domain\Group.java:[29,19] -source 1.3 </span><span style="COLOR: black">中不支持泛型Q请试使用<span lang="EN-US"> -source 1.5 </span>以启用泛型)。看了看<span lang="EN-US">maven</span>?span lang="EN-US">bat</span>Q会自动使用环境变量配置?span lang="EN-US">jdk</span>Q应该没问题啊。还好我|上认识人多Q想?span lang="EN-US">alin</span>用的<span lang="EN-US">jdk1.5</span>Q就问他怎么回事。发q来q个Q?span lang="EN-US"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></span></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"><</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">plugin</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"> <span style="mso-tab-count: 2">       </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"><</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">artifactId</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">maven-compiler-plugin</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"></</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">artifactId</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"> <span style="mso-tab-count: 4">              </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"><</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">configuration</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"> <span style="mso-tab-count: 5">                  </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"><</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">source</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">1.5</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"></</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">source</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"> <span style="mso-tab-count: 5">                  </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"><</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">target</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">1.5</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"></</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">target</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"> <span style="mso-tab-count: 4">              </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"></</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">configuration</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white"></</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">plugin</span> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">我一看就明白了,</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">mvn</span> <span style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">时是?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">1.3</span> <span style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">l我~译的,得告诉它?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">1.5</span> <span style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">。拷?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">pom</span> <span style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">文g中,?/span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">mvn eclipse:eclipse</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">搞定。问题是很快解决了,同时却留下了很多思考:<span lang="EN-US"><o:p></o:p></span></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312; mso-bidi-font-family: 楷体_GB2312"> <span style="mso-list: Ignore">1Q?span style="FONT: 7pt 'Times New Roman'"></span></span> </span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">技术没有止境,做h一定要谦虚?/span> </b> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">Maven2</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">我用的也比较早Q还曄被白衣说是对<span lang="EN-US">maven2</span>的推q做了A献的Q自׃颇以为然。而现在这个简单的问题却不知道了,q得<span lang="EN-US">google</span>或问冟뀂还好我一直比较谦虚(本n也没啥可骄傲的资本)Q否则要狂被鄙视了?span lang="EN-US"><o:p></o:p></span></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312; mso-bidi-font-family: 楷体_GB2312"> <span style="mso-list: Ignore">2Q?span style="FONT: 7pt 'Times New Roman'"></span></span> </span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">技术的推广要不遗余力,好的东西要让大家都知道?/span> </b> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">Maven2</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">我也只是使用Q了解ƈ不深入(目中碰C的知道,没碰到的׃懂了Q,但我是到处推荐,到个hpq个好。这下很多朋友都知道了,也引入项目实践了。一斚w他们用的舒服Q提高了效率Q有炚w题还可以向我q个所谓的<span lang="EN-US">maven2</span>高手hQ我自是“知无不aQ言无不”;另一斚wQ他们也许就到其它问题了,然后知道如何解决Q在我碰到类似问题时Q就可以向他们请教了。你看,多好的良性@环,x都美滋滋的?span lang="EN-US"><o:p></o:p></span></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312; mso-bidi-font-family: 楷体_GB2312"> <span style="mso-list: Ignore">3Q?span style="FONT: 7pt 'Times New Roman'"></span></span> </span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">多进行知识共享,大家的智慧比个h强?/span> </b> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">q是从更高的角度看了Q通过知识的共享,能迅速集合大家的l验和智慧,让个体更快的q行学习Q少走弯路。你׃n自己知识的同Ӟ也能获得别h的成果。如果你知道?span lang="EN-US">spring</span>比较强,?span lang="EN-US">hibernate</span>比较强,谁在?span lang="EN-US">maven</span>Q而且到问题能看他们的文章或直接向他们请教,做v目来是不是都安心的多。可能有?span lang="EN-US">google</span>Q但<span lang="EN-US">google</span>信息量太大,而且很多文章是处处{载千一律,l常半天找不Cѝ我是深有体会,所以想到做<span lang="EN-US">openfans</span>Q做一个知识共享的q_Qƈ做到ȝ取精。现在还q远达不到要求,但我会努力的?span lang="EN-US"><o:p></o:p></span></span> </p> <img src ="http://www.aygfsteel.com/pesome/aggbug/48790.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pesome/" target="_blank">pesome</a> 2006-05-29 17:11 <a href="http://www.aygfsteel.com/pesome/archive/2006/05/29/48790.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jetty与maven集成http://www.aygfsteel.com/pesome/archive/2006/05/15/46179.htmlpesomepesomeMon, 15 May 2006 03:19:00 GMThttp://www.aygfsteel.com/pesome/archive/2006/05/15/46179.htmlhttp://www.aygfsteel.com/pesome/comments/46179.htmlhttp://www.aygfsteel.com/pesome/archive/2006/05/15/46179.html#Feedback0http://www.aygfsteel.com/pesome/comments/commentRss/46179.htmlhttp://www.aygfsteel.com/pesome/services/trackbacks/46179.html阅读全文

pesome 2006-05-15 11:19 发表评论
]]>
sf上将cvs切换成svnl验http://www.aygfsteel.com/pesome/archive/2006/04/05/39337.htmlpesomepesomeWed, 05 Apr 2006 04:15:00 GMThttp://www.aygfsteel.com/pesome/archive/2006/04/05/39337.htmlhttp://www.aygfsteel.com/pesome/comments/39337.htmlhttp://www.aygfsteel.com/pesome/archive/2006/04/05/39337.html#Feedback0http://www.aygfsteel.com/pesome/comments/commentRss/39337.htmlhttp://www.aygfsteel.com/pesome/services/trackbacks/39337.html Sf ?/span> cvs 一直不好,也不知道什么原?/span> . 前面听白衣说q,可以一键切换到 svn. 今天p了试Q找了半天,?/span> admin-> svn 下找C migrate q个链接Q点一下进?/span> migrate 界面Q什么都不用改,直接点下面的认按钮搞定。这时的状态是 wating Q号U要{?/span> 1-3 时才能搞定。我{不及,隔了一会就hQ结果状态已l变?/span> complete 了?/span>

svn 地址?/span> :https://svn.sourceforge.net/svnroot/openfans/
然后拿小龟试了?/span> , 可以讉K . ?/span> svn ?/span> eclipse 插g下蝲也成功了 , 通过 updatesite 可以下蝲q个插g (http://www.polarion.org/projects/subversive/download/update-site/) 。打开插gH口Q界面跟 cvs 基本cMQ我先试 commit 功能Q正好把前面 cvs 的本机改动提交上厅R?/span>

l果?/span> 403 forbiden 错?/span> Google Q看到白衣也到同样问题Q结果迁?/span> scud 上去了。我只好点些老外的论坛回复看Q看C个解决问题的回复。号U要 admin->member Q我便照做,一看多了个 svn ?/span> permission 框,把自q先勾上, Update 。然后重?/span> commit Q搞定?/span> Sf ?/span> svn 速度飞快Q比 cvs 快多了,q下也省得自己搞 svn 了。把q个成功l验写出来,也可以给后面的h一个参考?/span>



pesome 2006-04-05 12:15 发表评论
]]>
openfans快速配|指?/title><link>http://www.aygfsteel.com/pesome/archive/2006/04/01/38644.html</link><dc:creator>pesome</dc:creator><author>pesome</author><pubDate>Sat, 01 Apr 2006 13:05:00 GMT</pubDate><guid>http://www.aygfsteel.com/pesome/archive/2006/04/01/38644.html</guid><wfw:comment>http://www.aygfsteel.com/pesome/comments/38644.html</wfw:comment><comments>http://www.aygfsteel.com/pesome/archive/2006/04/01/38644.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pesome/comments/commentRss/38644.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pesome/services/trackbacks/38644.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应牛牛和</span> <span lang="EN-US">lucky</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的要求,写一?/span> <span lang="EN-US">openfans</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的快速配|指南,也就是介l如何在你的机器上把下蝲下来?/span> <span lang="EN-US">openfans</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">跑v来。首先?/span> <span lang="EN-US">maven</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q需要下?/span> <span lang="EN-US">maven</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> <span lang="EN-US"> <a >www.openfans.net</a> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里可以输?/span> <span lang="EN-US">maven</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q行搜烦Q有它的介绍和主,q有我写的一简单的</span> <span lang="EN-US">maven</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上手文章?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果使用</span> <span lang="EN-US">eclipse</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q在目根目录,也就?/span> <span lang="EN-US">pom.xml</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所在目录,q行</span> <span lang="EN-US">mvn eclipse:eclipse(</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如初ơ用,会花较长旉到网上下?/span> <span lang="EN-US">plugin</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">jar</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q徏议去喝杯咖啡</span> <span lang="EN-US">)</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">mvn eclipse:eclipse</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会生?/span> <span lang="EN-US">.class</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">.project</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文gQ可以进入项目的</span> <span lang="EN-US">build path</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">查看Q会自动?/span> <span lang="EN-US">output</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">路径设ؓ</span> <span lang="EN-US">target/classes</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。默认数据库使用</span> <span lang="EN-US">mysql</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q如果希望马上运行,则创Z个新数据库,可以命名?/span> <span lang="EN-US">openfans</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q如?/span> <span lang="EN-US">mysql</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">采用默认安装Q则用户?/span> <span lang="EN-US">root</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q密码ؓI,可以无需更改</span> <span lang="EN-US">jdbc</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配置文g。要更改也很单,?/span> <span lang="EN-US">main/src</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面有一?/span> <span lang="EN-US">jdbc.properties</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文gQ可以在q里更改数据库类型和用户名密码。这里有一?/span> <span lang="EN-US">hibernate.hbm2ddl.auto=update</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q表C?/span> <span lang="EN-US">hibernate</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会自动更新徏表语句,也就是新q行或更C</span> <span lang="EN-US">hbm</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文g再运行,</span> <span lang="EN-US">hibernate</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都会自动帮你完成数据表的重徏工作Q这样你可以不用再考虑数据库徏表脚本了?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果惛_</span> <span lang="EN-US">tomcat</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里直接运行,则可以执?/span> <span lang="EN-US">mvn package</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q会q行所?/span> <span lang="EN-US">test case</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。目前的</span> <span lang="EN-US">test case</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通过l承</span> <span lang="EN-US">AbstractTransactionalDataSourceSpringContextTests</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q能够方便的实现数据库回滚,?/span> <span lang="EN-US">BaseTest</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">cM有一?/span> <span lang="EN-US">this.setDefaultRollback(false)</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q如果希望通过E序填充数据Q就</span> <span lang="EN-US">uncomment</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它。这里有一个地方要注意一下,是</span> <span lang="EN-US">web/WEB-INF/urlrewrite.xml</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q这?/span> <span lang="EN-US">urlrewrite</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的配|文Ӟ</span> <span lang="EN-US">urlrewrite</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的描q在</span> <span lang="EN-US">openfans</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">|站里有Q可以通过搜烦</span> <span lang="EN-US">urlrewrite</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">快速的扑ֈ。因为我把文档根设ؓ?/span> <span lang="EN-US">/</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”,所以有</span> <span lang="EN-US"><to type="redirect">/view$1.html\?id=$2</to></span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q如果文档根?/span> <span lang="EN-US">openfans</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">则需?/span> <span lang="EN-US">/view</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">前加?/span> <span lang="EN-US">/openfans</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q然后再q行</span> <span lang="EN-US">mvn package</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。测试全部通过Q就会在</span> <span lang="EN-US">target</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下生?/span> <span lang="EN-US">openfans-o.1.war</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q将q个</span> <span lang="EN-US">war</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">攑ֈ</span> <span lang="EN-US">tomcat</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">webapps</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下,启动</span> <span lang="EN-US">tomcat</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q应该就能通过</span> <span lang="EN-US"> <a href="http://localhost:8080/openfans">http://localhost:8080/openfans</a> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">讉K了(假定你采用默认端?/span> <span lang="EN-US">8080</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果q行开发,可以安装</span> <span lang="EN-US">eclipse-tomcat</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">插gQ插件也可以?/span> <span lang="EN-US">openfans</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">|站输入</span> <span lang="EN-US">tomcat</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q行搜烦。可以在</span> <span lang="EN-US">tomcat</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">conf/Catalina/localhost</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下创Z?/span> <span lang="EN-US">openfans.xml</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q内容如下:</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span lang="EN-US"><?xml version="1.0" encoding="UTF-8"?></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span lang="EN-US"><Context path="/openfans" reloadable="true" docBase="D:/javaproject/openfans/web"></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span lang="EN-US"></Context></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span lang="EN-US">docBase</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Ҏ你的</span> <span lang="EN-US">openfans</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所在的路径?br />   q里因ؓpom文g定义的默认输Z|ؓtargetQ需改ؓweb-inf/classesQ这时会有一个src冲突Q需把src/web/里的web-inf/classes exclude掉就可以了?br />然后?/span> <span lang="EN-US">eclipse</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">启动</span> <span lang="EN-US">tomcat</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q同样可以通过</span> <span lang="EN-US"> <a href="http://localhost:8080/openfans">http://localhost:8080/openfans</a> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">讉K了。用q种方式启动</span> <span lang="EN-US">tomcat</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以q行调试?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span lang="EN-US"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p> </o:p> </span> </p> <img src ="http://www.aygfsteel.com/pesome/aggbug/38644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pesome/" target="_blank">pesome</a> 2006-04-01 21:05 <a href="http://www.aygfsteel.com/pesome/archive/2006/04/01/38644.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openfans整体设计介绍http://www.aygfsteel.com/pesome/archive/2006/03/28/37754.htmlpesomepesomeTue, 28 Mar 2006 03:51:00 GMThttp://www.aygfsteel.com/pesome/archive/2006/03/28/37754.htmlhttp://www.aygfsteel.com/pesome/comments/37754.htmlhttp://www.aygfsteel.com/pesome/archive/2006/03/28/37754.html#Feedback2http://www.aygfsteel.com/pesome/comments/commentRss/37754.htmlhttp://www.aygfsteel.com/pesome/services/trackbacks/37754.html         有了q个大的框架Q我们可以进行业务徏模了Q我们采用的是领域模型驱动的设计Ҏ。首先考虑的是对象以及对象间的兌Q我们也没用什么徏模工具和自动生成工具Q­先自己写javac,写好属性,用eclipse生成get和set。然后手写hibernate的hbm配置文gQ有点土Q这也是我第一正式的用hiberBnate。开始我用了dao模式Q写了好多daoQ后来和oofrank讨论Q一直认为hibernate是我们的持久层Q完全没有必要ؓ了移植性(如将来B用ibatisQ而引入dao。所以抛弃了dao模式Q而由一个façade处理持久。这L设计跟一般的三层模型略有不同Qhibernate是我们的持久­层Q然后通过一个façade提供对上层的接口。领域模型和mvc中的c充当我们的业务层。我们的对象不是贫血模型Q而是有能力的。当然现在这U能力更多是对象B间的兌Q而对持久层无能ؓ力,但也已经方便了很多。Controller现在h较多的功能,它能调领域对象,也能直接使用façade。然后是jsp+jsBtl+el做纯_的展现层。C和V的分cd则是q样的:一cL查看Q一cLform提交。所有查看由一个viewControllerl一处理Q这样增加了一些­耦合Q但效果q可以)Q一个对象的增、删、改׃个formController处理。?br />           有了q些设计原则Q做h倒是很快Q几天就核心功能出来了。对于数据库Q只要徏一个库pQ其余的如徏表,改表{都由hibernate来自动帮你完成,数据库­就是在写hbm时关心下Q其它完全对我们透明Q感觉还是挺爽的。 最初版一共就20几个c,完成了很多的功能Q可以具体看 www.openfans.org
           下一写怎么使用maven和tomcatQ让openfans在自己机器上跑v来。先d饭了Q^_^。大家有M疑问和好的改q意见,都可以提Q跟帖?

pesome 2006-03-28 11:51 发表评论
]]>
l我的openfans再做下广?/title><link>http://www.aygfsteel.com/pesome/archive/2006/03/25/37409.html</link><dc:creator>pesome</dc:creator><author>pesome</author><pubDate>Sat, 25 Mar 2006 15:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/pesome/archive/2006/03/25/37409.html</guid><wfw:comment>http://www.aygfsteel.com/pesome/comments/37409.html</wfw:comment><comments>http://www.aygfsteel.com/pesome/archive/2006/03/25/37409.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pesome/comments/commentRss/37409.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pesome/services/trackbacks/37409.html</trackback:ping><description><![CDATA[本网站旨在推动opensource软g在中国的传播和用。应用web2.0的思想Q提倡大安来参与和有收h贡献的风气。注册后可以直接登录(来需发emailq行验证Q,dq来可以进行所有的操作了?<br />     操作很简单,先可以点M面的修改用户链接Q补充自q信息Q现在只要填入blog地址、简单描q和所在地Q,q样能够让其它用h好的了解你,q可以加一个你喜欢的图像上传(现在大小限制?0k以内Q?<br />      点击推荐软g链接Q可以推荐你喜欢的开源Y件。填入名Uͼ主页Q加上你的介l或官方的介l,然后l它个图标,可以了。图标可以在它的主页上找刎ͼ然后其url拯下来Q就可以了?<br />     在浏览Y件时Q你可以随时增加认ؓ与其相关的标{(我们把Y件认为是一U特D的标签Q。标{标题是不带I格的,我们可以填入用空格分割的多个标签Q系l会依次增加q些标签兌。如hibernateQ你认ؓ它是持久层,也可以认为是O/RmappingQ已l关联的标签也可以再加,我们会增加其兌度。一个标{下的相x{会按关联度从高C排列?<br />     更重要的是你说明自己对这个Y件的使用情况Q如熟练掌握、正在用还是准备用。简单的点击Q会lY件和你增加有用的信息。我们会看到一个Y件有多少人熟l掌握,有多h正在使用Q在q行同类软g横向比较旉常有用。而如果你在准备用一个Y件时Q就可以看看有谁熟练掌握了这个YӞ可以看他Q她Q的blogQ或直接跟他Q她Q联p,更快的掌握这个Y件?<br />     如果你有好的心得体会或看到网上有好得相关文章Q也可以在浏览标{面Q点d表文章链接,跟大家进行分享。别Z许就因ؓ你的一文章快速入门了呢,呵呵Q?<br />     来q会有更多更好更L功能出来Q我们永q会从用戯度出发,力求做到最好的用户体验。欢q进入openfans的世界! <br /><img src ="http://www.aygfsteel.com/pesome/aggbug/37409.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pesome/" target="_blank">pesome</a> 2006-03-25 23:04 <a href="http://www.aygfsteel.com/pesome/archive/2006/03/25/37409.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>启动openfans|站和项?/title><link>http://www.aygfsteel.com/pesome/archive/2006/03/19/36020.html</link><dc:creator>pesome</dc:creator><author>pesome</author><pubDate>Sun, 19 Mar 2006 02:46:00 GMT</pubDate><guid>http://www.aygfsteel.com/pesome/archive/2006/03/19/36020.html</guid><wfw:comment>http://www.aygfsteel.com/pesome/comments/36020.html</wfw:comment><comments>http://www.aygfsteel.com/pesome/archive/2006/03/19/36020.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pesome/comments/commentRss/36020.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pesome/services/trackbacks/36020.html</trackback:ping><description><![CDATA[注册|站<a target="_blank"><font color="#0000cc">www.</font><span id="highlight_tag" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; COLOR: #ee6600; PADDING-TOP: 0px; BACKGROUND-COLOR: yellow; EE6600: ">openfans</span><font color="#0000cc">.org?/font></a>?a target="_blank"><font color="#551a8b">www.</font><span id="highlight_tag" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; COLOR: #ee6600; PADDING-TOP: 0px; BACKGROUND-COLOR: yellow; EE6600: ">openfans</span><font color="#551a8b">.net</font></a><br />(现在www.openfans.net开通了<a href="http://www.openfans.net:8080/openfans/)Q? target="_blank"><font color="#0000cc">)Q?/font></a>提供对开源Y件的介绍和评论。应用web <br />2.0思想Q体现社理的原则,提倡对开源Y件学习和交互。期望成Z国开源Y件介l和交流的主^C一Qؓ开源Y件在中国的传播和使用贡献自己的力量?<br /><p>roadmapQ暂定)Q?<br />0.1Q?月底完成Q?-注册Q登陆,权限理Q标{֊能,发表软g介绍和文?<br />0.5Q?月底完成Q?-评分体系Q同城,组和朋友管?<br />0.8Q?月底完成Q?-sns功能Q投功?<br />1.0Q?月底完成Q?-开始Ş成专家小l,提供目外包和咨询管理^?<br />更多--随着q_的用和更多的成员加入,不断加入新的功能 <br /></p><p>同时启动开源项?span id="highlight_tag" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; COLOR: #ee6600; PADDING-TOP: 0px; BACKGROUND-COLOR: yellow; EE6600: ">openfans</span>Q用开源YӞeclipse, <br />maven2, spring(包括spring mvc), hibernate, <br />mysql,common-validator,sitemesh..... <br />目的是提供web2.0应用的基本模型,同步?a href="http://www.openfans.net? target="_blank"><font color="#0000cc">www.</font><span id="highlight_tag" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; COLOR: #ee6600; PADDING-TOP: 0px; BACKGROUND-COLOR: yellow; EE6600: ">openfans</span><font color="#0000cc">.net?/font></a>q行验证和用,q能够方便的UL到其它领域?<br />目前目在sourceforge上,由pesome和oofrank共同理?.1版基本完成?<br />cvs -d:pserver:anonym<a target="_parent"><font color="#0000cc">...</font></a>@cvs.sourceforge.net:/cvsroot/<span id="highlight_tag" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; COLOR: #ee6600; PADDING-TOP: 0px; BACKGROUND-COLOR: yellow; EE6600: ">openfans</span> login <br /></p><p>希望参与开发的同学请mailto:pes<a target="_parent"><font color="#0000cc">...</font></a>@gmail.comQ简单介l自己ƈ注明在sf上的用户名?<br />在google上开了一个站务论坛:<a target="_blank"><font color="#551a8b">http://groups.google.com/group/</font><span id="highlight_tag" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; COLOR: #ee6600; PADDING-TOP: 0px; BACKGROUND-COLOR: yellow; EE6600: ">openfans</span></a><br /><br />Ƣ迎大家多来讉KQ推荐Y件和文章Q方便大家更快更好的扑ֈ自己最需要的东西Q?/p><img src ="http://www.aygfsteel.com/pesome/aggbug/36020.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pesome/" target="_blank">pesome</a> 2006-03-19 10:46 <a href="http://www.aygfsteel.com/pesome/archive/2006/03/19/36020.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oscache使用和研I?/title><link>http://www.aygfsteel.com/pesome/archive/2006/02/16/30980.html</link><dc:creator>pesome</dc:creator><author>pesome</author><pubDate>Thu, 16 Feb 2006 05:39:00 GMT</pubDate><guid>http://www.aygfsteel.com/pesome/archive/2006/02/16/30980.html</guid><wfw:comment>http://www.aygfsteel.com/pesome/comments/30980.html</wfw:comment><comments>http://www.aygfsteel.com/pesome/archive/2006/02/16/30980.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pesome/comments/commentRss/30980.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pesome/services/trackbacks/30980.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US>Oscache</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的用非常方便,特别?/SPAN><SPAN lang=EN-US>jsp cache</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用的非常q泛?/SPAN><SPAN lang=EN-US>Oscache</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的文档中也对</SPAN><SPAN lang=EN-US>jsp cache tag</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的配|有详细说明Q但对如普?/SPAN><SPAN lang=EN-US>pojo</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象?/SPAN><SPAN lang=EN-US>cache</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">讲的较少Q也许是比较单的~故。今天做了个试ҎQ写试案例q行了比较和研究?/SPAN><SPAN lang=EN-US><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></B></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">试Ҏ</SPAN><SPAN lang=EN-US>1</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q?/SPAN></B><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在本Z直接试Q@环从</SPAN><SPAN lang=EN-US>metabase</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库中?/SPAN><SPAN lang=EN-US>process_info</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表取得数据(表中只有</SPAN><SPAN lang=EN-US>2</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">条记录)比较使用</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和不使用</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的性能Qؓq_|?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代码如下Q?BR></P> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #008080"> 1</SPAN><IMG id=Codehighlighter1_48_1180_Open_Image onclick="this.style.display='none'; Codehighlighter1_48_1180_Open_Text.style.display='none'; Codehighlighter1_48_1180_Closed_Image.style.display='inline'; Codehighlighter1_48_1180_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_48_1180_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_48_1180_Closed_Text.style.display='none'; Codehighlighter1_48_1180_Open_Image.style.display='inline'; Codehighlighter1_48_1180_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align=top><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000"> DatabaseCacheTest </SPAN><SPAN style="COLOR: #0000ff">extends</SPAN><SPAN style="COLOR: #000000"> TestCase </SPAN><SPAN id=Codehighlighter1_48_1180_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_48_1180_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080"> 2</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>    GeneralCacheAdministrator admin </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080"> 3</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080"> 4</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000"> ApplicationContext ctx;<BR></SPAN><SPAN style="COLOR: #008080"> 5</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080"> 6</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000"> ProcessInfoDAO processInfoDAO;<BR></SPAN><SPAN style="COLOR: #008080"> 7</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080"> 8</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_212_466_Open_Image onclick="this.style.display='none'; Codehighlighter1_212_466_Open_Text.style.display='none'; Codehighlighter1_212_466_Closed_Image.style.display='inline'; Codehighlighter1_212_466_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_212_466_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_212_466_Closed_Text.style.display='none'; Codehighlighter1_212_466_Open_Image.style.display='inline'; Codehighlighter1_212_466_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> setUp() </SPAN><SPAN style="COLOR: #0000ff">throws</SPAN><SPAN style="COLOR: #000000"> Exception </SPAN><SPAN id=Codehighlighter1_212_466_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_212_466_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080"> 9</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_233_300_Open_Image onclick="this.style.display='none'; Codehighlighter1_233_300_Open_Text.style.display='none'; Codehighlighter1_233_300_Closed_Image.style.display='inline'; Codehighlighter1_233_300_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_233_300_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_233_300_Closed_Text.style.display='none'; Codehighlighter1_233_300_Open_Image.style.display='inline'; Codehighlighter1_233_300_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>        String[] paths </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN id=Codehighlighter1_233_300_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_233_300_Open_Text><SPAN style="COLOR: #000000">{ </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/spring/dataAccessContext.xml</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,<BR></SPAN><SPAN style="COLOR: #008080">10</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>                </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/spring/spring-biz-db.xml</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> }</SPAN></SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">11</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>        ctx </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> ClassPathXmlApplicationContext(paths);<BR></SPAN><SPAN style="COLOR: #008080">12</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">13</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>        processInfoDAO </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> (ProcessInfoDAO) ctx.getBean(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">processInfoDAO</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR></SPAN><SPAN style="COLOR: #008080">14</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>        admin </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> GeneralCacheAdministrator();<BR></SPAN><SPAN style="COLOR: #008080">15</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">16</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">17</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_513_535_Open_Image onclick="this.style.display='none'; Codehighlighter1_513_535_Open_Text.style.display='none'; Codehighlighter1_513_535_Closed_Image.style.display='inline'; Codehighlighter1_513_535_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_513_535_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_513_535_Closed_Text.style.display='none'; Codehighlighter1_513_535_Open_Image.style.display='inline'; Codehighlighter1_513_535_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> tearDown() </SPAN><SPAN style="COLOR: #0000ff">throws</SPAN><SPAN style="COLOR: #000000"> Exception </SPAN><SPAN id=Codehighlighter1_513_535_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_513_535_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">18</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>        admin.destroy();<BR></SPAN><SPAN style="COLOR: #008080">19</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">20</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">21</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_570_805_Open_Image onclick="this.style.display='none'; Codehighlighter1_570_805_Open_Text.style.display='none'; Codehighlighter1_570_805_Closed_Image.style.display='inline'; Codehighlighter1_570_805_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_570_805_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_570_805_Closed_Text.style.display='none'; Codehighlighter1_570_805_Open_Image.style.display='inline'; Codehighlighter1_570_805_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> testGetFromCache() </SPAN><SPAN id=Codehighlighter1_570_805_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_570_805_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">22</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">long</SPAN><SPAN style="COLOR: #000000"> t1 </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> System.currentTimeMillis();<BR></SPAN><SPAN style="COLOR: #008080">23</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">24</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_647_746_Open_Image onclick="this.style.display='none'; Codehighlighter1_647_746_Open_Text.style.display='none'; Codehighlighter1_647_746_Closed_Image.style.display='inline'; Codehighlighter1_647_746_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_647_746_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_647_746_Closed_Text.style.display='none'; Codehighlighter1_647_746_Open_Image.style.display='inline'; Codehighlighter1_647_746_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000"> (</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> i </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">; i </SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">10000</SPAN><SPAN style="COLOR: #000000">; i</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">) </SPAN><SPAN id=Codehighlighter1_647_746_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_647_746_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">25</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>            ProcessInfoDO pdo </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> getProcess(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">65</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR></SPAN><SPAN style="COLOR: #008080">26</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>            assertEquals(pdo.getProcessName(), </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">TestProcess</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR></SPAN><SPAN style="COLOR: #008080">27</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">28</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>        System.out.println(System.currentTimeMillis() </SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000"> t1);<BR></SPAN><SPAN style="COLOR: #008080">29</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">30</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">31</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">32</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_860_1087_Open_Image onclick="this.style.display='none'; Codehighlighter1_860_1087_Open_Text.style.display='none'; Codehighlighter1_860_1087_Closed_Image.style.display='inline'; Codehighlighter1_860_1087_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_860_1087_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_860_1087_Closed_Text.style.display='none'; Codehighlighter1_860_1087_Open_Image.style.display='inline'; Codehighlighter1_860_1087_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> ProcessInfoDO getProcessByCache(String id) </SPAN><SPAN id=Codehighlighter1_860_1087_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_860_1087_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">33</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>        ProcessInfoDO pdo;<BR></SPAN><SPAN style="COLOR: #008080">34</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_889_959_Open_Image onclick="this.style.display='none'; Codehighlighter1_889_959_Open_Text.style.display='none'; Codehighlighter1_889_959_Closed_Image.style.display='inline'; Codehighlighter1_889_959_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_889_959_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_889_959_Closed_Text.style.display='none'; Codehighlighter1_889_959_Open_Image.style.display='inline'; Codehighlighter1_889_959_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN id=Codehighlighter1_889_959_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_889_959_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">35</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>            pdo </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> (ProcessInfoDO) admin.getFromCache(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">65</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR></SPAN><SPAN style="COLOR: #008080">36</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>            </SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000"> pdo;<BR></SPAN><SPAN style="COLOR: #008080">37</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_993_1084_Open_Image onclick="this.style.display='none'; Codehighlighter1_993_1084_Open_Text.style.display='none'; Codehighlighter1_993_1084_Closed_Image.style.display='inline'; Codehighlighter1_993_1084_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_993_1084_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_993_1084_Closed_Text.style.display='none'; Codehighlighter1_993_1084_Open_Image.style.display='inline'; Codehighlighter1_993_1084_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>        }</SPAN></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000"> (NeedsRefreshException e) </SPAN><SPAN id=Codehighlighter1_993_1084_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_993_1084_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">38</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>            pdo </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> processInfoDAO.selectById(</SPAN><SPAN style="COLOR: #000000">65</SPAN><SPAN style="COLOR: #000000">);<BR></SPAN><SPAN style="COLOR: #008080">39</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>            admin.putInCache(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">65</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">, pdo);<BR></SPAN><SPAN style="COLOR: #008080">40</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>            </SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000"> pdo;<BR></SPAN><SPAN style="COLOR: #008080">41</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">42</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">43</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">44</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_1135_1178_Open_Image onclick="this.style.display='none'; Codehighlighter1_1135_1178_Open_Text.style.display='none'; Codehighlighter1_1135_1178_Closed_Image.style.display='inline'; Codehighlighter1_1135_1178_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1135_1178_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1135_1178_Closed_Text.style.display='none'; Codehighlighter1_1135_1178_Open_Image.style.display='inline'; Codehighlighter1_1135_1178_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> ProcessInfoDO getProcess(String id) </SPAN><SPAN id=Codehighlighter1_1135_1178_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1135_1178_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">45</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000"> processInfoDAO.selectById(</SPAN><SPAN style="COLOR: #000000">65</SPAN><SPAN style="COLOR: #000000">);<BR></SPAN><SPAN style="COLOR: #008080">46</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">47</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">48</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><BR></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US></SPAN></P><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN style="mso-list: Ignore">Ø<SPAN style="FONT: 7pt 'Times New Roman'">         </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">循环</SPAN><SPAN lang=EN-US>100</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">ơ,使用</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用时</SPAN><SPAN lang=EN-US>578ms</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q直接从数据库取用时</SPAN><SPAN lang=EN-US>2015ms</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 37.5pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 37.5pt"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN style="mso-list: Ignore">Ø<SPAN style="FONT: 7pt 'Times New Roman'">         </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">循环</SPAN><SPAN lang=EN-US>1000</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">ơ,使用</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用时</SPAN><SPAN lang=EN-US>719ms</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q直接从数据库取用时</SPAN><SPAN lang=EN-US>13984ms</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 37.5pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 37.5pt"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN style="mso-list: Ignore">Ø<SPAN style="FONT: 7pt 'Times New Roman'">         </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">循环</SPAN><SPAN lang=EN-US>10000</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">ơ,使用</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用时</SPAN><SPAN lang=EN-US>2016ms</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q直接从数据库取用时</SPAN><SPAN lang=EN-US>131188ms</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用图例比较Q系?/SPAN><SPAN lang=EN-US>1</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示循环的次敎ͼpd</SPAN><SPAN lang=EN-US>2</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Z?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的用Ӟpd</SPAN><SPAN lang=EN-US>3</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Z使用</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的用时。可以看出,随着循环ơ数的增多,使用</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Ҏ的性能优势更加明显?BR><IMG alt="" hspace=0 src="http://www.aygfsteel.com/images/blogjava_net/pesome/5223/t_clip_image00.gif" align=baseline border=0></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 16.5pt"><SPAN lang=EN-US><?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><SPAN lang=EN-US style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype></SPAN></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">l论Q?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q随着循环的增多,用时增长较缓慢,而不使用</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">基本是等比例增长。在循环ơ数较多Ӟ使用</SPAN><SPAN lang=EN-US>cache cpu</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">利用率显著提高,能达?/SPAN><SPAN lang=EN-US>90</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q以上。不使用</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">则只能上?/SPAN><SPAN lang=EN-US>50%</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">左右Q更多是在等待数据库q回l果。所以?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">能大大减L据库的压力,提高应用服务器的利用率,W合我们对应用服务器q行水^扩展的要求?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><o:p> </o:p></SPAN></P> <P> </P><img src ="http://www.aygfsteel.com/pesome/aggbug/30980.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pesome/" target="_blank">pesome</a> 2006-02-16 13:39 <a href="http://www.aygfsteel.com/pesome/archive/2006/02/16/30980.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自己写的一个cache组?/title><link>http://www.aygfsteel.com/pesome/archive/2005/09/06/12236.html</link><dc:creator>pesome</dc:creator><author>pesome</author><pubDate>Tue, 06 Sep 2005 07:38:00 GMT</pubDate><guid>http://www.aygfsteel.com/pesome/archive/2005/09/06/12236.html</guid><wfw:comment>http://www.aygfsteel.com/pesome/comments/12236.html</wfw:comment><comments>http://www.aygfsteel.com/pesome/archive/2005/09/06/12236.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pesome/comments/commentRss/12236.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pesome/services/trackbacks/12236.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN lang=EN-US>Cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">作ؓ提高性能的有效手D可以说是无处不在的?/SPAN><SPAN lang=EN-US>CPU</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有一U缓存,二~存Q数据库有自q数据~存Q内存实质上是盘的缓存。。。。。。而程序中的缓存也能够有效的减与存储讑֤的交互,增加应用的ƈ发能力?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我通过在实际项目中自行设计和?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q逐渐提高了系l的q发能力Q但同时也感觉到了很多的不Q?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">1.<SPAN style="FONT: 7pt 'Times New Roman'">       </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">因ؓ是在原有pȝ基础上优化,</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的处理没有统一的规划,而是头痛dQ脚痛医脚?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分散在系l各个模块,很难惌v哪些模块使用?/SPAN><SPAN lang=EN-US>cache</SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">2.<SPAN style="FONT: 7pt 'Times New Roman'">       </SPAN></SPAN></SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的实现各U各P有的是单例、有的是</SPAN><SPAN lang=EN-US>static</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象Q?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象与数据库的交互也是直接硬~码在原有系l中Q难于维?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">3.<SPAN style="FONT: 7pt 'Times New Roman'">       </SPAN></SPAN></SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的参数如h间隔。。。。。。未使用配置文gQ而是直接定义?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的类文g中,寚w|的更改需要更新整个类Q进而媄响系l的q行</SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">4.<SPAN style="FONT: 7pt 'Times New Roman'">       </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">~少?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的监控机制和</SPAN><SPAN lang=EN-US>log</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">机制Q出现问题很隑֎跟踪和解冟?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">l过一D|间具体项目的z礼Q对</SPAN><SPAN lang=EN-US>java</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也有了进一步的认识Q我也可以有能力来解决一直困扰心中的</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的这些问题了。想法很单,是能够通过单一的配|文Ӟ对系l中的所?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q行l一的管理,各个</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所在的模块Q和</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的配|参敎ͼ都能够一目了然。而对配置文g的重载功能也是我要考虑的问题,希望Ҏ?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的配|的更改能够对其?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无媄响,同时q些更改也能在不影响应用q行状态的情况下进行。当然既然是l一理Q就需要做到接口的l一。我定义?/SPAN><SPAN lang=EN-US>Cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN><SPAN lang=EN-US>CachePersistence</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">两个接口Q然后不同的</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以提供不同的实玎ͼ实现c需要在配置文g中指定,同时pȝ提供默认的实玎ͼ以满简单的应用。想了就要开始做Q我也没想一开始就做出?/SPAN><SPAN lang=EN-US>OSCache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN><SPAN lang=EN-US>JbossCache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那样通用?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来,也许l过不断的交,不断的完善最l可以做到。经q简单的设计Q我开始写代码了,我一个hQ也是</SPAN><SPAN lang=EN-US>XP</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">~程了,呵呵Q?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的配|参敎ͼ我根据项目经验想C几个Q可能还可以有,但目前我不知道,需要在更多的项目应用中d玎ͼ具体可以看我的包中的</SPAN><SPAN lang=EN-US>cache.xml</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文gQ有寚w|项的具体说明?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从开始开发到最后写完测试类Q也׃C个星期的旉Q上班的IZ旉和加班写Q,当中也进行了几次重构。ȝ来说Q还满意,q也俺的第一个开源项目啊Q呵呵!</SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">具体如何使用Q很单,你有兴趣可以实现</SPAN><SPAN lang=EN-US>Cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口Q我内置了基?/SPAN><SPAN lang=EN-US>HashMap</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN><SPAN lang=EN-US>Cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q应该能满大部分应用的需要?/SPAN><SPAN lang=EN-US>CachePersistence</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是你的对象与存储设备交互的实现了,你一般需要实现这一接口Q然后配|在配置文g中。然后通过</SPAN><SPAN lang=EN-US>CacheFactory</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">得到</SPAN><SPAN lang=EN-US>Cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q通过</SPAN><SPAN lang=EN-US>Cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口使用对象。对</SPAN><SPAN lang=EN-US>Cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的操作你可以当成一?/SPAN><SPAN lang=EN-US>Map</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来用,由容器来自动处理何时与存储设备的交互Q你只要配置好就</SPAN><SPAN lang=EN-US>ok</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了。另外可以参?/SPAN><SPAN lang=EN-US>src</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的</SPAN><SPAN lang=EN-US>test</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包,里面是我?/SPAN><SPAN lang=EN-US>Cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的功能测试代码,也能作ؓ使用</SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的实例的?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说了q么多,大家如果有兴,可下载我的全部文Ӟ里面包括</SPAN><SPAN lang=EN-US>jar</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN><SPAN lang=EN-US>src</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN><SPAN lang=EN-US>lib</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN><SPAN lang=EN-US>javadoc</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q有配置文gQ点击这?FONT face="Times New Roman"><A href="http://www.aygfsteel.com/Files/pesome/pcache.zip">http://www.aygfsteel.com/Files/pesome/pcache.zip</A></FONT></SPAN><SPAN lang=EN-US><A href="http://www.aygfsteel.com/pesome/pesome/Files/pesome/pcache.zip"></A></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。更Ƣ迎大家在实际的目中用我?/SPAN><SPAN lang=EN-US>cache</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q如果有M问题都可以跟我联p,</SPAN><SPAN lang=EN-US><A href="mailto:pesome@163.com">mailto:pesome@163.com</A></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。谢谢!</SPAN><SPAN lang=EN-US><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P><img src ="http://www.aygfsteel.com/pesome/aggbug/12236.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pesome/" target="_blank">pesome</a> 2005-09-06 15:38 <a href="http://www.aygfsteel.com/pesome/archive/2005/09/06/12236.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank">Ʊ</a>| <a href="http://" target="_blank">Ԫ</a>| <a href="http://" target="_blank">ᶫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ԫ</a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ʊ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">÷ӿ</a>| <a href="http://" target="_blank">ʲ</a>| <a href="http://" target="_blank">ݸ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʹ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">·</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">׺</a>| <a href="http://" target="_blank">ᶼ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>