<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>fall&#039;s room space~</title>
	<atom:link href="http://qiuyie.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://qiuyie.wordpress.com</link>
	<description>Just another WordPress.com site</description>
	<lastBuildDate>Wed, 29 Sep 2010 14:29:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='qiuyie.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>fall&#039;s room space~</title>
		<link>http://qiuyie.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://qiuyie.wordpress.com/osd.xml" title="fall&#039;s room space~" />
	<atom:link rel='hub' href='http://qiuyie.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Hello world!</title>
		<link>http://qiuyie.wordpress.com/2010/09/29/hello-world/</link>
		<comments>http://qiuyie.wordpress.com/2010/09/29/hello-world/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 14:29:58 +0000</pubDate>
		<dc:creator>qiuyie</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://qiuyie.wordpress.com/?p=1</guid>
		<description><![CDATA[Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=1&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome to <a href="https://wordpress.com/">WordPress.com</a>. This is your first post. Edit or delete it and start blogging!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qiuyie.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qiuyie.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qiuyie.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qiuyie.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qiuyie.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qiuyie.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qiuyie.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qiuyie.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qiuyie.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qiuyie.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qiuyie.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qiuyie.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qiuyie.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qiuyie.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=1&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qiuyie.wordpress.com/2010/09/29/hello-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9c513a35f8fe4c7b7164a3c262032be0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qiuyie</media:title>
		</media:content>
	</item>
		<item>
		<title>A special day</title>
		<link>http://qiuyie.wordpress.com/2009/07/13/a-special-day/</link>
		<comments>http://qiuyie.wordpress.com/2009/07/13/a-special-day/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 15:26:52 +0000</pubDate>
		<dc:creator>qiuyie</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://qiuyie.wordpress.com/2009/07/13/a-special-day</guid>
		<description><![CDATA[Today is my last day in Sybase, it is special &#8217;cause it labels the end of a wonderful period in my life that i shall always remember.   I wanna say i have somewhat established a sturdy connection with Sybase, with the people i &#8230; <a href="http://qiuyie.wordpress.com/2009/07/13/a-special-day/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=3&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!518DA79C4C83ED06!1102" class="bvMsg">
<div>Today is my last day in Sybase, it is special &#8217;cause it labels the end of a wonderful period in my life that i shall always remember.</div>
<div> </div>
<div>I wanna say i have somewhat established a sturdy connection with Sybase, with the people i loved there and with the the spirts i undertook for the last 3 years. I still couldn&#8217;t believe it is now the time for me to say goodbye, but that&#8217;s just life, isn&#8217;t it? I&#8217;m not certain whether i have the chance to meet those beautiful faces again, but what i do know for sure is, those faces and the moments that they connected will always be remembered.</div>
<div> </div>
<div>&quot;All my best memories<br />Come back clearly to me<br />Some can even make me cry<br />Just like before<br />It&#8217;s yesterday once more&#8230;&quot;</div>
<div> </div>
<div>Anyway, it&#8217;s also time to move on, to break a new path and to live a new life&#8230; cheers!!</div>
<div><a href="https://ls0jzw.bay.livefilestore.com/y1mC8dqKPsvmt74ADtbsaz5saVscAjxxkUYK-sTxrK2q56JZvxVZAVXfNrsJqzaVbeAWGPscVlavuGgG6p8CM3qmop7CFRRvfga1NgzBAVeeWaIOEqc77D2P28_ePuBfn8rMmWUmHDYlWm_FRvKnWOVTg/DSCF3585" rel="WLPP;url=https://ls0jzw.bay.livefilestore.com/y1mC8dqKPsvmt74ADtbsaz5saVscAjxxkUYK-sTxrK2q56JZvxVZAVXfNrsJqzaVbeAWGPscVlavuGgG6p8CM3qmop7CFRRvfga1NgzBAVeeWaIOEqc77D2P28_ePuBfn8rMmWUmHDYlWm_FRvKnWOVTg/DSCF3585" target="_blank"></a><a href="https://ls0jzw.bay.livefilestore.com/y1myfF9col-7dFcMWixZuQJB25EV7zhYZv56xDR0TeHqMlBOJ6HyB9F2H-dxuaWcmARfD4YyE867gUGivQhwm0Tum308f8hfd9yd-YPB1xdkAszwSJRqBbpo2ANfX30D2lPxZdJJIZsARwAooVhvzE-fQ/DSCF3575" rel="WLPP;url=https://ls0jzw.bay.livefilestore.com/y1myfF9col-7dFcMWixZuQJB25EV7zhYZv56xDR0TeHqMlBOJ6HyB9F2H-dxuaWcmARfD4YyE867gUGivQhwm0Tum308f8hfd9yd-YPB1xdkAszwSJRqBbpo2ANfX30D2lPxZdJJIZsARwAooVhvzE-fQ/DSCF3575" target="_blank"></a> </div>
<div> </div>
<div> </div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qiuyie.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qiuyie.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qiuyie.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qiuyie.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qiuyie.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qiuyie.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qiuyie.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qiuyie.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qiuyie.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qiuyie.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qiuyie.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qiuyie.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qiuyie.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qiuyie.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=3&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qiuyie.wordpress.com/2009/07/13/a-special-day/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9c513a35f8fe4c7b7164a3c262032be0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qiuyie</media:title>
		</media:content>
	</item>
		<item>
		<title>How to Create Context Menu for CommonViewer</title>
		<link>http://qiuyie.wordpress.com/2007/04/24/how-to-create-context-menu-for-commonviewer/</link>
		<comments>http://qiuyie.wordpress.com/2007/04/24/how-to-create-context-menu-for-commonviewer/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 07:33:37 +0000</pubDate>
		<dc:creator>qiuyie</dc:creator>
				<category><![CDATA[Eclipse Plugin/RCP]]></category>

		<guid isPermaLink="false">http://qiuyie.wordpress.com/2007/04/24/how-to-create-context-menu-for-commonviewer</guid>
		<description><![CDATA[As we are moving from eclipse3.1 to eclipse3.3 and beyond, the well-known Common Navigator Framework (CNF) are more commonly utilized to serve the needs of providing a robust and loosely coupled content view structure. However, the inherent design of the &#8230; <a href="http://qiuyie.wordpress.com/2007/04/24/how-to-create-context-menu-for-commonviewer/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=5&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!518DA79C4C83ED06!467" class="bvMsg">
<p><font face="Geneva, Arial, Sans-serif" color="#000000" size="2">As we are moving from eclipse3.1 to eclipse3.3 and beyond, the well-known Common Navigator Framework (CNF) are more commonly utilized to serve the needs of providing a robust and loosely coupled content view structure.</font> </p>
<p><font face="Geneva, Arial, Sans-serif" color="#000000" size="2">However, the inherent design of the <b>CommonNavigator</b> requests each of its instances maintain their action service and composing viewer separately. In other words, if we want to reuse the common viewer by instantiating one outside of its Navigator scope like wizard page or JFace dialog, we would encounter the bottleneck of reusing the viewer&#8217;s associated action service. </font></p>
<p><font face="Geneva, Arial, Sans-serif" color="#000000" size="2">Therefore, to achieve adding context menu to a reused common viewer, we have to programmatically constitute the context menu and hook up action service from the navigator. </font></p>
<p><font face="Geneva, Arial, Sans-serif" color="#000000" size="2">The following code snippet simply returns an instance of <b>CommonViewer</b> for reuse purpose. </font></p>
<blockquote>
<div><font size="1"><font face="Times New Roman"><b><span style="color:#7f0055;">public</span></b><font color="#000000"> </font><b><span style="color:#7f0055;">static</span></b><font color="#000000"> CommonViewer createEEViewer(Composite content, </font><b><span style="color:#7f0055;">int</span></b><font color="#000000"> aStyle) &#123;</font></font></font></div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>                </span>CommonViewer commonViewer = </font><b><span style="color:#7f0055;">new</span></b><font color="#000000"> CommonViewer(</font></font></font></div>
<div><font size="1"><font face="Times New Roman"><span><font color="#000000">                                </font></span><u><span style="color:blue;">SuadeServersPlugin</span></u><font color="#000000">.</font><i><span style="color:#0000c0;">SERVERS_VIEW_VIEWER_ID</span></i><font color="#000000">, content, aStyle);</font></font></font></div>
<div><font face="Times New Roman" color="#000000" size="1"> </font></div>
<div><font face="Times New Roman" color="#000000" size="1"> </font></div>
<div><font size="1"><font face="Times New Roman"><span><font color="#000000">                </font></span><b><span style="color:#7f0055;">return</span></b><font color="#000000"> commonViewer;</font></font></font></div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span>&#125;</font></font></font></div>
</blockquote>
<p><font face="Times New Roman" color="#000000" size="2"> </font><font face="Geneva, Arial, Sans-serif" color="#000000" size="2">After getting the <b>CommonViewer</b>, we have to programmatically create a context menu manager, get the actionService from the Navigator, and hook it into the context menu. The following section illustrate how to implement a context menu on CommonViewer in a wizard page.</font> </p>
<blockquote>
<div><font size="1"><font face="Times New Roman"><b><span style="color:#7f0055;">private</span></b><font color="#000000"> </font><b><span style="color:#7f0055;">void</span></b><font color="#000000"> createContextMenu(</font><b><span style="color:#7f0055;">final</span></b><font color="#000000"> CommonViewer viewer) &#123;</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>                </span>MenuManager menuMgr = </font><b><span style="color:#7f0055;">new</span></b><font color="#000000"> MenuManager();</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>                </span>menuMgr.setRemoveAllWhenShown(</font><b><span style="color:#7f0055;">true</span></b><font color="#000000">);</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>                </span>menuMgr.addMenuListener(</font><b><span style="color:#7f0055;">new</span></b><font color="#000000"> IMenuListener() &#123;</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>                        </span>CommonNavigator </font><span style="color:#0000c0;">eeView</span><font color="#000000"> = (CommonNavigator) <span style="background:silver;">PlatformUI</span></font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>                                        </span>.<i>getWorkbench</i>().getActiveWorkbenchWindow().getActivePage()</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>                                        </span>.findView(SuadeServersPlugin.</font><i><span style="color:#0000c0;">SERVERS_VIEW_VIEWER_ID</span></i><font color="#000000">);</font></font></font> </div>
<div><font face="Times New Roman" color="#000000" size="1"> </font> </div>
<div><font size="1"><font face="Times New Roman"><span><font color="#000000">                        </font></span><b><span style="color:#7f0055;">public</span></b><font color="#000000"> </font><b><span style="color:#7f0055;">void</span></b><font color="#000000"> menuAboutToShow(IMenuManager manager) &#123;</font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>                                </span>ISelection selection = viewer.getSelection();</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><span><font color="#000000">                                </font></span><span style="color:#0000c0;">eeView</span><font color="#000000">.getNavigatorActionService().setContext(</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><span><font color="#000000">                                                </font></span><b><span style="color:#7f0055;">new</span></b><font color="#000000"> ActionContext(selection));</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><span><font color="#000000">                                </font></span><span style="color:#0000c0;">eeView</span><font color="#000000">.getNavigatorActionService().fillContextMenu(manager);</font></font></font> </div>
<div><font face="Times New Roman" color="#000000" size="1"> </font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>                        </span>&#125;</font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>                </span>&#125;);</font></font></font> </div>
<div><font face="Times New Roman" color="#000000" size="1"> </font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>                </span>Menu menu = menuMgr.createContextMenu(viewer.getTree());</font></font></font> </div>
<div><font face="Times New Roman" color="#000000" size="1"> </font> <font size="1"><font color="#000000"><font face="Times New Roman"><span>              </span>viewer.getTree().setMenu(menu);</font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span>&#125;</font></font></font></div>
</blockquote>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/qiuyie.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/qiuyie.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qiuyie.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qiuyie.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qiuyie.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qiuyie.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qiuyie.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qiuyie.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qiuyie.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qiuyie.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qiuyie.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qiuyie.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qiuyie.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qiuyie.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qiuyie.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qiuyie.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=5&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qiuyie.wordpress.com/2007/04/24/how-to-create-context-menu-for-commonviewer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9c513a35f8fe4c7b7164a3c262032be0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qiuyie</media:title>
		</media:content>
	</item>
		<item>
		<title>Sample Usage of IExtensionStateModel</title>
		<link>http://qiuyie.wordpress.com/2007/04/24/sample-usage-of-iextensionstatemodel/</link>
		<comments>http://qiuyie.wordpress.com/2007/04/24/sample-usage-of-iextensionstatemodel/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 06:06:14 +0000</pubDate>
		<dc:creator>qiuyie</dc:creator>
				<category><![CDATA[Eclipse Plugin/RCP]]></category>

		<guid isPermaLink="false">http://qiuyie.wordpress.com/2007/04/24/sample-usage-of-iextensionstatemodel</guid>
		<description><![CDATA[Description/Implementation IExtensionStateModel is a fairly useful feature in Common Navigator Framework that we could make use of when dealing with multiple content provider. It allows clients to coordinate state across components that are part of the same logical extension.[1] That &#8230; <a href="http://qiuyie.wordpress.com/2007/04/24/sample-usage-of-iextensionstatemodel/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=4&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!518DA79C4C83ED06!466" class="bvMsg">
<h2><font color="#000000" size="5"><em>Description/Implementation</em></font></h2>
<p><font face="Geneva, Arial, Sans-serif"><span style="color:blue;font-family:'Courier New';"><u><font face="Geneva, Arial, Sans-serif">IExtensionStateModel</font></u></span><font color="#000000"> is a fairly useful feature in Common Navigator Framework that we could make use of when dealing with multiple content provider.</font></font> </p>
<p><font face="Geneva, Arial, Sans-serif" color="#000000" size="2">It allows clients to coordinate state across components that are part of the same logical extension.</font><a title="" href="http://qiuyie.spaces.live.com/mmm2007-04-13_21.29/#_ftn1"><span><span><span><span style="font-size:10pt;font-family:'Times New Roman';"><u><font face="Geneva, Arial, Sans-serif" color="#0000ff">[1]</font></u></span></span></span></span></a> </p>
<p><font face="Geneva, Arial, Sans-serif" color="#000000" size="2">That is, a content provider might vary how it exposes its content based on the state of a specific property in the model. Interested parties may add themselves as </font><a title="interface in org.eclipse.jface.util"><code><u><font face="Geneva, Arial, Sans-serif" color="#0000ff" size="2">IPropertyChangeListener</font></u></code></a><font face="Geneva, Arial, Sans-serif" color="#000000" size="2"><font face="Verdana, Geneva, Arial, Sans-serif"> </font>to track changes in the state model.</font> </p>
<p><font size="2"><font face="Geneva, Arial, Sans-serif"><font color="#000000">For example, if we want multiple content provider to take instant adjustments and refresh themselves within a specific scope of tree structure and based on a centralized state change, say a Boolean value on one extension, we could simply register a Boolean value to a specific </font><span style="color:blue;font-family:'Courier New';"><u><font face="Geneva, Arial, Sans-serif">IExtensionStateModel</font></u> </span><font color="#000000">of the sharing content service</font></font></font> </p>
<blockquote>
<p><font size="2"><font face="Times New Roman" color="#000000"> </font></font><font size="1"> <font face="Times New Roman"><b><span style="color:#7f0055;">public</span></b><font color="#000000"> </font><b><span style="color:#7f0055;">void</span></b><font color="#000000"> init(IViewPart view) &#123;</font></font> </font></p>
<div><font size="1"><font face="Times New Roman"><span><font color="#000000">                </font></span><b><span style="color:#7f0055;">this</span></b><font color="#000000">.</font><span style="color:#0000c0;">view</span><font color="#000000"> = view;</font></font> </font></div>
<div><font size="1"><font face="Times New Roman"><span><font color="#000000">                </font></span><b><span style="color:#7f0055;">if</span></b><font color="#000000"> (view </font><b><span style="color:#7f0055;">instanceof</span></b><font color="#000000"> CommonNavigator) &#123;</font></font> </font></div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>        </span><span>        </span>IExtensionStateModel stateModel = ((CommonNavigator)view).getNavigatorContentService().findStateModel(DSEPlugin.</font><i><span style="color:#0000c0;">SERVERS_VIEW_CONTENT_EXTENSION_ID</span></i><font color="#000000">);</font></font> </font></div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>                        </span>stateModel.setBooleanProperty(DSEPlugin.</font><i><span style="color:#0000c0;">PROP_SHOW_CATEGORIES</span></i><font color="#000000">,</font></font> </font></div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>                                        </span><span style="background:silver;">currentState</span>);</font></font> </font></div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>                </span>&#125;</font></font> </font></div>
<div><font color="#000000"><font face="Times New Roman"><font size="1"><span>        </span>&#125;</font></font></font></div>
<div><font face="Times New Roman" color="#000000" size="1"></font> </div>
<div><font face="Times New Roman" color="#000000" size="2"> </font> <font face="Times New Roman" color="#000000" size="1">/*</font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span><span> </span>* The state model stores properties associated with the extension. Each</font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span><span> </span>* content extension has its own contained state model. Components of the</font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span><span> </span>* extension (content provider, label provider, action providers, etc) may</font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span><span> </span>* attach themselves as listeners to the model </font></font></font></div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span><span> </span>* and respond to changes to the values of the properties.</font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span><span> </span>* </font></font></font></div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>        </span><span> </span>* </font><b><span style="color:#7f9fbf;">@param</span></b><font color="#000000"> anExtensionId</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>        </span><span> </span>*<span>            </span>The extension id defined by a </font><span style="color:#7f7f9f;"><b></b></span><font color="#000000">navigatorContent</font><span style="color:#7f7f9f;"></span></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span><span> </span>*<span>            </span>extension.</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>        </span><span> </span>* </font><b><span style="color:#7f9fbf;">@return</span></b><font color="#000000"> The state model for the given extension id.</font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span><span> </span>*/</font></font></font> </div>
<div><font face="Times New Roman" color="#000000" size="1">IExtensionStateModel findStateModel(String anExtensionId);</font></div>
</blockquote>
<p><font face="Times New Roman" color="#000000" size="2"> </font> </p>
<p><font face="Geneva, Arial, Sans-serif" color="#000000" size="2">Then </font><a title="interface in org.eclipse.jface.util"><code><u><font face="Geneva, Arial, Sans-serif" color="#0000ff" size="2">IPropertyChangeListener</font></u></code></a><font face="Geneva, Arial, Sans-serif"><font color="#000000" size="2"> could be added from another contentProvider to receive notification on the state model change, and take corresponding adjustments.</font> </font></p>
<blockquote>
<div><font face="Times New Roman" color="#000000" size="2"> </font> <font size="1"><font face="Times New Roman"><b><span style="color:#7f0055;">private</span></b><font color="#000000"> IPropertyChangeListener </font><span style="color:#0000c0;">mPropertyChangeListener</span><font color="#000000"> = </font><b><span style="color:#7f0055;">new</span></b><font color="#000000"> IPropertyChangeListener() &#123;</font></font></font> </div>
<div><font face="Times New Roman" color="#000000" size="1"> </font> </div>
<div><font size="1"><font face="Times New Roman"><span><font color="#000000">                </font></span><b><span style="color:#7f0055;">public</span></b><font color="#000000"> </font><b><span style="color:#7f0055;">void</span></b><font color="#000000"> propertyChange(PropertyChangeEvent event) &#123;</font></font></font> </div>
<div><font size="1"><font color="#3f5fbf"><font face="Times New Roman"><span>                        </span>//DO something</font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>                </span>&#125;</font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span>&#125;;</font></font></font> </div>
<div><font face="Times New Roman" color="#000000" size="1"> </font> </div>
<div><font size="1"><font face="Times New Roman"><b><span style="color:#7f0055;">if</span></b><font color="#000000"> (</font><span style="color:#0000c0;">mViewer</span><font color="#000000"> </font><b><span style="color:#7f0055;">instanceof</span></b><font color="#000000"> CommonViewer) &#123;</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>                </span>IExtensionStateModel stateModel = ((CommonViewer) </font><span style="color:#0000c0;">mViewer</span><font color="#000000">)</font></font></font> </div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>                                </span>.getNavigatorContentService().findStateModel(</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><span><font color="#000000">                                                </font></span><i><span style="color:#0000c0;">DSE_VIEW_CONTENT_EXTENSION_ID</span></i><font color="#000000">);</font></font></font> </div>
<div><font size="1"><font face="Times New Roman"><font color="#000000"><span>                </span>stateModel.addPropertyChangeListener(</font><span style="color:#0000c0;">mPropertyChangeListener</span><font color="#000000">);</font></font></font> </div>
<div><span><font face="Times New Roman" color="#000000" size="1">                </font></span></div>
<div><font size="1"><font color="#000000"><font face="Times New Roman"><span>        </span>&#125;</font></font></font></div>
</blockquote>
<div></div>
<p><font face="Times New Roman" color="#000000" size="1"></p>
<div>
<hr align="left" width="33%" size="1" />
</div>
<p></font></p>
<div>
<p><a title="" href="http://qiuyie.spaces.live.com/mmm2007-04-13_21.29/#_ftnref1"><span><span><span><span style="font-size:10pt;font-family:'Times New Roman';"><u><font color="#0000ff">[1]</font></u></span></span></span></span></a><font face="Times New Roman" color="#000000" size="2"> Eclipse Platform API specification &#8211; IExtensionStateModel</font></p>
</div>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/qiuyie.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/qiuyie.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qiuyie.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qiuyie.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qiuyie.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qiuyie.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qiuyie.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qiuyie.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qiuyie.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qiuyie.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qiuyie.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qiuyie.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qiuyie.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qiuyie.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qiuyie.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qiuyie.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=4&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qiuyie.wordpress.com/2007/04/24/sample-usage-of-iextensionstatemodel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9c513a35f8fe4c7b7164a3c262032be0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qiuyie</media:title>
		</media:content>
	</item>
		<item>
		<title>Service Component Architecture</title>
		<link>http://qiuyie.wordpress.com/2006/12/03/service-component-architecture/</link>
		<comments>http://qiuyie.wordpress.com/2006/12/03/service-component-architecture/#comments</comments>
		<pubDate>Sun, 03 Dec 2006 12:48:45 +0000</pubDate>
		<dc:creator>qiuyie</dc:creator>
				<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://qiuyie.wordpress.com/2006/12/03/service-component-architecture</guid>
		<description><![CDATA[Service Component Architecture Level: Advanced Contributors: BEA Systems, IBM, IONA, Oracle, SAP AG, Siebel Systems, Sybase In response to requests from customers and Independent Software Vendor (ISV) partners, BEA, IBM, IONA, Oracle, SAP, Siebel Systems, and Sybase are collaborating on &#8230; <a href="http://qiuyie.wordpress.com/2006/12/03/service-component-architecture/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=11&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!518DA79C4C83ED06!344" class="bvMsg">
<div>
<table cellspacing="0" cellpadding="0" width="100%" border="0">
<tbody>
<tr valign="top">
<td width="100%">
<h1>
<h1>Service Component Architecture</h1>
</h1>
<p><img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="1" /> </p>
<td width="192"><a href="http://www.ibm.com/developerworks/"></a></tbody>
</table>
<table cellspacing="0" cellpadding="0" width="100%" border="0">
<tbody>
<tr valign="top">
<td width="10"><img height="1" alt="" src="http://www.ibm.com/i/c.gif" width="10" /> </p>
<td width="100%">
<p>Level: Advanced </p>
<p>Contributors: BEA Systems, IBM, IONA, Oracle, SAP AG, Siebel Systems, Sybase </p>
<p>In response to requests from customers and Independent Software Vendor (ISV) partners, BEA, IBM, IONA, Oracle, SAP, Siebel Systems, and Sybase are collaborating on specifications for building systems that use a Service-Oriented Architecture (SOA), which aim to provide developers with simpler and more powerful ways of constructing applications based on SOA. These specifications are published under royalty-free terms. </p>
<p><a><span><font face="Arial" size="4">Service Component Architecture: Build systems using SOA</font></span></a> </p>
<p>Service Component Architecture (SCA) is a set of specifications which describe a model for building applications and systems using a Service-Oriented Architecture. SCA extends and complements prior approaches to implementing services, and SCA builds on open standards such as Web services. </p>
<p>SCA encourages an SOA organization of business application code based on components that implement business logic, which offer their capabilities through service-oriented interfaces and which consume functions offered by other components through service-oriented interfaces, called service references. SCA divides up the steps in building a service-oriented application into two major parts: </p>
<ul>
<li>The <b>implementation</b> of components which provide services and consume other services
<li>The <b>assembly</b> of sets of components to build business applications, through the <b>wiring</b> of service references to services. </li>
</ul>
<p>SCA emphasizes the decoupling of service implementation and of service assembly from the details of infrastructure capabilities and from the details of the access methods used to invoke services. SCA components operate at a business level and use a minimum of middleware APIs.<br /><a><b>Figure 1. Service Component Architecture</b></a><br /><img height="319" alt="Service Component Architecture" src="http://www-128.ibm.com/developerworks/library/specification/ws-sca/figure1.gif" width="572" /> </p>
<p>SCA supports service implementations written using any one of many programming languages, both including conventional object-oriented and procedural languages such as Java™, PHP, C++, COBOL, XML-centric languages such as BPEL and XSLT, and also declarative languages such as SQL and XQuery. SCA also supports a range of programming styles, including asynchronous and message-oriented styles, in addition to the synchronous call-and-return style. </p>
<p>SCA supports bindings to a wide range of access mechanisms used to invoke services. These include Web services, Messaging systems and CORBA IIOP. Bindings are handled declaratively and are independent of the implementation code. Infrastructure capabilities, such as Security, Transactions and the use of Reliable Messaging are also handled declaratively and are separated from the implementation code. SCA defines the usage of infrastructure capabilities through the use of Policies, which are designed to simplify the mechanism by which the capabilities are applied to business systems. </p>
<p>SCA also promotes the use of Service Data Objects to represent the business data that forms the parameters and return values of services, providing uniform access to business data to complement the uniform access to business services offered by SCA itself. </p>
<p>The SCA specification is divided into a number of documents, each dealing with a different aspect of SCA. The Assembly Model deals with the linking of components through wiring. The Assembly Model is independent of implementation language. The Client and Implementation specification deals with the implementation of services and of service clients &#8212; each implementation language has its own Client and Implementation specification, which describes the SCA model for that language. </p>
<p>The current SCA specifications are published at a version 0.9 level, indicating that the specifications are not in their final form. The specifications are published with the intent of getting feedback from the community in order to ensure that the eventual version 1.0 level of the specifications more fully meets the needs of developers and businesses.</p>
</p>
</p>
</td>
</tbody>
</table>
</div>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/qiuyie.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/qiuyie.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qiuyie.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qiuyie.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qiuyie.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qiuyie.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qiuyie.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qiuyie.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qiuyie.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qiuyie.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qiuyie.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qiuyie.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qiuyie.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qiuyie.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qiuyie.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qiuyie.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=11&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qiuyie.wordpress.com/2006/12/03/service-component-architecture/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9c513a35f8fe4c7b7164a3c262032be0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qiuyie</media:title>
		</media:content>

		<media:content url="http://www.ibm.com/i/c.gif" medium="image" />

		<media:content url="http://www.ibm.com/i/c.gif" medium="image" />

		<media:content url="http://www-128.ibm.com/developerworks/library/specification/ws-sca/figure1.gif" medium="image">
			<media:title type="html">Service Component Architecture</media:title>
		</media:content>
	</item>
		<item>
		<title>Memo: Setting up an OpenLDAP server</title>
		<link>http://qiuyie.wordpress.com/2006/11/20/memo-setting-up-an-openldap-server/</link>
		<comments>http://qiuyie.wordpress.com/2006/11/20/memo-setting-up-an-openldap-server/#comments</comments>
		<pubDate>Mon, 20 Nov 2006 13:25:25 +0000</pubDate>
		<dc:creator>qiuyie</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://qiuyie.wordpress.com/2006/11/20/memo-setting-up-an-openldap-server</guid>
		<description><![CDATA[To create and run an LDAP server, you must first download and install OpenLDAP to your hard-disk. After installation, you need to do some configuration settings: Copy the sybase.schema file into the schema folder Modify the slapd.conf file: include &#34;sybase.schema&#34; &#8230; <a href="http://qiuyie.wordpress.com/2006/11/20/memo-setting-up-an-openldap-server/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=10&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!518DA79C4C83ED06!311" class="bvMsg">
<p><span lang="EN-US" style="color:black;font-family:Arial;"><font size="2">To create and run an LDAP server, you must first download and install OpenLDAP to your hard-disk.</font></span> </p>
<p><span lang="EN-US" style="color:black;font-family:Arial;"></span><span lang="EN-US" style="color:black;font-family:Arial;"><font size="2">After installation, you need to do some configuration settings:</font></span> </p>
<ol>
<li><span lang="EN-US" style="font-family:Arial;"><font size="2">Copy the sybase.schema file into the schema folder</font></span>
<li><span lang="EN-US" style="font-family:Arial;"><font size="2">Modify the slapd.conf file:</font></span>
<ul>
<li><span lang="EN-US" style="font-family:Arial;"><font size="2">include &quot;sybase.schema&quot; </font></span>
<li><span lang="EN-US" style="font-family:Arial;"><font size="2">define BDB settings(<b>suffix, rootdn &amp; rootpw</b>), the rootdn is the DN that you would specify with the -D option when adding an entry</font></span>
<li><span lang="EN-US" style="font-family:Arial;"><font size="2">specify other settings if it is needed(e.g. sizelimit, access control)</font></span></ul>
<li><span lang="EN-US" style="font-family:Arial;"><font size="2">Run the server using &quot;<b>slapd -d 1</b>&quot; command, this will parse the configuration file and initialize all the settings</font></span><span lang="EN-US" style="color:black;font-family:Arial;"><font size="2"> </font></span>
<li><span lang="EN-US" style="font-family:Arial;"><font size="2">Add initial entries to your directory:</font></span>
<ul>
<li><span lang="EN-US" style="font-family:Arial;"></span><span lang="EN-US" style="color:black;font-family:Arial;"><font size="2">create an LDIF file (e.g. sybase.ldif), define the entries info into the ldif file. Make sure you start adding from a top-down sequence and don&#8217;t violet the objectClass settings.</font></span><span lang="EN-US" style="color:black;font-family:Arial;"><font size="2">
<li>run command &quot;<b>ldapadd -D [rootdn] -w [rootpw] -f [file name]</b>&quot; to add the entries (<i>for example:<span> ldapadd -D &quot;cn=Test,dc=sybase,dc=com&quot; -w secret -f sybase.ldif)</span></i></li>
<p></font> </p>
<p></span></li>
</ul>
<p><span lang="EN-US" style="color:black;font-family:Arial;"><font size="2"> </font></span> <span lang="EN-US" style="color:black;font-family:Arial;"><font size="2">If success, you will be able to browse the results through &quot;<b>ldapsearch -x -b &#8216;dc=sybase,dc=com&#8217; &#8216;(objectclass=*)</b>&quot;</font></span><span lang="EN-US"></span></p>
</li>
</ol>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/qiuyie.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/qiuyie.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qiuyie.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qiuyie.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qiuyie.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qiuyie.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qiuyie.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qiuyie.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qiuyie.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qiuyie.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qiuyie.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qiuyie.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qiuyie.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qiuyie.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qiuyie.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qiuyie.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=10&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qiuyie.wordpress.com/2006/11/20/memo-setting-up-an-openldap-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9c513a35f8fe4c7b7164a3c262032be0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qiuyie</media:title>
		</media:content>
	</item>
		<item>
		<title>webapp连MySQL 中文乱码问题总结</title>
		<link>http://qiuyie.wordpress.com/2006/07/26/webapp%e8%bf%9emysql-%e4%b8%ad%e6%96%87%e4%b9%b1%e7%a0%81%e9%97%ae%e9%a2%98%e6%80%bb%e7%bb%93/</link>
		<comments>http://qiuyie.wordpress.com/2006/07/26/webapp%e8%bf%9emysql-%e4%b8%ad%e6%96%87%e4%b9%b1%e7%a0%81%e9%97%ae%e9%a2%98%e6%80%bb%e7%bb%93/#comments</comments>
		<pubDate>Wed, 26 Jul 2006 16:09:25 +0000</pubDate>
		<dc:creator>qiuyie</dc:creator>
				<category><![CDATA[J2EE]]></category>

		<guid isPermaLink="false">http://qiuyie.wordpress.com/2006/07/26/webapp%e8%bf%9emysql-%e4%b8%ad%e6%96%87%e4%b9%b1%e7%a0%81%e9%97%ae%e9%a2%98%e6%80%bb%e7%bb%93</guid>
		<description><![CDATA[困扰了我两天的MySQL乱码问题终于攻破，在此自我陶醉一下。哎，可惜了当时在场的3人无人能体会此项伟大突破的历史意义。   anyway 还是值得总结一下。   mysql字符集机制设定的“独特性”让我这个原先自认为精通webapp乱码问题的人也头痛了一番。   它的独特性体现在已下几个方面： 存在不同级别的默认设置。MySQL4.0以后的对数据库字符集存在4+1个级别的支持。a) 系统级：由/etc/my.cf；windows下为%MySQLHOMEmy.ini 系统配置文件定义b) character_set_server(服务器)：这是设置服务器使用的字符集c) character_set_client(客户端) ：这是设置客户端发送查询使用的字符集d) character_set_connection：这是设置服务器需要将收到的查询串转换成的字符集 e) character_set_results ：这是设置服务器要将结果数据转换到的字符集，转换后才发送给客户端  特殊的字符集转换流程。client(如servlet)发送一个查询 -&#62; 服务器收到查询，将查询串从character_set_client 转换到character_set_connection，然后执行转换后的查询 -&#62; 服务器将结果数据转换到character_set_results字符集后发送回客户端。  mySQL乱码问题分析解决： 假设在webapp应用中的所有jsp页面都采用gb2312编码，并构建全局过滤器过滤所有请求的编码格式为gb2312。 MySQL用 alter database dbName character set gb2312 修改了数据库的字符集编码，以存放中文字符。 那么在正常情况下,查看数据库各级别字符集支持 mysql&#62; SHOW VARIABLES LIKE ‘character_set_%’;mysql&#62; &#8230; <a href="http://qiuyie.wordpress.com/2006/07/26/webapp%e8%bf%9emysql-%e4%b8%ad%e6%96%87%e4%b9%b1%e7%a0%81%e9%97%ae%e9%a2%98%e6%80%bb%e7%bb%93/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=9&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!518DA79C4C83ED06!217" class="bvMsg">
<div>困扰了我两天的MySQL乱码问题终于攻破，在此自我陶醉一下。哎，可惜了当时在场的3人无人能体会此项伟大突破的历史意义。</div>
<div> </div>
<div>anyway 还是值得总结一下。</div>
<div> </div>
<div>mysql字符集机制设定的“独特性”让我这个原先自认为精通webapp乱码问题的人也头痛了一番。</div>
<div> </div>
<div>它的独特性体现在已下几个方面：</div>
<ol>
<li><strong>存在不同级别的默认设置。MySQL4.0以后的对数据库字符集存在4+1个级别的支持。<br /></strong><font color="#0000ff">a) 系统级：</font>由/etc/my.cf；windows下为%MySQLHOMEmy.ini 系统配置文件定义<br /><font color="#0000ff">b) character_set_server(服务器)：</font>这是设置服务器使用的字符集<br /><font color="#0000ff">c) character_set_client(客户端) ：</font>这是设置客户端发送查询使用的字符集<br /><font color="#0000ff">d) character_set_connection：</font>这是设置服务器需要将收到的查询串转换成的字符集 <br /><font color="#0000ff">e) character_set_results ：</font>这是设置服务器要将结果数据转换到的字符集，转换后才发送给客户端
<li><strong> 特殊的字符集转换流程。</strong><br />client(如servlet)发送一个查询 -&gt; 服务器收到查询，将查询串从character_set_client 转换到character_set_connection，然后执行转换后的查询 -&gt; 服务器将结果数据转换到character_set_results字符集后发送回客户端。 </li>
</ol>
<p> mySQL乱码问题分析解决： </p>
<ul>
<li>假设在webapp应用中的所有jsp页面都采用gb2312编码，并构建全局过滤器过滤所有请求的编码格式为gb2312。
<li>MySQL用<strong> </strong>alter database<strong> </strong><em>dbName </em>character set gb2312 修改了数据库的字符集编码，以存放中文字符。
<li>那么在正常情况下,查看数据库各级别字符集支持 mysql&gt; SHOW VARIABLES LIKE ‘character_set_%’;<br />mysql&gt; SHOW VARIABLES LIKE ‘collation_%’;<br />会发现所有级别默认设定为UTF-8，在CRUD操作过程中这当然会导致编码冲突并产生乱码。
<li>那么我们自然会想到将所有级别的字符集设定为gb2312。<br /><font color="#ff0000"><strong>set character_set_client = gb2312<br />set character_set_server = gb2312<br />set character_set_connection = gb2312 <br />set character_set_results = gb2312</strong></font>
<li>ok 设定完后，调试发现仍然存在乱码？ 那么这是为什么？其实问题出在系统级的字符集设定上。我的理解是，当client(这里当然就是webapp)以任何方式与MySQL建立请求，并用SQL进行CRUD操作时，系统会预先由MySQL的预设系统级字符编码（latin）来做一次转换。那么原先按gb2312编码的字符会被按照latin来解码，这时的字符已经为乱码。
<li>所以，必须去修改my.ini文件里的 <font color="#ff0000"><strong>default-character-set=gb2312</strong> </font><font color="#000000">或者在命令行输入<strong><font color="#ff0000">mysqld &#8211;default-character-set=latin1</font></strong></font></li>
</li>
</li>
</ul>
<p><font color="#000000"></p>
<p>不查manual的话，这最后的一条还真是很难想到。 </p>
<p>实际项目过程中确实会碰到许多问题并逐步发掘到需要学习的东西，“实践中学习”这句话说得还是极其有道理的。 </p>
<p><font color="#0000ff">prospective topic next week &#8212; hibernate + struts应用的lazyinitialization问题</font></p>
<p></font></div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/qiuyie.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/qiuyie.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qiuyie.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qiuyie.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qiuyie.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qiuyie.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qiuyie.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qiuyie.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qiuyie.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qiuyie.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qiuyie.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qiuyie.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qiuyie.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qiuyie.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qiuyie.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qiuyie.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=9&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qiuyie.wordpress.com/2006/07/26/webapp%e8%bf%9emysql-%e4%b8%ad%e6%96%87%e4%b9%b1%e7%a0%81%e9%97%ae%e9%a2%98%e6%80%bb%e7%bb%93/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9c513a35f8fe4c7b7164a3c262032be0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qiuyie</media:title>
		</media:content>
	</item>
		<item>
		<title>Model with the Eclipse Modeling Framework(EMF)</title>
		<link>http://qiuyie.wordpress.com/2006/07/23/model-with-the-eclipse-modeling-frameworkemf/</link>
		<comments>http://qiuyie.wordpress.com/2006/07/23/model-with-the-eclipse-modeling-frameworkemf/#comments</comments>
		<pubDate>Sun, 23 Jul 2006 07:17:44 +0000</pubDate>
		<dc:creator>qiuyie</dc:creator>
				<category><![CDATA[Eclipse Plugin/RCP]]></category>

		<guid isPermaLink="false">http://qiuyie.wordpress.com/2006/07/23/model-with-the-eclipse-modeling-frameworkemf</guid>
		<description><![CDATA[Just what is EMF anyway?   The Eclipse Modeling Framework (EMF) is an open source framework targeting Model-Driven Architecture (MDA) development. For the few of us lucky enough to get a UML model, it can help us turn the documentation &#8230; <a href="http://qiuyie.wordpress.com/2006/07/23/model-with-the-eclipse-modeling-frameworkemf/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=8&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!518DA79C4C83ED06!215" class="bvMsg">
<p><a><span><font face="Arial" color="#000000" size="4">Just what is EMF anyway?</font></span></a> </p>
<p>  </p>
<p>The Eclipse Modeling Framework (EMF) is an open source framework targeting Model-Driven Architecture (MDA) development. For the few of us lucky enough to get a UML model, it can help us turn the documentation into code. For the rest of us, it is another tool to convince your boss that spending the time to model your solution can really pay off. In addition to generating Java code with all sorts of bells and whistles, EMF can also generate Eclipse plug-ins and graphical, customizable editors. When you change your model (it happens, really), the EMF can keep the code synchronized to your model at the click of a button. </p>
<p>The EMF-generated code is no throw-away solution either. It supports the standard create, retrieve, update, and delete operations, and it also supports cardinality constraints, complex relationships and inheritance structures, containment definitions, and a suite of attribute descriptions. The generated code provides notification, referential integrity, and customizable persistence to XMI. All you have to do is create an object model, which you probably wanted to do anyway. </p>
<p>EMF is relatively new, but it shows promise and there are good signs for continued support. It is an implementation of a public standard, the Object Management Group&#8217;s Meta-Object Facility (MOF), and it now supports an enhancement of version 2. Further, EMF is the basis of the Eclipse projects EMF:XSD and Hyades, and is used by most of the IBM® WebSphere® Studio products. Version 2 development has already begun, and development builds should be coming out soon. The plans include better XML Schema support, more flexible code generation, and mapping between models. </p>
<hr />
<p> </p></div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/qiuyie.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/qiuyie.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qiuyie.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qiuyie.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qiuyie.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qiuyie.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qiuyie.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qiuyie.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qiuyie.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qiuyie.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qiuyie.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qiuyie.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qiuyie.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qiuyie.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qiuyie.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qiuyie.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=8&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qiuyie.wordpress.com/2006/07/23/model-with-the-eclipse-modeling-frameworkemf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9c513a35f8fe4c7b7164a3c262032be0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qiuyie</media:title>
		</media:content>
	</item>
		<item>
		<title>BMP(Bean Managed Persistency)调用过程</title>
		<link>http://qiuyie.wordpress.com/2006/05/20/bmpbean-managed-persistency%e8%b0%83%e7%94%a8%e8%bf%87%e7%a8%8b/</link>
		<comments>http://qiuyie.wordpress.com/2006/05/20/bmpbean-managed-persistency%e8%b0%83%e7%94%a8%e8%bf%87%e7%a8%8b/#comments</comments>
		<pubDate>Sat, 20 May 2006 09:52:16 +0000</pubDate>
		<dc:creator>qiuyie</dc:creator>
				<category><![CDATA[J2EE]]></category>

		<guid isPermaLink="false">http://qiuyie.wordpress.com/2006/05/20/bmpbean-managed-persistency%e8%b0%83%e7%94%a8%e8%bf%87%e7%a8%8b</guid>
		<description><![CDATA[BMP是EJB学习中比较吃力的一环,主要难点在与EntityBean中的callback()方法并不是由client直接调用的,所以要掌握BMP必须要理解容器的底层调用过程。   今天抽空把整个过程整理了一下，应该比较详细了。     BMP 服务器调用过程及生命周期   EJB服务器: Weblogic 8.xpooling设置: max 3, init 1cach设置: max 2     客户端main()方法调用过程 public static void main(String[] args) throws RemoteException,      FinderException, CreateException &#123;     AccountTestClient1 client = new AccountTestClient1();    AccountRemoteHome home = client.accountRemoteHome; &#8230; <a href="http://qiuyie.wordpress.com/2006/05/20/bmpbean-managed-persistency%e8%b0%83%e7%94%a8%e8%bf%87%e7%a8%8b/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=7&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!518DA79C4C83ED06!156" class="bvMsg">
<div>BMP是EJB学习中比较吃力的一环,主要难点在与EntityBean中的callback()方法并不是由client直接调用的,所以要掌握BMP必须要理解容器的底层调用过程。</div>
<div> </div>
<div>今天抽空把整个过程整理了一下，应该比较详细了。</div>
<div> </div>
<div> </div>
<div><strong>BMP 服务器调用过程及生命周期</strong></div>
<div> </div>
<div>EJB服务器: Weblogic 8.x<br />pooling设置: max 3, init 1<br />cach设置: max 2</div>
<div> </div>
<div> </div>
<div><strong>客户端main()方法调用过程</strong></div>
<div><strong>public static void main(String[] args) throws RemoteException,<br />      FinderException, CreateException &#123;</strong></div>
<div><strong><br />    AccountTestClient1 client = new AccountTestClient1();<br />    AccountRemoteHome home = client.accountRemoteHome;</strong></div>
<div><strong>    </strong></div>
<div><strong>//Step.1</strong></div>
<div><strong>    AccountRemote acc1 = home.create(&quot;acc1&quot;,&quot;QiuTian&quot;,3000);</strong></div>
<p><strong></strong>  </p>
<p><strong>//Step.2<br />    AccountRemote acc2 = home.create(&quot;acc2&quot;,&quot;QiuTian&quot;,4000);</strong> </p>
<p><strong></strong>  </p>
<p><strong>//Step.3<br />    AccountRemote acc3 = home.create(&quot;acc3&quot;,&quot;QiuTian&quot;,4000);</strong> </p>
<p><strong></strong>  </p>
<p><strong>//Step.4<br />    AccountRemote acc4 = home.create(&quot;acc4&quot;,&quot;QiuTian&quot;,4000);</strong> </p>
<p><strong></strong>  </p>
<p><strong>//Step.5</strong> </p>
<div><strong>    acc1.getAccountno();</strong></div>
<p><strong></strong>  </p>
<p><strong>//Step.6<br />    acc2.getAccountno();</strong> </p>
<p><strong></strong>  </p>
<p><strong>//Step.7<br />    AccountRemote acc5 = home.findByPrimaryKey(new AccountPK(&quot;acc4&quot;));</strong> </p>
<p><strong></strong>  </p>
<p><strong>//Step.8<br />    acc5.deposit(300);</strong> </p>
<p><strong></strong>  </p>
<p><strong>//Step.9<br />    acc3.withdraw(300);</strong> </p>
<div><strong>    </strong></div>
<div><strong>  &#125;<br />&#125;</strong></div>
<div><strong></strong> </div>
<div><strong></strong> </div>
<div><strong></strong> </div>
<div><strong></strong> </div>
<div><strong></strong> </div>
<div><strong></strong> </div>
<div><strong>服务器端控制台输出及注释</strong></div>
<p><strong></strong>  </p>
<p><font color="#ff0000">//instance(1)实例化</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> null newInstance() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> null setEntityContext() invo </p>
<div><font color="#ff0000">//此时pool中存在实例 (1)</font></div>
<div> </div>
<div> </div>
<div><strong><font color="#0000ff">Step.1</font></strong><br /><font color="#ff0000">//create方法被调用，创建新的acc1<br />//(1)被调入cache,同acc1绑定，成为准备状态<br />//此时pool中存在实例 none<br />//此时cache中存在实例(1)acc1</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc1 ejbCreate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc1 setAccountno() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc1 ejbPostCreate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc1 ejbStore() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc1 getAccountno() invoked</div>
<div><font color="#0000ff"><strong>End Step.1</strong></font></div>
<div><font color="#ff0000">//instance(2)实例化<br />//此时pool中存在实例 (2)<br />//此时cache中存在实例 (1)</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> null newInstance() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> null setEntityContext() invo</div>
<div> </div>
<div><strong><font color="#0000ff">Step.2</font></strong></div>
<div><font color="#ff0000">//create方法被调用，创建新的acc2<br />//(2)被调入cache,同acc2绑定，成为准备状态</font></div>
<div><font color="#ff0000"><br />//此时pool中存在实例 none<br />//此时cache中存在实例(1)acc1(2)acc2</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc2 ejbCreate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc2 setAccountno() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc2 ejbPostCreate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc2 ejbStore() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc2 getAccountno() invoked</div>
<div><strong><font color="#0000ff">End Step.2</font></strong></div>
<div> </div>
<div> </div>
<div><font color="#ff0000">//instance(3)实例化</font></div>
<div><font color="#ff0000"><br />//此时pool中存在实例 (3)<br />//此时cache中存在实例 (1)acc1(2)acc2</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> null newInstance() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> null setEntityContext() invoke</div>
<div> </div>
<div><strong><font color="#0000ff">Step.3</font></strong></div>
<div><font color="#ff0000">//create方法被调用，创建新的acc3<br />//(3)被调入cache，同acc3绑定,发现cache已满，容器根据LRU规则将(1)passivate到pool中</font></div>
<div><font color="#ff0000"><br />//此时pool中存在实例 (1)acc1<br />//此时cache中存在实例(2)acc2(3)acc3</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc3 ejbCreate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc3 setAccountno() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc1 ejbPassivate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc3 ejbPostCreate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc3 ejbStore() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc3 getAccountno() invoked</div>
<div><strong><font color="#0000ff">End Step.3</font></strong></div>
<div> </div>
<div><strong><font color="#0000ff">Step.4</font></strong><br /><font color="#ff0000">//create方法被调用，创建新的acc4<br />//(1)被调入cache，同acc4绑定，发现cache已满，容器根据LRU规则将(2)passivate到pool中</font></div>
<div><font color="#ff0000"><br />//此时pool中存在实例 (2)acc2<br />//此时cache中存在实例(1)acc4(3)acc3</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 ejbCreate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 setAccountno() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc2 ejbPassivate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 ejbPostCreate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 ejbStore() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 getAccountno() invoked</div>
<div><strong><font color="#0000ff">End Step.4</font></strong></div>
<div><strong><font color="#0000ff"></font></strong> </div>
<div><strong><font color="#0000ff">Step.5</font></strong></div>
<div><font color="#ff0000">//调用acc1.getAccountno()<br />//发现acc1已经不在cache中，(2)被Activate，将(2)同acc1绑定并调用load方法<br />//(2)被调入cache，同acc1绑定，发现cache已满，容器根据LRU规则将(3)passivate到pool中</font></div>
<div><font color="#ff0000">//business method被调用<br />//store被调用</font></div>
<div><font color="#ff0000"></font> </div>
<div><font color="#ff0000">//此时pool中存在实例 (3)acc3<br />//此时cache中存在实例(2)acc1(1)acc4</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc2 ejbActivate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc1 setAccountno() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc1 ejbLoade() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc3 ejbPassivate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc1 getAccountno() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc1 ejbStore() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc1 getAccountno() invoked</div>
<div><strong><font color="#0000ff">End Step.5</font></strong></div>
<div> </div>
<div><strong><font color="#0000ff">Step.6</font></strong> </div>
<div><font color="#ff0000">//调用acc2.getAccountno()<br />//发现acc2已经不在cache中，(3)被Activate，将(3)同acc2绑定并调用load方法<br />//(3)acc2被调入cache，发现cache已满，容器根据LRU规则将(1)passivate到pool中</font></div>
<div><font color="#ff0000">//business method被调用<br />//store被调用</font></div>
<div><font color="#ff0000"></font> </div>
<div><font color="#ff0000">//此时pool中存在实例 (1)acc4<br />//此时cache中存在实例(3)acc2(2)acc1</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc3 ejbActivate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc2 setAccountno() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc2 ejbLoade() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 ejbPassivate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc2 getAccountno() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc2 ejbStore() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc2 getAccountno() invoked</div>
<div><strong><font color="#0000ff">End Step.6</font></strong></div>
<div> </div>
<div><strong><font color="#0000ff">Step.7</font></strong><br /><font color="#ff0000">//findByPrimaryKey(&quot;acc4&quot;)方法被调用<br />//在数据库中查找acc4,找到后<br />//(1)被Activate，将(1)同acc4绑定<br />//调用load方法重新构造acc4实例<br />//(1)acc4被调入cache，发现cache已满，容器根据LRU规则将(2)passivate到pool中</font></div>
<div><font color="#ff0000">//此时pool中存在实例 (2)acc1<br />//此时cache中存在实例(1)acc4(3)acc2</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 findByPrimaryKey() invo<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 ejbActivate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 setAccountno() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 ejbLoade() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc1 ejbPassivate() invoked</div>
<div><strong><font color="#0000ff">End Step.7</font></strong></div>
<div> </div>
<div><strong><font color="#0000ff">Step.8</font></strong><br /><font color="#ff0000">//调用acc5.deposit()<br />//store()被调用</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 deposit() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 ejbStore() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b31c23">accountBeans.Account_6870og_Impl@1b31c23</a> acc4 getAccountno() invoked</div>
<div><strong><font color="#0000ff">End Step.8</font></strong></div>
<div> </div>
<div> </div>
<div><strong><font color="#0000ff">Step.9</font></strong></div>
<div><font color="#ff0000">//调用acc3.withdraw()<br />//发现acc3已不在cache中<br />//(2)被Activate，将(2)同acc3绑定并调用load方法<br />//(2)acc3被调入cache，发现cache已满，容器根据LRU规则将(3)passivate到pool中</font></div>
<div><font color="#ff0000">//business method withdraw()被调用<br />//store被调用</font></div>
<div><font color="#ff0000"></font> </div>
<div><font color="#ff0000">//此时pool中存在实例 (3)acc2<br />//此时cache中存在实例(2)acc3(1)acc4</font><br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc1 ejbActivate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc3 setAccountno() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc3 ejbLoade() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@fa385">accountBeans.Account_6870og_Impl@fa385</a> acc2 ejbPassivate() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc3 withdraw() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc3 ejbStore() invoked<br /><a href="mailto:accountBeans.Account_6870og_Impl@1b81d4f">accountBeans.Account_6870og_Impl@1b81d4f</a> acc3 getAccountno() invoked</div>
<div><strong><font color="#0000ff">End Step.9</font></strong></div>
<div> </div>
</p>
</p>
</p>
</p>
</p>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/qiuyie.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/qiuyie.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qiuyie.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qiuyie.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qiuyie.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qiuyie.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qiuyie.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qiuyie.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qiuyie.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qiuyie.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qiuyie.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qiuyie.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qiuyie.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qiuyie.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qiuyie.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qiuyie.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=7&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qiuyie.wordpress.com/2006/05/20/bmpbean-managed-persistency%e8%b0%83%e7%94%a8%e8%bf%87%e7%a8%8b/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9c513a35f8fe4c7b7164a3c262032be0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qiuyie</media:title>
		</media:content>
	</item>
		<item>
		<title>jsp乱码问题解答</title>
		<link>http://qiuyie.wordpress.com/2006/05/13/jsp%e4%b9%b1%e7%a0%81%e9%97%ae%e9%a2%98%e8%a7%a3%e7%ad%94/</link>
		<comments>http://qiuyie.wordpress.com/2006/05/13/jsp%e4%b9%b1%e7%a0%81%e9%97%ae%e9%a2%98%e8%a7%a3%e7%ad%94/#comments</comments>
		<pubDate>Sat, 13 May 2006 18:27:07 +0000</pubDate>
		<dc:creator>qiuyie</dc:creator>
				<category><![CDATA[J2EE]]></category>

		<guid isPermaLink="false">http://qiuyie.wordpress.com/2006/05/13/jsp%e4%b9%b1%e7%a0%81%e9%97%ae%e9%a2%98%e8%a7%a3%e7%ad%94</guid>
		<description><![CDATA[通常来说,当请求递交到服务器端&#8211;&#62;服务器端由servlet获得param&#8211;&#62;执行相应的process(包括对数据库的操作)&#8212;&#62;返回response显示给用户过程中 如果字符集不同会导致乱码问题。 当然,编码冲突主要因iso8859等西欧字符集和GBK或big5以及其他一些亚洲字符编码规则不同导致。但对于应用开发人员来说， 死抠编码解码规则没有太大意义，相比较而言，熟悉掌握整个http request/response过程中经过哪些字符/字节转换才会对乱码问题有更进一步的理解。以下是我结合实际问题并查阅相关文档后所总结的一些经验： 客户端通过表单提交的请求（参数）。这里的参数编码规则是由定义在html或jsp页面头部directives决定的，如果没有特别指定则默认为iso-8859-1服务器端接受请求，在某servlet中(jsp归结到底也是servlet)获得请求参数并进行相应逻辑操作。最常用的是request.getParameter(); 方法。 如果不加任何指定，这一方法其实完成了如下的几个工作 a.从请求报文中拿到参数的byte[] b.按照默认编码规则解码(iso-8859-1)得到一个String字符串 可能进行对数据库的操作，（增删改查），这里要注意同数据库的字符集统一，各数据库察看字符集的方法不同，一般都是通过查看数据字典获得 返回response给用户, 客户浏览器根据response的contentType属性制定的charset来显示response 那么为何有时候会出现乱码问题呢？ e.g: 从一个指定为gb2312编码的页面提交到服务器端，而服务器段直接调用request.getParameter()方法拿到字符串s,那么这个字符串直接返回到response一定会显示为乱码，因为原来的byte[]是gb2312的编码，用iso8859-1解码是一定会出乱码的。把字符串存入数据库和从数据库中取出字符串概念也是一样，如果数据库字符集是ascii那么rs.getString()拿到的字符串也是按ascii解码的,直接返回到response为gb2312的页面也会显示乱码. 解决方法通常有以下几种: 统一所有的字符集编码，推荐(utf-8)，可创建全局过滤器在过滤器中过滤所有的requestrequest.setCharacterEncoding(&#34;UTF-8&#34;)（需要与客户端浏览器的字符集编码统一）chain.doFilter(request,response);这里可以解决服务器段获取参数时编码冲突的问题，过滤后再调用request.getParameter()时在当前环境下就不会产生编码冲突 可修改相应服务器配置目录下的server.xml，以Tomcat为例: URIENcoding 设成UTF-8,原理同1 结合使用new String(byte[] byte, String charset) 和byte[] String.getBytes(String charset)方法。但要注意前者是解码（从字节流得到字符串）后者是编码（将字符串重新编码为字节流）举例来说，如果所拿到的字符串s是按iso-8859-1解码的，而想存入字符集为gb2312的数据库那么需要做如下转换String newS = new String(s.getBytes(&#8216;ISO-8859-1&#34;),&#34;gb2312&#34;)以保证拿到gb2312码的字符串，这样就不会出现由于调用数据库操作而导致的字符集问题。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=6&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!518DA79C4C83ED06!153" class="bvMsg">
<p><span style="font-size:12px;"><font face="Verdana">通常来说,当请求递交到服务器端&#8211;&gt;服务器端由servlet获得param&#8211;&gt;执行相应的process(包括对数据库的操作)&#8212;&gt;返回response显示给用户过程中 如果字符集不同会导致乱码问题。</p>
<p>当然,编码冲突主要因iso8859等西欧字符集和GBK或big5以及其他一些亚洲字符编码规则不同导致。但对于应用开发人员来说， 死抠编码解码规则没有太大意义，相比较而言，熟悉掌握整个http request/response过程中经过哪些字符/字节转换才会对乱码问题有更进一步的理解。以下是我结合实际问题并查阅相关文档后所总结的一些经验： </p>
<ol>
<li>客户端通过表单提交的请求（参数）。这里的参数编码规则是由定义在html或jsp页面头部directives决定的，如果没有特别指定则默认为iso-8859-1服务器端接受请求，在某servlet中(jsp归结到底也是servlet)获得请求参数并进行相应逻辑操作。最常用的是request.getParameter(); 方法。 如果不加任何指定，这一方法其实完成了如下的几个工作 a.从请求报文中拿到参数的byte[] b.按照默认编码规则解码(iso-8859-1)得到一个String字符串
<li>可能进行对数据库的操作，（增删改查），这里要注意同数据库的字符集统一，各数据库察看字符集的方法不同，一般都是通过查看数据字典获得
<li>返回response给用户, 客户浏览器根据response的contentType属性制定的charset来显示response</ol>
<p>那么为何有时候会出现乱码问题呢？</p>
<p>e.g: 从一个指定为gb2312编码的页面提交到服务器端，而服务器段直接调用request.getParameter()方法拿到字符串s,那么这个字符串直接返回到response一定会显示为乱码，因为原来的byte[]是gb2312的编码，用iso8859-1解码是一定会出乱码的。把字符串存入数据库和从数据库中取出字符串概念也是一样，如果数据库字符集是ascii那么rs.getString()拿到的字符串也是按ascii解码的,直接返回到response为gb2312的页面也会显示乱码.</p>
<p>解决方法通常有以下几种: </p>
<ol>
<li>统一所有的字符集编码，推荐(utf-8)，可创建全局过滤器<br />在过滤器中过滤所有的request<br />request.setCharacterEncoding(&quot;UTF-8&quot;)（需要与客户端浏览器的字符集编码统一）<br />chain.doFilter(request,response);<br />这里可以解决服务器段获取参数时编码冲突的问题，过滤后再调用request.getParameter()时在当前环境下就不会产生编码冲突
<li>可修改相应服务器配置目录下的server.xml，以Tomcat为例: URIENcoding 设成UTF-8,原理同1
<li>结合使用new String(byte[] byte, String charset) 和byte[] String.getBytes(String charset)方法。但要注意前者是解码（从字节流得到字符串）后者是编码（将字符串重新编码为字节流）<br />举例来说，如果所拿到的字符串s是按iso-8859-1解码的，而想存入字符集为gb2312的数据库那么需要做如下转换String newS = new String(s.getBytes(&#8216;ISO-8859-1&quot;),&quot;gb2312&quot;)以保证拿到gb2312码的字符串，这样就不会出现由于调用数据库操作而导致的字符集问题。</ol>
<p></font></span></p>
<p><ol></ol>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/qiuyie.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/qiuyie.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qiuyie.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qiuyie.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qiuyie.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qiuyie.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qiuyie.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qiuyie.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qiuyie.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qiuyie.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qiuyie.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qiuyie.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qiuyie.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qiuyie.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qiuyie.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qiuyie.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qiuyie.wordpress.com&amp;blog=16211252&amp;post=6&amp;subd=qiuyie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qiuyie.wordpress.com/2006/05/13/jsp%e4%b9%b1%e7%a0%81%e9%97%ae%e9%a2%98%e8%a7%a3%e7%ad%94/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9c513a35f8fe4c7b7164a3c262032be0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qiuyie</media:title>
		</media:content>
	</item>
	</channel>
</rss>
