﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-尽人事而顺天命-随笔分类-技术随笔</title><link>http://www.blogjava.net/bossch/category/8171.html</link><description>关注　esb , soa ,设计模式,快速组件式开发</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 05:11:19 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 05:11:19 GMT</pubDate><ttl>60</ttl><item><title>关于 db2 jdbc 百思不得其解的问题</title><link>http://www.blogjava.net/bossch/archive/2006/04/03/38835.html</link><dc:creator>boss_ch</dc:creator><author>boss_ch</author><pubDate>Mon, 03 Apr 2006 02:11:00 GMT</pubDate><guid>http://www.blogjava.net/bossch/archive/2006/04/03/38835.html</guid><wfw:comment>http://www.blogjava.net/bossch/comments/38835.html</wfw:comment><comments>http://www.blogjava.net/bossch/archive/2006/04/03/38835.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/bossch/comments/commentRss/38835.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bossch/services/trackbacks/38835.html</trackback:ping><description><![CDATA[没有想到会碰到这样的一个问题，百思不得其解，贴出来希望哪位也在使用 db2  type2 app jdbc 的兄弟帮忙分析一下：　<br /><br />使用 ibatis  sql map以及 dao 框架　，使用 JTA 事务管理，在 websphere 5.1 以及 jboss 4.1 上测试，都出现以下的怪现象：　<br /><br />使用  sql map　执行 insert  操作的时候，　声明如下的 sql map: <br /><br /><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"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">insert </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="ppl_t1.insert"</span><span style="COLOR: #ff0000"> parameterClass</span><span style="COLOR: #0000ff">="com.surekam.ppl.dao.test.PPLT1"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        asfafdafsdafafsd values (#projId#,#name#);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">insert</span><span style="COLOR: #0000ff">&gt;</span></div>也就是说，一个完全不合法的 sql 语句，但是，在执行的时候， db2 jdbc 居然不报错！！查找到 ibatis 的 sql 执行部分的代码：　SqlExecutor　类的：　<br />　
<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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> executeUpdate(RequestScope request, Connection conn, String sql, Object[] parameters)<br /></span><span style="COLOR: #008080"> 2</span><span style="COLOR: #000000"><img id="Codehighlighter1_123_806_Open_Image" onclick="this.style.display='none'; Codehighlighter1_123_806_Open_Text.style.display='none'; Codehighlighter1_123_806_Closed_Image.style.display='inline'; Codehighlighter1_123_806_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_123_806_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_123_806_Closed_Text.style.display='none'; Codehighlighter1_123_806_Open_Image.style.display='inline'; Codehighlighter1_123_806_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />      </span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> SQLException </span><span id="Codehighlighter1_123_806_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.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_123_806_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080"> 3</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    ErrorContext errorContext </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> request.getErrorContext();<br /></span><span style="COLOR: #008080"> 4</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    errorContext.setActivity(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">executing update</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 5</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    errorContext.setObjectId(sql);<br /></span><span style="COLOR: #008080"> 6</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080"> 7</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    PreparedStatement ps </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"> 8</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> rows </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080"> 9</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img id="Codehighlighter1_330_738_Open_Image" onclick="this.style.display='none'; Codehighlighter1_330_738_Open_Text.style.display='none'; Codehighlighter1_330_738_Closed_Image.style.display='inline'; Codehighlighter1_330_738_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_330_738_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_330_738_Closed_Text.style.display='none'; Codehighlighter1_330_738_Open_Image.style.display='inline'; Codehighlighter1_330_738_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_330_738_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.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_330_738_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      errorContext.setMoreInfo(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Check the SQL Statement (preparation failed).</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      ps </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> conn.prepareStatement(sql);<br /></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      errorContext.setMoreInfo(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Check the parameters (set parameters failed).</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      request.getParameterMap().setParameters(request, ps, parameters);<br /></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      errorContext.setMoreInfo(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Check the statement (update failed).</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      ps.execute();<br /></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      rows </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ps.getUpdateCount();<br /></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img id="Codehighlighter1_752_784_Open_Image" onclick="this.style.display='none'; Codehighlighter1_752_784_Open_Text.style.display='none'; Codehighlighter1_752_784_Closed_Image.style.display='inline'; Codehighlighter1_752_784_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_752_784_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_752_784_Closed_Text.style.display='none'; Codehighlighter1_752_784_Open_Image.style.display='inline'; Codehighlighter1_752_784_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">finally</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_752_784_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.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_752_784_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      closeStatement(ps);<br /></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> rows;<br /></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />  }</span></span></div><br /><br />其中并没有什么特别的地方，可是  PrepardStatement 在执行的时候就是不　抛出 SQLException ,而是处理成 SQLWarning ，可以通过 getWarning 取到错误信息．　<br /><br />而直接自己写一个测试，直接去测试这样一个不合法的 sql ，是会抛出异常的．<br />db2jdbc 的 bug ?? 还是其它哪里的环境设置？？　<br /><br /><img src ="http://www.blogjava.net/bossch/aggbug/38835.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bossch/" target="_blank">boss_ch</a> 2006-04-03 10:11 <a href="http://www.blogjava.net/bossch/archive/2006/04/03/38835.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于jsf 与tiles 集成－－以及布局管理的思考</title><link>http://www.blogjava.net/bossch/archive/2006/03/15/35347.html</link><dc:creator>boss_ch</dc:creator><author>boss_ch</author><pubDate>Wed, 15 Mar 2006 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/bossch/archive/2006/03/15/35347.html</guid><wfw:comment>http://www.blogjava.net/bossch/comments/35347.html</wfw:comment><comments>http://www.blogjava.net/bossch/archive/2006/03/15/35347.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bossch/comments/commentRss/35347.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bossch/services/trackbacks/35347.html</trackback:ping><description><![CDATA[<P>使用模板对页面布局进行管理，是一直以来的一个大问题，从以前的 include 方式到后来使用 tiles 进行布局，对于一个新的项目来说，我觉得布局、安全性、权限等这些东西，都是先要考虑的。 <BR><BR>布局管理的目标是什么？？ 一般的应用（或是网站）中，具体内容部分相对是比较固定的，但是其外框却可能随客户的喜好而有不同的修改（或是类似网站改版），那么，我认为，使用布局管理的主要目的，就是在这种布局管理修改时，能从容应对，只改动最可能少的文件。<BR><BR>为了达到只改动最可能少的文件的目录，那么，自然的，我们会想到类似于OO语言中的继承机制，如果布局是由父类管理的，那么改动时只改动父类就可以了。类似的，模板管理的布局，也应该是达到 这样的目标的。&nbsp;从这个角度来说， tiles 最大的可取之处，在于其页面配置中的继承机制（不了解 tiles的人请自己找找 tiles的资料看看），同时可参考 <A HREF="/steady/archive/2006/02/08/29953.html">http://www.blogjava.net/steady/archive/2006/02/08/29953.html</A>&nbsp;。<BR><BR>在 struts 下，导航可以直接指向 tiles-config 里的定义，这样就相当于是一个子类（个人觉得，对于大项目来说，这个配置文件的管理也是个大问题）。而在 jsf 里，页面导航不能直接指向模板定义，而需要一个 jsp ，，虽然是个简单的 jsp ,可是却为了一个 view ,我们需要创建两个 jsp?&nbsp; 对于大点的项目来说，这样子的工作量并不小。&nbsp;因此 ，总的来说，使用 tiles这样子的布局管理，并不能达到我们想要的目的。&nbsp;<BR>说到这个，倒是让人想起 wicket 的好处来，wicket 里，页面是一个 java 类对应的，java 类可以继承，这样就很自然的把页面布局的管理，换成上述的 OO 类继承的方式了。 具体可以参考 wicket 的 <A HREF="/steady/archive/2006/02/08/29953.html">example </A><BR><BR></P><img src ="http://www.blogjava.net/bossch/aggbug/35347.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bossch/" target="_blank">boss_ch</a> 2006-03-15 10:08 <a href="http://www.blogjava.net/bossch/archive/2006/03/15/35347.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>myeclipseid 4.1 版试用</title><link>http://www.blogjava.net/bossch/archive/2006/03/07/34109.html</link><dc:creator>boss_ch</dc:creator><author>boss_ch</author><pubDate>Tue, 07 Mar 2006 09:07:00 GMT</pubDate><guid>http://www.blogjava.net/bossch/archive/2006/03/07/34109.html</guid><wfw:comment>http://www.blogjava.net/bossch/comments/34109.html</wfw:comment><comments>http://www.blogjava.net/bossch/archive/2006/03/07/34109.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bossch/comments/commentRss/34109.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bossch/services/trackbacks/34109.html</trackback:ping><description><![CDATA[<P>myeclipse ide&nbsp; 4.1正式发布好像也有一段时间了，今天有点空给下载试了一下。 <BR>感觉最过份的，，， 是居然把图象编辑给做了进去，，真是过份啊，，图像编辑器里也有层次、渐变工具、套索工具等，做做简单的图片修改还真是够用。 <BR><BR>难不成，程序员自己操刀做简单美工的需求比较大么？ 程序员兼做着美工可真够累的啊。<BR><BR>不过。另外啰嗦一下，myeclipse 的&nbsp; uml 功能，还是远远没有达到让我想要用他的程度，可能是以前用 together 用习惯了给宠的吧。在 eclipse 平台上，现在还真是没有什么感觉非常好的 uml 工具。 together 与 ibm rsa 都巨慢无比。。。。<BR><BR>在 jboss 的项目源码里看到一个 .zuml 的文件，查了一下好像是一个名为 "<U><FONT color=#551a8b><A href="http://www.gentleware.com/fileadmin/media/archives/ userguides/poseidon_users_guide/eclipseprojectuse.html ">Poseidon </A></FONT></U>" 的工具，但是这东西没有听说过。。具体也不敢说了。 <BR><BR>作为一个 web 开发套件来说，myeclipse 还是 eclipse 平台上的最好选择。其实对于比较熟练的开发人员来说，不需要太多的图形化的东西，像jsf 的所见即所得编辑器，效率并不高。 毕竟 jsf 与 传统的这种 UI 界面还是有很大的差距。 </P><img src ="http://www.blogjava.net/bossch/aggbug/34109.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bossch/" target="_blank">boss_ch</a> 2006-03-07 17:07 <a href="http://www.blogjava.net/bossch/archive/2006/03/07/34109.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>备忘：使用 wsadmin 来停止应用程序</title><link>http://www.blogjava.net/bossch/archive/2006/02/24/32303.html</link><dc:creator>boss_ch</dc:creator><author>boss_ch</author><pubDate>Fri, 24 Feb 2006 08:21:00 GMT</pubDate><guid>http://www.blogjava.net/bossch/archive/2006/02/24/32303.html</guid><wfw:comment>http://www.blogjava.net/bossch/comments/32303.html</wfw:comment><comments>http://www.blogjava.net/bossch/archive/2006/02/24/32303.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bossch/comments/commentRss/32303.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bossch/services/trackbacks/32303.html</trackback:ping><description><![CDATA[<P>&nbsp;</P>
<P>要使用 wsadmin 来停止应用程序，执行以下步骤：</P>
<P>在 OS/400 命令行上，运行 STRQSH（启动 Qshell）命令。</P>
<P>运行 cd 命令来进入包含 wsadmin 工具的目录：</P>
<P>cd /QIBM/ProdData/WebASE51/ASE/bin<BR>启动 wsadmin。</P>
<P>在 wsadmin 提示符处，运行以下命令来标识应用程序所驻留的服务器的应用程序管理器 MBean，并将其赋给 appManager 变量：</P>
<P>set appManager [$AdminControl queryNames type=ApplicationManager,*]<BR>此命令返回应用程序管理器 MBean。</P>
<P>可以停止单个应用程序，也可以停止正在应用程序服务器中运行的所有应用程序。</P>
<P>要停止单个应用程序，运行以下命令：</P>
<P>$AdminControl invoke $appManager stopApplication portlet_oa_war<BR>其中 myApp 是要停止的应用程序的名称。</P>
<P>要停止应用程序服务器中所有正在运行的应用程序，执行以下步骤：</P>
<P>运行以下命令来查询应用程序服务器中正在运行的应用程序，并将结果赋给 apps 变量：</P>
<P>set apps [$AdminControl queryNames type=Application,*]<BR>此命令返回应用程序 MBean 的列表。</P>
<P>运行以下命令来停止所有正在运行的应用程序：</P>
<P>foreach app $apps {set appName [$AdminControl getAttribute $app name];<BR>&nbsp;$AdminControl invoke $appManager stopApplication $appName}<BR><BR>
<HR>
<BR>另： <BR>wsadmin.sh&nbsp; 连接时的语法： <BR>./wsadmin.sh -conntype SOAP -host localhost -port 8882 -user uid&nbsp; -password pwd <BR><BR></P><img src ="http://www.blogjava.net/bossch/aggbug/32303.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bossch/" target="_blank">boss_ch</a> 2006-02-24 16:21 <a href="http://www.blogjava.net/bossch/archive/2006/02/24/32303.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>