<?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/"
	>

<channel>
	<title>fatkun&#039;s blog &#187; Google</title>
	<atom:link href="http://fatkun.com/tag/google/feed" rel="self" type="application/rss+xml" />
	<link>http://fatkun.com</link>
	<description>又一个 WordPress 站点</description>
	<lastBuildDate>Sun, 05 Feb 2012 15:21:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Fatkun图片批量下载谷歌浏览器扩展0.3版已更新</title>
		<link>http://fatkun.com/2010/11/batch-image-download-0-3.html</link>
		<comments>http://fatkun.com/2010/11/batch-image-download-0-3.html#comments</comments>
		<pubDate>Sun, 14 Nov 2010 11:18:13 +0000</pubDate>
		<dc:creator>fatkun</dc:creator>
				<category><![CDATA[网页前端]]></category>
		<category><![CDATA[Chrome Extensions]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[图片批量下载]]></category>
		<category><![CDATA[谷歌扩展]]></category>

		<guid isPermaLink="false">http://fatkun.com/?p=654</guid>
		<description><![CDATA[图片批量下载，可以找出当前页面的所有图片（Img标签）,提供按分辨率筛选图片，用另存为页面就可以把所有图片下载下来。 0.3版update:2010-11-14 添加过滤链接 保存输入的分辨率（在点“应用”按钮时自动保存，也可以在选项中保存） 在筛选的输入框中按回车相当于点“应用”按钮 0.3版插件地址：http://bath-image-download.googlecode.com/files/batch.crx 最新版可以留意此页面：http://fatkun.com/2010/09/batch-image-download.html]]></description>
			<content:encoded><![CDATA[<p>图片批量下载，可以找出当前页面的所有图片（Img标签）,提供按分辨率筛选图片，用另存为页面就可以把所有图片下载下来。</p>
<p><strong>0.3版update:2010-11-14</strong></p>
<ol>
<li>添加过滤链接</li>
<li>保存输入的分辨率（在点“应用”按钮时自动保存，也可以在选项中保存）</li>
<li>在筛选的输入框中按回车相当于点“应用”按钮</li>
</ol>
<p>0.3版插件地址：<a href="http://bath-image-download.googlecode.com/files/batch.crx">http://bath-image-download.googlecode.com/files/batch.crx</a></p>
<p>最新版可以留意此页面：<a href="http://fatkun.com/2010/09/batch-image-download.html">http://fatkun.com/2010/09/batch-image-download.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fatkun.com/2010/11/batch-image-download-0-3.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>谷歌宣布谷歌中国业务恢复正常</title>
		<link>http://fatkun.com/2010/01/google-of-china.html</link>
		<comments>http://fatkun.com/2010/01/google-of-china.html#comments</comments>
		<pubDate>Tue, 19 Jan 2010 04:12:58 +0000</pubDate>
		<dc:creator>fatkun</dc:creator>
				<category><![CDATA[胡言乱语]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google很受伤]]></category>
		<category><![CDATA[谷歌中国]]></category>
		<category><![CDATA[谷歌中国恢复]]></category>
		<category><![CDATA[谷歌退出]]></category>

		<guid isPermaLink="false">http://fatkun.com/?p=245</guid>
		<description><![CDATA[谷歌中国不走了！网上的评论由“谷歌真汉子”变为“谷歌真怂”。作为一个商业的公司，网友们把“不作恶”炒得太热了，好像google就一定不能“作恶”。而谷歌的这次行为被网友们视为“炒作”，我并不赞同或者否认，或者说我不关心。我只关心G`F`W今天又把哪几个网站OOXX了，政府又出了几条“利国利民”的政策。 从谷歌刚开始想要和政府谈判时我就打包票说了：“你丫傻B，和流氓讲道理，他只会和你耍流氓！”，这种行为是“不得人心”的，终究是要失败的！ 我承认我比较喜欢Google，google的很多产品我都有用到！Google搜索，Gmail，日历，Chrome，Rss Reader，还有将来会考虑的手机系统Android。这些都是免费的，发现越来越难离开它们，好用！简单！google的开源精神也许也发挥了不少作用！喜欢google的创新，喜欢google的工作环境（我也想去Google工作啊，可是我水平还需要提高）。。 “Google涉黄论”：OK，你确实是能从google上搜索到这些，但是你想想要屏蔽这些东西是多么困难？！又要保证快速的索引所有网页保证质量，又要过滤这部分东西，不少简单的关键词“一刀切”（绿霸），或者把所有黄色的图片都屏蔽了的！！ 而且看到 “可能吧” 说到CCAV的那些专家们刷关键字我就觉得恶心！中国的造假能力确实了不起！~ 以下新闻来源：http://www.cnbeta.com/articles/102445.htm 据法新社消息，当地时间18日下午，在宣布退出中国市场、员工停止工作一周后，美国网络巨头谷歌再次表示在中国的业务恢复正常运转。“在发表声明之后，我们给公司职员放了一段长假，以便运行测试和扫描，保证网络的安全可靠” ，谷歌在回复法新社的询问中说，“谷歌中国的职员现在都已经回到工作岗位，一切业务正常运行。” 上周，新京报报道称谷歌中国的工程师不再能进入公司的全球数据库，不能正常工作。美国国务院发言人克劳利15日宣布，最早可能在下周初将就谷歌事件向中国发出外交照会。这位发言人说，“它将表达我们对这一事件的关注，并要求中国提供信息，解释这一事件是如何发生的，以及他们准备怎么处理这一问题。”对此，中国表示谷歌事件不会影响中美关系，但是谷歌必须遵守中国的法律。商务部发言人上周五说，外国公司应该“尊重东道国的法律、公共利益、文化和传统，并为此承担社会责任”。]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;">谷歌中国不走了！网上的评论由“谷歌真汉子”变为“谷歌真怂”。作为一个商业的公司，网友们把“不作恶”炒得太热了，好像google就一定不能“作恶”。而谷歌的这次行为被网友们视为“炒作”，我并不赞同或者否认，或者说我不关心。我只关心G`F`W今天又把哪几个网站OOXX了，政府又出了几条“利国利民”的政策。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;">从谷歌刚开始想要和政府谈判时我就打包票说了：“你丫傻B，和流氓讲道理，他只会和你耍流氓！”，<strong>这种行为是“不得人心”的，终究是要失败的！</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;">我承认我比较喜欢Google，google的很多产品我都有用到！Google搜索，Gmail，日历，Chrome，Rss Reader，还有将来会考虑的手机系统Android。这些都是免费的，发现越来越难离开它们，好用！简单！google的开源精神也许也发挥了不少作用！喜欢google的创新，喜欢google的工作环境（我也想去Google工作啊，可是我水平还需要提高）。。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;">“Google涉黄论”：OK，你确实是能从google上搜索到这些，但是你想想要屏蔽这些东西是多么困难？！又要保证快速的索引所有网页保证质量，又要过滤这部分东西，不少简单的关键词“一刀切”（绿霸），或者把所有黄色的图片都屏蔽了的！！</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;">而且看到 “可能吧” 说到CCAV的那些专家们刷关键字我就觉得恶心！中国的造假能力确实了不起！~</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;"><span id="more-245"></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;">以下新闻来源：<a href="http://www.cnbeta.com/articles/102445.htm">http://www.cnbeta.com/articles/102445.htm</a></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;"><strong>据法新社消息，当地时间18日下午，在宣布退出中国市场、员工停止工作一周后，美国网络巨头谷歌再次表示在中国的业务恢复正常运转。</strong><br style="padding: 0px; margin: 0px;" />“在发表声明之后，我们给公司职员放了一段长假，以便运行测试和扫描，保证网络的安全可靠” ，谷歌在回复法新社的询问中说，“谷歌中国的职员现在都已经回到工作岗位，一切业务正常运行。”</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;">上周，新京报报道称谷歌中国的工程师不再能进入公司的全球数据库，不能正常工作。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />美国国务院发言人克劳利15日宣布，最早可能在下周初将就谷歌事件向中国发出外交照会。这位发言人说，“它将表达我们对这一事件的关注，并要求中国提供信息，解释这一事件是如何发生的，以及他们准备怎么处理这一问题。”<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />对此，中国表示谷歌事件不会影响中美关系，但是谷歌必须遵守中国的法律。商务部发言人上周五说，外国公司应该“尊重东道国的法律、公共利益、文化和传统，并为此承担社会责任”。</p>
]]></content:encoded>
			<wfw:commentRss>http://fatkun.com/2010/01/google-of-china.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>GAE-简单的留言板(Simple Guestbook)</title>
		<link>http://fatkun.com/2009/12/gae-guestbook.html</link>
		<comments>http://fatkun.com/2009/12/gae-guestbook.html#comments</comments>
		<pubDate>Sun, 20 Dec 2009 06:32:26 +0000</pubDate>
		<dc:creator>fatkun</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[留言本]]></category>

		<guid isPermaLink="false">http://fatkun.com/?p=154</guid>
		<description><![CDATA[这个例子其实就是Google官方给出来的例子~你可以在文档中看到，我在原例子的基础上添加了修改与删除功能~（...]]></description>
			<content:encoded><![CDATA[<p>这个例子其实就是Google官方给出来的例子~你可以在<a href="http://code.google.com/intl/zh-CN/appengine/docs/java/gettingstarted/" target="_blank">文档</a>中看到，我在原例子的基础上添加了修改与删除功能~（没判断权限~谁都可以删除~要判断也很简单&#8230;判断一下登陆的email）</p>
<p>我就不说那么详细了·官方例子说的已经很清楚了，需要源码的留下邮箱即可。</p>
<p>这个例子显示效果在此：<a href="http://1.latest.fatkuns.appspot.com/" target="_blank">http://1.latest.fatkuns.appspot.com/</a><br />
<img src="http://farm3.static.flickr.com/2771/4199535918_3d3cf61b53_o.jpg" alt="" /></p>
<p>这个例子涉及了</p>
<ol>
<li>如何使用用户服务（也就是使用google账号登陆~我有点担心的是别人伪造一个假的登录页面怎么办？放心，我做的那个是真的&#8230;- -!）</li>
<li>如何存储数据（使用JDO）</li>
<li>JSP</li>
<li>Servlet</li>
</ol>
<p><span id="more-154"></span></p>
<p>好~开始了~那些准备工作就不说了，创建项目，包名这些~</p>
<h2>一、要保存留言，我们需要创建一个这样的文件~Greeting.java</h2>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.fatkun.guestbook</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Date</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.jdo.annotations.IdGeneratorStrategy</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.jdo.annotations.IdentityType</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.jdo.annotations.PersistenceCapable</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.jdo.annotations.Persistent</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.jdo.annotations.PrimaryKey</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.google.appengine.api.users.User</span><span style="color: #339933;">;</span>
&nbsp;
@PersistenceCapable<span style="color: #009900;">&#40;</span>identityType <span style="color: #339933;">=</span> IdentityType.<span style="color: #006633;">APPLICATION</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Greeting <span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//主键的设置，自增的方式</span>
	@PrimaryKey
	@Persistent<span style="color: #009900;">&#40;</span>valueStrategy <span style="color: #339933;">=</span> IdGeneratorStrategy.<span style="color: #006633;">IDENTITY</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Long</span> id<span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">//其他的值设置一个@Persistent在前面就会保存到数据库里了</span>
	@Persistent
	<span style="color: #000000; font-weight: bold;">private</span> User author<span style="color: #339933;">;</span>
	@Persistent
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> content<span style="color: #339933;">;</span>
	@Persistent
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Date</span> date<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//下面是一些Getter,Setter方法，对于JDO是不需要的，只是为了方便你写程序</span>
	<span style="color: #000000; font-weight: bold;">public</span> Greeting<span style="color: #009900;">&#40;</span>User author, <span style="color: #003399;">String</span> content, <span style="color: #003399;">Date</span> date<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">author</span> <span style="color: #339933;">=</span> author<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">content</span> <span style="color: #339933;">=</span> content<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">date</span> <span style="color: #339933;">=</span> date<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">Long</span> getId<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> id<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setId<span style="color: #009900;">&#40;</span><span style="color: #003399;">Long</span> id<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">id</span> <span style="color: #339933;">=</span> id<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> User getAuthor<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> author<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setAuthor<span style="color: #009900;">&#40;</span>User author<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">author</span> <span style="color: #339933;">=</span> author<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getContent<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> content<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setContent<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> content<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">content</span> <span style="color: #339933;">=</span> content<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">Date</span> getDate<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> date<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setDate<span style="color: #009900;">&#40;</span><span style="color: #003399;">Date</span> date<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">date</span> <span style="color: #339933;">=</span> date<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>二、我们还要创建PMF.java用来取得PersistenceManager。官方说取这个东西要花费很多资源，所以只获得一个就好，单例模式~</h2>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.fatkun.guestbook</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.jdo.JDOHelper</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.jdo.PersistenceManagerFactory</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #008000; font-style: italic; font-weight: bold;">/**
 * 用来取得PersistenceManager
 * @author Administrator
 *
 */</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000000; font-weight: bold;">class</span> PMF <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> PersistenceManagerFactory pmfInstance <span style="color: #339933;">=</span> JDOHelper.<span style="color: #006633;">getPersistenceManagerFactory</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;transactions-optional&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> PMF<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> PersistenceManagerFactory get<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> pmfInstance<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>三、我们在war目录下新建一个guestbook.jsp用来显示所有留言</h2>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&lt;?</span>xml version<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;1.0&quot;</span> encoding<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;UTF-8&quot;</span> <span style="color: #339933;">?&gt;</span>
<span style="color: #339933;">&lt;%</span>@ page language<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;java&quot;</span> contentType<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/html; charset=UTF-8&quot;</span> pageEncoding<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;UTF-8&quot;</span><span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;%</span>@ page <span style="color: #000000; font-weight: bold;">import</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;java.util.List&quot;</span><span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;%</span>@ page <span style="color: #000000; font-weight: bold;">import</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;javax.jdo.PersistenceManager&quot;</span><span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;%</span>@ page <span style="color: #000000; font-weight: bold;">import</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;com.google.appengine.api.users.User&quot;</span><span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;%</span>@ page <span style="color: #000000; font-weight: bold;">import</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;com.google.appengine.api.users.UserService&quot;</span><span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;%</span>@ page <span style="color: #000000; font-weight: bold;">import</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;com.google.appengine.api.users.UserServiceFactory&quot;</span><span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;%</span>@ page <span style="color: #000000; font-weight: bold;">import</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;com.fatkun.guestbook.Greeting&quot;</span><span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;%</span>@ page <span style="color: #000000; font-weight: bold;">import</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;com.fatkun.guestbook.PMF&quot;</span><span style="color: #339933;">%&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;!</span>DOCTYPE html <span style="color: #000000; font-weight: bold;">PUBLIC</span> <span style="color: #0000ff;">&quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;</span> <span style="color: #0000ff;">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>html xmlns<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>head<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>meta http<span style="color: #339933;">-</span>equiv<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;Content-Type&quot;</span> content<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/html; charset=UTF-8&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;</span>title<span style="color: #339933;">&gt;</span>Google App Engine留言板 <span style="color: #339933;">-</span> fatkun.<span style="color: #006633;">com</span><span style="color: #339933;">&lt;/</span>title<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>head<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>body<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;%</span>
	UserService userService <span style="color: #339933;">=</span> UserServiceFactory.<span style="color: #006633;">getUserService</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	User user <span style="color: #339933;">=</span> userService.<span style="color: #006633;">getCurrentUser</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>user <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span>你好, <span style="color: #339933;">&lt;%=</span>user.<span style="color: #006633;">getNickname</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">%&gt;!</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;%=userService.createLogoutURL(request.getRequestURI())%&gt;&quot;</span><span style="color: #339933;">&gt;</span>退出<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span>.<span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;/</span>p<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;%</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
<span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span>你好<span style="color: #339933;">!</span> 你可以使用google账号<span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;%=userService.createLoginURL(request.getRequestURI())%&gt;&quot;</span><span style="color: #339933;">&gt;</span>登陆<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>p<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;%</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">%&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;%</span>
	PersistenceManager pm <span style="color: #339933;">=</span> PMF.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getPersistenceManager</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">//String query = &quot;select from &quot; + Greeting.class.getName()+&quot; order by id desc&quot;;</span>
	<span style="color: #666666; font-style: italic;">//也可以写成下面的形式</span>
	<span style="color: #003399;">String</span> query <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;select from com.fatkun.guestbook.Greeting order by id desc&quot;</span><span style="color: #339933;">;</span>
	List<span style="color: #339933;">&lt;</span>Greeting<span style="color: #339933;">&gt;</span> greetings <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>List<span style="color: #339933;">&lt;</span>Greeting<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#41;</span> pm.<span style="color: #006633;">newQuery</span><span style="color: #009900;">&#40;</span>query<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>greetings.<span style="color: #006633;">isEmpty</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span>还没有留言。<span style="color: #339933;">&lt;/</span>p<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;%</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>Greeting g <span style="color: #339933;">:</span> greetings<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>g.<span style="color: #006633;">getAuthor</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				out.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;p&gt;一位匿名人士说:&lt;/p&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
				out.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;p&gt;&lt;b&gt;&quot;</span><span style="color: #339933;">+</span>g.<span style="color: #006633;">getAuthor</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getNickname</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;&lt;/b&gt; 说:&lt;/p&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;del?id=&lt;%=g.getId()%&gt;&quot;</span><span style="color: #339933;">&gt;</span>删除<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span> <span style="color: #339933;">-</span> <span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;guestbook-modify.jsp?id=&lt;%=g.getId()%&gt;&quot;</span><span style="color: #339933;">&gt;</span>修改<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>blockquote<span style="color: #339933;">&gt;&lt;%=</span>g.<span style="color: #006633;">getContent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">%&gt;&lt;/</span>blockquote<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;%</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	pm.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">%&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;</span>form action<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;/add&quot;</span> method<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;post&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div<span style="color: #339933;">&gt;&lt;</span>textarea name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;content&quot;</span> rows<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;3&quot;</span> cols<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;60&quot;</span><span style="color: #339933;">&gt;&lt;/</span>textarea<span style="color: #339933;">&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div<span style="color: #339933;">&gt;&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;submit&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;我要留言&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>form<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;/</span>body<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>html<span style="color: #339933;">&gt;</span></pre></div></div>

<p>这里注意要引入自己使用的包~~GQL是针对对象来写查询语句的~~有点儿像Hibernate的HQL~</p>
<h2>四、没有内容怎么显示呢~我们加一个添加到数据库的GuestbookAddServlet.java</h2>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.fatkun.guestbook</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Date</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.jdo.PersistenceManager</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.servlet.ServletException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.servlet.http.HttpServlet</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.servlet.http.HttpServletRequest</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.servlet.http.HttpServletResponse</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.google.appengine.api.users.User</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.google.appengine.api.users.UserService</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.google.appengine.api.users.UserServiceFactory</span><span style="color: #339933;">;</span>
&nbsp;
@SuppressWarnings<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;serial&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> GuestbookAddServlet <span style="color: #000000; font-weight: bold;">extends</span> HttpServlet <span style="color: #009900;">&#123;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000066; font-weight: bold;">void</span> doPost<span style="color: #009900;">&#40;</span>HttpServletRequest req, HttpServletResponse resp<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> ServletException, <span style="color: #003399;">IOException</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">//取得用户Service，这里是Google的用户管理</span>
		UserService userService <span style="color: #339933;">=</span> UserServiceFactory.<span style="color: #006633;">getUserService</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//取得当前登录的用户，当不存在的时候为null</span>
		User user <span style="color: #339933;">=</span> userService.<span style="color: #006633;">getCurrentUser</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #003399;">String</span> content <span style="color: #339933;">=</span> req.<span style="color: #006633;">getParameter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;content&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">Date</span> date <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Date</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//创建一个Greeting对象</span>
		Greeting greeting <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Greeting<span style="color: #009900;">&#40;</span>user, content, date<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		PersistenceManager pm <span style="color: #339933;">=</span> PMF.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getPersistenceManager</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">//持久化~也就是把greeting添加进数据库</span>
			pm.<span style="color: #006633;">makePersistent</span><span style="color: #009900;">&#40;</span>greeting<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #009900;">&#123;</span>
			pm.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		resp.<span style="color: #006633;">sendRedirect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;guestbook.jsp&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>写完了上面这个文件，注意还得在web.xml加入下面的，要告诉服务器说，我在这里啊，你可以通过这个链接找我~~</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>add<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>com.fatkun.guestbook.GuestbookAddServlet<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-mapping<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>add<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;url-pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>/add<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/url-pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-mapping<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>这时，你应该就可以留言啦~~运行一下试试~~可以先在本地测试，再上传到GAE服务器上。</p>
<p>伍、我最后给出修改和删除的部分代码~其实就主要是数据库的问题~~</p>
<p>GuestbookModifyServlet.java</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000066; font-weight: bold;">void</span> doPost<span style="color: #009900;">&#40;</span>HttpServletRequest req, HttpServletResponse resp<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> ServletException, <span style="color: #003399;">IOException</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">Long</span> id <span style="color: #339933;">=</span> <span style="color: #003399;">Long</span>.<span style="color: #006633;">parseLong</span><span style="color: #009900;">&#40;</span>req.<span style="color: #006633;">getParameter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;id&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">String</span> content <span style="color: #339933;">=</span> req.<span style="color: #006633;">getParameter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;content&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//先获取PersistenceManager</span>
		PersistenceManager pm <span style="color: #339933;">=</span> PMF.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getPersistenceManager</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">//根据ID从数据库得到一条记录</span>
			Greeting greeting <span style="color: #339933;">=</span> pm.<span style="color: #006633;">getObjectById</span><span style="color: #009900;">&#40;</span>Greeting.<span style="color: #000000; font-weight: bold;">class</span>, id<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #666666; font-style: italic;">//修改记录</span>
			greeting.<span style="color: #006633;">setContent</span><span style="color: #009900;">&#40;</span>content<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">//当关闭pm的时候，会自动把已经修改的记录更新到数据库</span>
			pm.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		resp.<span style="color: #006633;">sendRedirect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;guestbook.jsp&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<p>GuestbookDeleteServlet.java</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000066; font-weight: bold;">void</span> doGet<span style="color: #009900;">&#40;</span>HttpServletRequest req, HttpServletResponse resp<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> ServletException, <span style="color: #003399;">IOException</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">Long</span> id <span style="color: #339933;">=</span> <span style="color: #003399;">Long</span>.<span style="color: #006633;">parseLong</span><span style="color: #009900;">&#40;</span>req.<span style="color: #006633;">getParameter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;id&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		PersistenceManager pm <span style="color: #339933;">=</span> PMF.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getPersistenceManager</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">//取得这条记录</span>
			Greeting greeting <span style="color: #339933;">=</span> pm.<span style="color: #006633;">getObjectById</span><span style="color: #009900;">&#40;</span>Greeting.<span style="color: #000000; font-weight: bold;">class</span>, id<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #666666; font-style: italic;">//删除</span>
			pm.<span style="color: #006633;">deletePersistent</span><span style="color: #009900;">&#40;</span>greeting<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">//关闭</span>
			pm.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		resp.<span style="color: #006633;">sendRedirect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;guestbook.jsp&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<p>好，一个简单的留言板就这样诞生了~~如果想弄得更加漂亮，就自己弄吧~~^_^<br />
我做的例子：<a href="http://1.latest.fatkuns.appspot.com/">http://1.latest.fatkuns.appspot.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fatkun.com/2009/12/gae-guestbook.html/feed</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
		<item>
		<title>开始学习Google App Engine(Java) &#8211; 准备篇</title>
		<link>http://fatkun.com/2009/12/the-first-of-google-app-engine-java.html</link>
		<comments>http://fatkun.com/2009/12/the-first-of-google-app-engine-java.html#comments</comments>
		<pubDate>Tue, 15 Dec 2009 12:40:01 +0000</pubDate>
		<dc:creator>fatkun</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false">http://fatkun.com/?p=132</guid>
		<description><![CDATA[发现我挺喜欢Google的东西~~也算一个G粉吧~~~好喜欢啊好喜欢·~好多免费的东西~~ 什么是Google App Engine? 按我的理解，简单的一句话就是Google提供一个网络平台，这个平台目前支持 Python、Java，我们可以通过编写程序运行在google的服务器上。 官方的介绍： Google App Engine 可让您在 Google 的基础架构上运行您的网络应用程序。App Engine 应用程序易于构建和维护，并可根据您的访问量和数据存储需要的增长轻松扩展。使用 Google App Engine，将不再需要维护服务器：您只需上传您的应用程序，它便可立即为您的用户提供服务。 您可以使用 Google 企业应用套件通过自己的域名（例如 http://www.example.com/）提供应用程序。或者，您可以使用 appspot.com 域上的免费域名来为您的应用程序提供服务。您可以与全世界的人共享您的应用程序，也可以限制为只有贵组织的成员可以访问。 Google App Engine 支持以几种编程语言编写的应用程序。通过 App Engine 的 Java 运行时环境，您可以使用标准 Java 技术（包括 JVM、Java servlet 和 Java 编程语言，或使用基于 JVM 的解释器或解译器的任何其他语言，例如 JavaScript 或 Ruby）构建应用程序。App Engine 还提供一个专用的 Python 运行时环境，该环境包括一个快速 Python 解释器和 Python 标准库。Java 和 Python 运行时环境构建为确保应用程序快速、安全运行，并不受系统上的其他应用程序的干扰。 在 App [...]]]></description>
			<content:encoded><![CDATA[<p>发现我挺喜欢Google的东西~~也算一个G粉吧~~~好喜欢啊好喜欢·~好多免费的东西~~</p>
<h2>什么是Google App Engine?</h2>
<blockquote><p>按我的理解，简单的一句话就是Google提供一个网络平台，这个平台目前支持 Python、Java，我们可以通过编写程序运行在google的服务器上。</p></blockquote>
<p><span id="more-132"></span></p>
<p><strong>官方的介绍：</strong></p>
<blockquote>
<p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 20px; margin: 0px;">Google App Engine 可让您在 Google 的基础架构上运行您的网络应用程序。App Engine 应用程序易于构建和维护，并可根据您的访问量和数据存储需要的增长轻松扩展。使用 Google App Engine，将不再需要维护服务器：您只需上传您的应用程序，它便可立即为您的用户提供服务。</p>
<p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 20px; margin: 0px;">您可以使用 <a style="color: #0000cc;" href="http://www.google.com/a/">Google 企业应用套件</a>通过自己的域名（例如 <code style="font-family: monospace; color: #007000; font-size: 10pt;">http://www.example.com/</code>）提供应用程序。或者，您可以使用 <code style="font-family: monospace; color: #007000; font-size: 10pt;">appspot.com</code> 域上的免费域名来为您的应用程序提供服务。您可以与全世界的人共享您的应用程序，也可以限制为只有贵组织的成员可以访问。</p>
<p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 20px; margin: 0px;">Google App Engine 支持以几种编程语言编写的应用程序。通过 App Engine 的 Java 运行时环境，您可以使用标准 Java 技术（包括 JVM、Java servlet 和 Java 编程语言，或使用基于 JVM 的解释器或解译器的任何其他语言，例如 JavaScript 或 Ruby）构建应用程序。App Engine 还提供一个专用的 Python 运行时环境，该环境包括一个快速 Python 解释器和 Python 标准库。Java 和 Python 运行时环境构建为确保应用程序快速、安全运行，并不受系统上的其他应用程序的干扰。</p>
<p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 20px; margin: 0px;">在 App Engine 中，您只需为您使用的资源付费。没有设置成本，也没有重复的费用。您的应用程序使用的资源，如存储空间和带宽以千兆字节衡量，并以有竞争力的费率收费。您可以控制您的应用程序可以消费的最大资源量，使其一直保持在预算范围内。</p>
<p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 20px; margin: 0px;">可以免费开始使用 App Engine。所有应用程序都可以使用多达 500 MB 的存储空间，以及可支持每月约 500 万页面浏览量的足够的 CPU 和带宽，完全免费。为您的应用程序启用付费后，您的免费配额将提高，您只需为使用的超过免费水平的资源付费。</p>
</blockquote>
<p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 20px; margin: 0px;">Google为我们提供了充足的免费限额~~要知道有多少？可以到这里看看<a style="color: #551a8b; vertical-align: middle; zoom: 1; padding-right: 4px;" href="http://code.google.com/intl/zh-CN/appengine/docs/quotas.html">配额</a>。真的足够了，对于我来说~~</p>
<p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 20px; margin: 0px;">可以到app Engine 的官方网站来看一下，<a href="http://code.google.com/intl/zh-CN/appengine/">http://code.google.com/intl/zh-CN/appengine/</a>，这里有很多的文档。大部分都汉化了~~ /yy</p>
<h2>前提准备工作</h2>
<p>下载东西啦~~到<a href="http://code.google.com/intl/zh-CN/appengine/downloads.html" target="_blank">这里</a>下载</p>
<ol>
<li>下载Google App Engine SDK for Java</li>
<li>如果你需要使用GWT（Google Web Toolkit）,到<a href="http://code.google.com/intl/zh-CN/webtoolkit/download.html" target="_blank">这里</a>下载(可选)</li>
<li>下载 Eclipse Google 插件,在<a href="http://code.google.com/intl/zh-CN/eclipse/docs/download.html" target="_blank">这里</a>啊~</li>
</ol>
<p>下载eclipse插件，可以通过以下地址：（按版本选择）,如果你还不会安装，看<a href="http://code.google.com/intl/zh-CN/eclipse/docs/download.html">这里</a>的Detailed instructions for installation from update sites，里面有图文介绍耶！！</p>
<p>另外说的是如果你前面下载了两个SDK，那就下载插件的时候就不用勾选那两个SDK了~~直接选插件那个就行。</p>
<blockquote>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 326px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Eclipse 3.5 (Galileo)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 326px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">http://dl.google.com/eclipse/plugin/3.5</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 326px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Eclipse 3.4 (Ganymede)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 326px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">http://dl.google.com/eclipse/plugin/3.4</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 326px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Eclipse 3.3 (Europa)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 326px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">http://dl.google.com/eclipse/plugin/3.3</div>
<blockquote><p>Eclipse 3.5 (Galileo)</p></blockquote>
<blockquote><p>http://dl.google.com/eclipse/plugin/3.5</p></blockquote>
<blockquote><p>Eclipse 3.4 (Ganymede)</p></blockquote>
<blockquote><p>http://dl.google.com/eclipse/plugin/3.4</p></blockquote>
<blockquote><p>Eclipse 3.3 (Europa)</p></blockquote>
<blockquote><p>http://dl.google.com/eclipse/plugin/3.3</p></blockquote>
</blockquote>
<p>如果你是自己下载SDK的，那就解压到任意目录下(小白问：“任意目录是哪个目录？”汗！)，先解压，以后有用。~</p>
<p>这时我们可以在eclipse看到工具栏多出的三个小图标，各点一下试试咯~~</p>
<p>如果你是自己下载SDK的，需要配置SDK的路径。我们可以在新建app engine项目的界面下面看到有配置SDK的链接，点进去，然后选择前面解压的路径~另外GWT可以不勾选~如果你用不上~</p>
<p>就这样吧，懒得截图了·~</p>
<p>下一篇文章写它文档带了的一个小例子~一个简单的留言本~那些例子真的很容易懂啊。。大家多看看文档就会了~~</p>
<p>我也是刚学的，才学两天~所以不会太深入~·哇咔咔~</p>
<p>原创文章：fatkun，转载请保留本文链接。</p>
]]></content:encoded>
			<wfw:commentRss>http://fatkun.com/2009/12/the-first-of-google-app-engine-java.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>央视:谷歌涉嫌大范围侵犯中文图书著作权</title>
		<link>http://fatkun.com/2009/10/%e5%a4%ae%e8%a7%86%e8%b0%b7%e6%ad%8c%e6%b6%89%e5%ab%8c%e5%a4%a7%e8%8c%83%e5%9b%b4%e4%be%b5%e7%8a%af%e4%b8%ad%e6%96%87%e5%9b%be%e4%b9%a6%e8%91%97%e4%bd%9c%e6%9d%83.html</link>
		<comments>http://fatkun.com/2009/10/%e5%a4%ae%e8%a7%86%e8%b0%b7%e6%ad%8c%e6%b6%89%e5%ab%8c%e5%a4%a7%e8%8c%83%e5%9b%b4%e4%be%b5%e7%8a%af%e4%b8%ad%e6%96%87%e5%9b%be%e4%b9%a6%e8%91%97%e4%bd%9c%e6%9d%83.html#comments</comments>
		<pubDate>Tue, 13 Oct 2009 19:41:41 +0000</pubDate>
		<dc:creator>fatkun</dc:creator>
				<category><![CDATA[胡言乱语]]></category>
		<category><![CDATA[CCTV]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[央视]]></category>
		<category><![CDATA[谷歌]]></category>
		<category><![CDATA[谷歌很受伤]]></category>

		<guid isPermaLink="false">http://fatkun.com/?p=37</guid>
		<description><![CDATA[10月13日，央视在今天的《朝闻天下》栏目中报道，谷歌数字图书馆涉嫌大范围侵权中文图书，从中国文字著作权协会获悉，570位权利人17922部作品在未经授权已被谷歌扫描上网。 中国文字著作权协会相关负责人表示，这570位包括国家领导人、政府官员和作家在内的权利人对此毫不知情，且没有证据表明谷歌公司取得了权利人的授权。法学专家认为，谷歌的这种未经许可的复制和网络转载的行为均涉嫌侵犯著作权 10月13日，央视在今天的《朝闻天下》栏目中报道，谷歌数字图书馆涉嫌大范围侵权中文图书，从中国文字著作权协会获悉，570位权利人17922部作品在未经授权已被谷歌扫描上网。 中国文字著作权协会相关负责人表示，这570位包括国家领导人、政府官员和作家在内的权利人对此毫不知情，且没有证据表明谷歌公司取得了权利人的授权。法学专家认为，谷歌的这种未经许可的复制和网络转载的行为均涉嫌侵犯著作权。 中国文字著作权协会相关负责人还表示，由于谷歌强势霸道的态度，目前与谷歌总部方面的协商并无结果，中国文字著作权协会正在与知识产权专家协商下一步的维权行动。（完） 来源：cnbeta]]></description>
			<content:encoded><![CDATA[<p><img onload="ResizeImage(this,620)" src="http://farm3.static.flickr.com/2524/4006716801_33fec77fd9_o.jpg" alt="" title=""/><br />
<b>10月13日，央视在今天的《朝闻天下》栏目中报道，谷歌数字图书馆涉嫌大范围侵权中文图书，从中国文字著作权协会获悉，570位权利人17922部作品在未经授权已被谷歌扫描上网。</b><br />
中国文字著作权协会相关负责人表示，这570位包括国家领导人、政府官员和作家在内的权利人对此毫不知情，且没有证据表明谷歌公司取得了权利人的授权。法学专家认为，谷歌的这种未经许可的复制和网络转载的行为均涉嫌侵犯著作权</p>
<p><span id="more-37"></span><br />
<b>10月13日，央视在今天的《朝闻天下》栏目中报道，谷歌数字图书馆涉嫌大范围侵权中文图书，从中国文字著作权协会获悉，570位权利人17922部作品在未经授权已被谷歌扫描上网。</b><br />
中国文字著作权协会相关负责人表示，这570位包括国家领导人、政府官员和作家在内的权利人对此毫不知情，且没有证据表明谷歌公司取得了权利人的授权。法学专家认为，谷歌的这种未经许可的复制和网络转载的行为均涉嫌侵犯著作权。<br />
中国文字著作权协会相关负责人还表示，由于谷歌强势霸道的态度，目前与谷歌总部方面的协商并无结果，中国文字著作权协会正在与知识产权专家协商下一步的维权行动。（完）<br />
<img onload="ResizeImage(this,620)" src="http://farm3.static.flickr.com/2524/4006716801_33fec77fd9_o.jpg" alt="" title=""/><br />
<img onload="ResizeImage(this,620)" src="http://farm3.static.flickr.com/2482/4007482862_6e36a4f1da_o.jpg" alt="" title=""/><br />
来源：<a href="http://www.cnbeta.com/articles/95402.htm" target="_blank">cnbeta</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fatkun.com/2009/10/%e5%a4%ae%e8%a7%86%e8%b0%b7%e6%ad%8c%e6%b6%89%e5%ab%8c%e5%a4%a7%e8%8c%83%e5%9b%b4%e4%be%b5%e7%8a%af%e4%b8%ad%e6%96%87%e5%9b%be%e4%b9%a6%e8%91%97%e4%bd%9c%e6%9d%83.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>谷歌向部分用户推超简洁页面</title>
		<link>http://fatkun.com/2009/10/%e8%b0%b7%e6%ad%8c%e5%90%91%e9%83%a8%e5%88%86%e7%94%a8%e6%88%b7%e6%8e%a8%e8%b6%85%e7%ae%80%e6%b4%81%e9%a1%b5%e9%9d%a2.html</link>
		<comments>http://fatkun.com/2009/10/%e8%b0%b7%e6%ad%8c%e5%90%91%e9%83%a8%e5%88%86%e7%94%a8%e6%88%b7%e6%8e%a8%e8%b6%85%e7%ae%80%e6%b4%81%e9%a1%b5%e9%9d%a2.html#comments</comments>
		<pubDate>Fri, 09 Oct 2009 11:01:53 +0000</pubDate>
		<dc:creator>fatkun</dc:creator>
				<category><![CDATA[胡言乱语]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[简洁]]></category>

		<guid isPermaLink="false">http://fatkun.com/?p=32</guid>
		<description><![CDATA[&#160;谷歌已开始对小众用户推出一个新的实验性页面,页面上只有谷歌的标志和一个搜索框,此举将这个搜索大鳄的极简主义表现到了极致.只有当你移动鼠标的时候,搜索框才会出现导航选项.目前谷歌页面上的文字超过了30个.谷歌在10月8日早上(当地时间)发布了一个特殊的代码,用户可以复制该代码,粘贴到浏览器中,然后就可以使用一个简化的页面设计.。。 &#160;谷歌已开始对小众用户推出一个新的实验性页面,页面上只有谷歌的标志和一个搜索框,此举将这个搜索大鳄的极简主义表现到了极致. 只有当你移动鼠标的时候,搜索框才会出现导航选项.目前谷歌页面上的文字超过了30个.谷歌在10月8日早上(当地时间)发布了一个特殊的代码,用户可以复制该代码,粘贴到浏览器中,然后就可以使用一个简化的页面设计. &#160; 首先打开google.com首页（不能是.cn），然后复制以下代码到地址栏里，回车。之后刷新一下当前页面，就是了。 javascript:void(document.cookie=&#34;PREF=ID=abac7a90f5a3784b:LD=en:NR=10:TM=1254990196:LM=1254990236:S=uB6F4jDnMP_DuxtT;path=/; domain=.google.com&#34;); &#160; &#160; 但是用这个代码生成的页面还包括&#8220;google搜索&#8221;和&#8220;手气不错&#8221;两个按键.对于完美的极简主义者来说,这两个按键还是瑕疵.外国媒体还公布了一个将这两个键都去掉的方法.但是不一定适用所有的浏览器. &#160; 来源：www.cnbeta.com/articles/95163.htm &#160;]]></description>
			<content:encoded><![CDATA[<p><img onload="ResizeImage(this,620)" src="http://fatkun.com/upload/2009/10/200910090320324111.jpg" alt="" title=""/><br />
&nbsp;谷歌已开始对小众用户推出一个新的实验性页面,页面上只有谷歌的标志和一个搜索框,此举将这个搜索大鳄的极简主义表现到了极致.只有当你移动鼠标的时候,搜索框才会出现导航选项.目前谷歌页面上的文字超过了30个.谷歌在10月8日早上(当地时间)发布了一个特殊的代码,用户可以复制该代码,粘贴到浏览器中,然后就可以使用一个简化的页面设计.。。</p>
<p><span id="more-32"></span></p>
<p>&nbsp;<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">谷歌已开始对小众用户推出一个新的实验性页面,页面上只有谷歌的标志和一个搜索框,此举将这个搜索大鳄的极简主义表现到了极致.</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">只有当你移动鼠标的时候,搜索框才会出现导航选项.目前谷歌页面上的文字超过了30个.谷歌在10月8日早上(当地时间)发布了一个特殊的代码,用户可以复制该代码,粘贴到浏览器中,然后就可以使用一个简化的页面设计.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">首先打开<a style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 51, 102); text-decoration: none; " href="http://www.google.com/">google.com</a>首页（不能是.cn），然后复制以下代码到地址栏里，回车。之后刷新一下当前页面，就是了。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">javascript:void(document.cookie=&quot;PREF=ID=abac7a90f5a3784b:LD=en:NR=10:TM=1254990196:LM=1254990236:S=uB6F4jDnMP_DuxtT;path=/; domain=.google.com&quot;);</p>
<p>&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
<img onload="ResizeImage(this,620)" src="http://fatkun.com/upload/2009/10/200910090320324111.jpg" alt="" title=""/><br />
<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />但是用这个代码生成的页面还包括&ldquo;google搜索&rdquo;和&ldquo;手气不错&rdquo;两个按键.对于完美的极简主义者来说,这两个按键还是瑕疵.<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />外国媒体还公布了一个将这两个键都去掉的方法.但是不一定适用所有的浏览器.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">来源：<a target="_blank" href="http://www.cnbeta.com/articles/95163.htm">www.cnbeta.com/articles/95163.htm</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://fatkun.com/2009/10/%e8%b0%b7%e6%ad%8c%e5%90%91%e9%83%a8%e5%88%86%e7%94%a8%e6%88%b7%e6%8e%a8%e8%b6%85%e7%ae%80%e6%b4%81%e9%a1%b5%e9%9d%a2.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

