<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>JavaEye博客</title>
    <description>Java博客,Ruby on Rails博客,AJAX博客,Agile博客 -- JavaEye做最棒的软件开发交流社区</description>
    <link>http://www.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
          <item>
        <title>e书 agile patterns 读书笔记(1)</title>
        <author>fly_ever</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://fly-ever.javaeye.com">fly_ever</a>&nbsp;
                    链接：<a href="http://fly-ever.javaeye.com/blog/251911" style="color:red;">http://fly-ever.javaeye.com/blog/251911</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          本书来自infoq.com的minibooks。<br />最近刚好也看到了infoq上对这本书的书评<br />http://www.infoq.com/cn/news/2008/10/agile-adoption-patterns-br<br /><br />由于敏捷工程主要是关注于如何通过完成项目来更好的实现商业价值。<br />因此这本书主要从以下几个方面来着手描述：<br />1，重点关注客户的商业价值，列出几种重要的客户关注的商业价值。<br />2，当客户的商业价值没有很好的实现时，如何识别出项目的smells或者症状。<br />3，决定采用何种实践来消除smells，并提升对应的商业价值。<br />4，针对每种本书提到的敏捷模式，提供一个详细的信息列表，包括敏捷模式的采纳策略。<br />5，对于那些能一起实施的多种敏捷模式，进行详细的描述和如何进行采纳的策略。<br />这本书可以作为如何根据自身不同的环境，一步步的采用敏捷实践来实施项目的一个指南书。<br /><br />本书分为三个部分：<br />从分析客户的商业价值开始，逐步分析在工程实施时涉及到的各种smells，<br />以及一些采取敏捷实践的策略；<br />第二部分对单个的敏捷实践模式进行具体的分析；<br />之后在第三部分讨论如何整合这些敏捷模式来取得更好的效果。<br /><br /><br />以下为第一部分的主要内容：<br />1,商业价值(business value):<br />Reduce time to market<br />Increase value to market<br />Increase quality to market<br />Increase flexibility<br />Increase visibility<br />reduce cost<br />Increase product lifetime<br /><br /><br />2,smells:<br />分为business smell和process smell；<br />Business smells:站在客户的角度上来说，即客户能够感觉出来的smells。<br />&nbsp; 质量不可接受Quality Delivered to Customer is Unacceptable<br />&nbsp; 发布新功能不敏捷Delivery New Features to Customer takes too long<br />&nbsp; 功能对用户来说不可用Features are not used by customer<br />&nbsp; 软件对用户来说不可用software is not useful to customer<br />&nbsp; 软件实施太贵software is too expensive to build<br />&nbsp; <br />Process smells:只有项目开发团队能够感觉出来的smells，而对客户来说是不可见的。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Us vs. Them<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Customer Ask for everything including the kitchen sink<br />	Customer —— what customer? Direct and regular customer input is unrealistic<br />	Management is Surprised —— Lack of visibility<br />	Bottlenecked Resources(Software Practitioners are members of multiple teams concurrently)<br />	churning project<br />	Hundreds(possibly Thousands) of bugs in bug-tracker<br />	"Hardening" Phase Needed At End of Release Cycle<br />	Integration is Infrequent (usually because it is painful)
          <br/>
          <span style="color:red;">
            <a href="http://fly-ever.javaeye.com/blog/251911#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 21:50:17 +0800</pubDate>
        <link>http://fly-ever.javaeye.com/blog/251911</link>
        <guid>http://fly-ever.javaeye.com/blog/251911</guid>
      </item>
          <item>
        <title>我所关注的一些内容</title>
        <author>david_lv</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://david-lv.javaeye.com">david_lv</a>&nbsp;
                    链接：<a href="http://david-lv.javaeye.com/blog/251904" style="color:red;">http://david-lv.javaeye.com/blog/251904</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我一直在商业软件公司工作，所有的产品开发目的都是为了让企业赚更多的钱。所以，我研究的工程方法和技术，都是冲着这个目标去的。而且我更窄的是在企业管理软件行当，所以关注的面更窄，所以不能帮助我解决我平时工作问题加快我工作效率提高我的产品销售竞争力的方面，我都忽略了。<br /><br />这也就是很多朋友看了我的博客，认为我的观点太浅，如《企业应用开发平台架构揭秘》，认为我很多关键流行架构技术都没有讲到。我还是那个观点，我只是想解决我的问题，以最简单最小成本的方法解决问题，至于符不符合流行架构，不是我所关注的。许多开发人员，不理解客户行业发展变化的过去现在和未来，不理解行业竞争结构，不理解行业目前的挑战和机遇，所以对软件未来会修改成什么个模样，心里没有底，于是尽可能的做一个非常灵活的架子。真正一下水，才发现客户业务并没有他想的那么复杂，杀鸡用了牛刀，反而杀起鸡来极不顺手。我们是以什么规模的应用，我们就搭建什么规模的架子，不做无用功，刚刚好。而且解决问题，而且用我们（不仅仅是架构师，还包括开发人员，定制开发人员，技术支持人员）最熟悉的方法和技术解决问题。<br /><br />能理解行业发展趋势、挑战和机遇的，做IT的寥寥无几。很多自诩很了解企业需求多年工作在实施第一线的项目经理只是很微观的理解企业的用户和企业的信息科的IT需求，却其实并不了解一个行业为什么会是这样，未来2-3年内的变化会如何。总是做一个企业IT需求的跟随者，却从未洞穿IT本来就是人们业务的一个工具而已，但有时候这个IT工具却也有可能颠覆现有业务模式（如DELL利用电话和互联网颠覆了PC销售模式。再如PPG，再如网游经济，再如分众，再如短信）。我们不可轻视IT只是纸张表格电子化，也不可迷信IT新技术会颠覆现有模式。（但是总有人在好好的规则下突然杀出，或者被现有规则干死，或者颠覆现有规则，最后所有行业内企业纷纷效仿。IT技术中的ruby on rails就这种情形）。<br />所以，我们总是关注着新颖的技术，跟踪它的发展，了解它的原理和主要解决的问题领域和方法，了解它的优缺点，但至于能否用到现有的产品项目中，很难说。企业有企业的资源调度和目标和矛盾困难，企业也有企业的包袱历史，不能说扔就扔说转型就转型说革命就革命（安逸的可预测的生活和工作是每个人都祈求的）。但我们也不能因为现状困境，而不思突破（让冒死鬼去突破，如果它成功了，就跟风它），其实现状困境，是行业的现状困境，影响着关切着我们自己的利益，所以我们自己就需要去突破，否则同等竞争环境下，我们是小企业，就更受不了变化的被动冲击，更需要寻找机会上位，而不是跟随。跟随策略，对于非行业领头羊没有任何好处。<br /><br />能理解行业发展趋势，也能理解IT技术发展的，更是寥寥无几。<br /><br />如果能理解行业发展，又能理解IT技术，又能结合本企业的竞争地位、盈利模式、盈利目标、困境、资源创新研发，又能把想法落实到产品上，又能取得老板的信任和支持给与资源进行研发，又能组织团队推进团队协调团队在现有的资源和困境下把产品实现了，并且推广了能成为现金牛的产品，那这样的人更是出奇的少。这样的人，就叫CTO。内地的CTO比国外的CTO更难做。国外的团队很成熟，各方面都有很专业的团队在配合。但在内地，需要考虑行业、本企业、老板、资源、团队、时间限制、现金流回报。我们没有那么多钱，也没有那么多耐心，也没有那么多的研究时间，我们力求能看得见的现金，还能保持未来5-10年的产品竞争力。有人说，在内地，一个成功的CTO的要求近乎于神。可能有这种意味，就如同内地要产生一个成功的电影导演，要求也近乎于神，所以内地成功的导演和大片也寥寥无几。<br /><br />现在，传统的企业管理软件行当就出现了困境，阻碍了企业规模化的扩张盈利。作为软件公司的CTO，软件产品是公司生存的唯一根本的软件公司，是必须要CTO思考和解决的。<br /><br />我们总在不销售、不实施、不培训、不支持上力求达到。即使达不到，我们也在孜孜不倦的追求能尽可能少的人力尽可能少的时间的方法，并且在思考如何还能更有效的提高应用效果，更容易的被客户和用户接收和理解精髓的产品信息。办法总比困难多。我们也在调研、开发、测试、产品推广上创新了很多方法。尽管我们无法达到理想，但至少比墨守常规的同行更有效率更有质量更多利润。<br /><br />目前，我所关注的内容，有下列一些<br />盈利模式类：目标是尽可能放大盈利速度和规模<br />网络社区<br />网游<br />SAAS、威客、阿里巴巴（不是淘宝）<br />市场调研公司、数据库营销公司、IT整合规划/梳理咨询公司、IT咨询实施服务公司<br />金山公司（毒霸、词霸、WPS的互联网之道）、超级解霸公司的转型模式<br /><br />软件工程类：目标是尽可能缩短开发和服务的周期，减少人力投入，还能提高质量效果<br />软件开发过程管理<br />软件服务过程管理<br />IT咨询模型、咨询方法、咨询流程<br />开源与程序员社区、用户服务社区<br />IT外包开发公司过程管理（如果他们大规模的高质量的开发团队加上专业的咨询团队，进入国内企业管理软件行业，会如何？）<br /><br />技术类：目标是尽可能网络化、全球服务化、自动化、体验化<br />表现层：Flash 3D引擎<br />接口层：webservice，javascript API，JSON，SOA<br />业务运算层：自动聚类关联、DSL、Lua<br />云模式关系数据存取层：Hypertable<br />云模式分布式文件系统，如hadoop<br /><br />只有你能给老板说清楚投资回报率，给销售和客户说清楚竞争力，给实施服务支持说清楚产品稳定高性能易实施易使用易支持，就容易获得老板的支持、销售部门的支持、实施服务团队的支持。<br /><br />得道者多助。<br /><br />没有上下左右的支持，你什么想法也实现不了。
          <br/>
          <span style="color:red;">
            <a href="http://david-lv.javaeye.com/blog/251904#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 21:35:18 +0800</pubDate>
        <link>http://david-lv.javaeye.com/blog/251904</link>
        <guid>http://david-lv.javaeye.com/blog/251904</guid>
      </item>
          <item>
        <title>MSSQL 游标使用</title>
        <author>oxidy</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://oxidy.javaeye.com">oxidy</a>&nbsp;
                    链接：<a href="http://oxidy.javaeye.com/blog/251855" style="color:red;">http://oxidy.javaeye.com/blog/251855</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="sql">declare nn cursor static
for select id from user 
open nn
fetch next from nn into @id
while @@fetch_status = 0 
begin
      --处理语句
	fetch next from nn into @id
end
close nn
deallocate nn</pre>
&nbsp;
<p>&nbsp;</p>
<p>静态游标，定义办法</p>
          <br/>
          <span style="color:red;">
            <a href="http://oxidy.javaeye.com/blog/251855#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 19:23:07 +0800</pubDate>
        <link>http://oxidy.javaeye.com/blog/251855</link>
        <guid>http://oxidy.javaeye.com/blog/251855</guid>
      </item>
          <item>
        <title>Log4j笔记</title>
        <author>Enjoyjavaeye</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://Enjoyjavaeye.javaeye.com">Enjoyjavaeye</a>&nbsp;
                    链接：<a href="http://Enjoyjavaeye.javaeye.com/blog/251853" style="color:red;">http://Enjoyjavaeye.javaeye.com/blog/251853</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          g4j提供的appender有以下几种：<br />org.apache.log4j.ConsoleAppender（控制台），<br />org.apache.log4j.FileAppender（文件），<br />org.apache.log4j.DailyRollingFileAppender（每天产生一个日志文件），<br />org.apache.log4j.RollingFileAppender（文件大小到达指定尺寸的时候产生一个新的文件），<br />org.apache.log4j.WriterAppender（将日志信息以流格式发送到任意指定的地方） <br /><br />配置日志信息的格式（布局），其语法为：<br /><br /><br />log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class<br />log4j.appender.appenderName.layout.option1 = value1<br />....<br />log4j.appender.appenderName.layout.option = valueN<br /><br />Log4j提供的layout有以下几种：<br />org.apache.log4j.HTMLLayout（以HTML表格形式布局），<br />org.apache.log4j.PatternLayout（可以灵活地指定布局模式），<br />org.apache.log4j.SimpleLayout（包含日志信息的级别和信息字符串），<br />org.apache.log4j.TTCCLayout（包含日志产生的时间、线程、类别等等信息
          <br/>
          <span style="color:red;">
            <a href="http://Enjoyjavaeye.javaeye.com/blog/251853#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 19:09:55 +0800</pubDate>
        <link>http://Enjoyjavaeye.javaeye.com/blog/251853</link>
        <guid>http://Enjoyjavaeye.javaeye.com/blog/251853</guid>
      </item>
          <item>
        <title>求两个数高位相同的部分--算法由中国ＰＨＰ联盟的vincent-武汉(282159887) 提供</title>
        <author>vb2005xu</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://vb2005xu.javaeye.com">vb2005xu</a>&nbsp;
                    链接：<a href="http://vb2005xu.javaeye.com/blog/251850" style="color:red;">http://vb2005xu.javaeye.com/blog/251850</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          算法题：<br />求两个数高位相同的部分。<br />比如 <br />42443和42555，得42<br />74和75，得7<br />333222和333111，得333<br />750和75，得0<br /><br />输入:两个数<br />输出:相同部分<br />===========<br />谁来试试<br /><br /><br /><pre name="code" class="java">

&lt;script type="text/javascript" defer="defer">
$={
temp:"",
getHigh:function(f,s){
var f=String(f);
var s=String(s);
var len=f.length&lt;s.length?f.length:s.length;
for(var i=0;i&lt;len;i++){
if(f.charAt(i)==s.charAt(i)) this.temp+=f.charAt(i);
else break;
}
if(this.temp)
document.write(f+"和"+s+"的相同的部分最高位为:"+this.temp+"&lt;br />");
else
document.write(f+"和"+s+"没有相同的部分!&lt;br />");
this.temp="";
}

}

$.getHigh(42443,42555);
$.getHigh(74,75);
$.getHigh(333222,333111);
&lt;/script>

</pre>
          <br/>
          <span style="color:red;">
            <a href="http://vb2005xu.javaeye.com/blog/251850#comments" style="color:red;">已有 <strong>1</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 18:35:29 +0800</pubDate>
        <link>http://vb2005xu.javaeye.com/blog/251850</link>
        <guid>http://vb2005xu.javaeye.com/blog/251850</guid>
      </item>
          <item>
        <title>大家都看优酷了吗</title>
        <author>whaosoft</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://whaosoft.javaeye.com">whaosoft</a>&nbsp;
                    链接：<a href="http://whaosoft.javaeye.com/blog/251838" style="color:red;">http://whaosoft.javaeye.com/blog/251838</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          大家都看优酷了吗 为什么高丽棒子 老是唧唧歪歪呢~~<br />真服了 闲的没事吗~~ 我实在懒的骂街~~ 这到底是个<br />什么民族呀有资格说中国人吗??从唐朝一直被日本<br />侵略着还有脸说历史 他们有民族尊严吗 有反抗吗<br />我爷爷是个干部 他说以前日军打中国竟是些高丽棒子<br />吖~~ 多么 龌龊的民族呀 可我想知道你们有纯种的吗??<br />脸皮那么厚到底是继承了哪个国家呢!!<br />最可气是百度我骂街的话都能提交上百度吧 为什么<br />说个高丽棒子都不行吗 李彦宏是因为你和孙正义<br />合作了 你就这样吗 以前我挺敬佩你的 "以前"......
          <br/>
          <span style="color:red;">
            <a href="http://whaosoft.javaeye.com/blog/251838#comments" style="color:red;">已有 <strong>3</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 17:26:28 +0800</pubDate>
        <link>http://whaosoft.javaeye.com/blog/251838</link>
        <guid>http://whaosoft.javaeye.com/blog/251838</guid>
      </item>
          <item>
        <title>Spring2.5访问Session属性的四种策略</title>
        <author>mingj</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://mingj.javaeye.com">mingj</a>&nbsp;
                    链接：<a href="http://mingj.javaeye.com/blog/251836" style="color:red;">http://mingj.javaeye.com/blog/251836</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          WEB 应用通常会引入 Session，用来在服务端和客户端之间保存一系列动作/消息的状态，比如网上购物维护 user 登录信息直到 user 退出。在 user 登录后，Session 周期里有很多 action 都需要从 Session 中得到 user，再验证身份权限，或者进行其他的操作。这其中就会涉及到程序去访问 Session属性的问题。在java中，Servlet 规范提供了 HttpSession对象来满足这种需求。开发人员可以从 HttpServletRquest对象得到 HttpSession，再从HttpSession中得到状态信息。<br /><br />还是回到购物车的例子，假设在 controller 某个方法（本文简称为action）中我们要从HttpSession中取到user对象。如果基于Servlet，标准的代码会是这样的：<br /><pre name="code" class="java">
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	User user = (User)req.getSession().getAttribute("currentUser");
	//...
}
</pre><br />这样的代码在传统的Servlet程序中是很常见的：因为使用了 Servlet API，从而对 Servlet API产生依赖。这样如果我们要测试 action，我们就必须针对 HttpServletRequest、HttpServletResponse 和 HttpSession类提供 mock 或者 stub 实现。当然现在已经有很多开源的 Servlet 测试框架帮助我们减轻这个痛苦，包括 Spring 就自带了对了这些类的 stub 实现，但那还是太冗繁琐碎了。那有没有比较好的办法来让我们的 controller 更 POJO，让我们的 action 脱离 Servlet API 依赖，更有益于测试和复用呢？我们来看看在 Spring2.5 中访问 Session 属性的几种解决方案，并将在本博的后续文章继续探究解决方案选择背后的深层含义。<br /><br />（一）通过方法参数传入HttpServletRequest对象或者HttpSession对象<br />笔者的前一篇文章已经简单介绍了Spring2.5的annotation使得 controller 摆脱了 Servlet API 对方法参数的限制，这里就不赘述了。有兴趣的同学可以参考&lt;a href="">这里&lt;/a>。Spring对annotationed的 action 的参数提供自动绑定支持的参数类型包括 Servlet API 里面的 Request/Response/HttpSession（包含Request、Response在Servlet API 中声明的具体子类）。于是开发人员可以通过在 action 参数中声明 Request 对象或者 HttpSession 对象，来让容器注入相应的对象。<br /><br />action 的代码如下：<br /><pre name="code" class="java">
@RequestMapping
public void hello(HttpSession session){
	User user = (User)session.getAttribute("currentUser");
	//...
}
</pre><br />优点：<br />1. 程序中直接得到底层的 Request/HttpSession 对象，直接使用 Servlet API 规范中定义的方法操作这些对象中的属性，直接而简单。<br />2. action 需要访问哪些具体的 Session 属性，是由自己控制的，真正精确到 Session 中的每个特定属性。<br />不足：<br />1. 程序对 Servlet API 产生依赖。虽然 controller 类已经不需要从 HttpServlet 继承，但仍需要 Servlet API 才能完成编译运行，乃至测试。<br />2. 暴露了底层 Servlet API，暴露了很多并不需要的底层方法和类，开发人员容易滥用这些 API。<br /><br />（二）通过定制拦截器（Interceptor）在controller类级别注入需要的User对象<br />Interceptor 是 Spring 提供的扩展点之一，SpringMVC 会在 handle 某个 request 前后调用在配置中定义的 Interceptor 完成一些切面的工作，比如验证用户权限、处理分发等，类似于 AOP。那么，我们可以提取这样一个“横切点”，在 SpringMVC 调用 action 前，在 Interceptor 的 preHandle 方法中给 controller 注入 User 成员变量，使之具有当前登录的 User 对象。<br /><br />此外还需要给这些特定 controller 声明一类 interface，比如 IUserAware。这样开发人员就可以只针对这些需要注入 User 对象的 controller 进行注入增强。<br /><br />IUserAware 的代码：<br /><pre name="code" class="java">
public interface IUserAware {
	public void setUser();
}
</pre><br />controller 的代码：<br /><pre name="code" class="java">
@Controller
public GreetingController implements IUserAware {
	private User user;
	public void setUser(User user){
		this.user = user;
	}
	
	@RequestMapping
	public void hello(){
		//user.sayHello();
	}
	//...
}
</pre><br />Interceptor 的代码：<br /><pre name="code" class="java">
public class UserInjectInterceptor extends HandlerInterceptorAdapter {
	@Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler) throws Exception {
        if (handler.isAssignableFrom(IUserAware)){
        	User user = (User)httpServletRequest.getSession().getAttribute("currentUser");
        	IUserAware userAware = (IUserAware) handler;
        	userAware.setUser(user);
        }
        return super.preHandle(httpServletRequest, httpServletResponse, handler);
    }
    //...
}
</pre><br />为了让 SpringMVC 能调用开发人员定义的 Interceptor，我们还需要在 SpringMVC 配置文件中声明该 Interceptor，比如：<br /><pre name="code" class="xml">
&lt;bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
    &lt;property name="interceptors">
        &lt;list>
            &lt;ref bean="userInjectInterceptor"/>&lt;!-- userInjectInterceptor bean 的声明省略-->
        &lt;/list>
    &lt;/property>
&lt;/bean>
</pre><br />优点：<br />1. 对 Servlet API 的访问被移到了自 SpringMVC API 扩展的 Interceptor，controller 不需要关心 User 如何得到。<br />2. 开发人员可以通过随时添加或移除 Interceptor 来完成对不同参数在某一类型 controller 上的注入。<br />3. controller 的 User 对象通过外界注入，测试时开发人员可以很容易地注入自己想要的 User 对象。<br />4. controller 类去掉了对 Servlet API 的依赖，更 POJO 和通用。<br />5. controller 类是通过对 interface 的声明来辅助完成注入的，并不存在任何继承依赖。<br />不足：<br />1. SpringMVC 对 controller 默认是按照单例（singleton）处理的，在 controller 类中添加一个成员变量，可能会引起多线程的安全问题。<br />2. 因为 User 对象是定义为 controller 的成员变量，而且是通过 setter 注入进来，在测试时需要很小心地保证对controller 注入了 User 对象，否则有可能我们拿到的就不一定是一个“好公民”（Good Citizen）。<br /><br />其实，一言而蔽之，这些不足之所以出现，是因为我们把某个 action 级别需要的 User 对象上提到 controller 级别，破坏了 the convention of stateless for controller classes，而 setter 方式的注入又带来了一些隐含的繁琐和不足。当然，我们可以通过把 controller 声明为“prototype”来绕过 stateless 的约定，也可以保证每次 new 一个 controller 的同时给其注入一个 User 对象。但是我们有没有更简单更 OO 的方式来实现呢？答案是有的。<br /><br />（三）通过方法参数处理类（MethodArgumentResolver）在方法级别注入User对象<br />正如前面所看到的，SpringMVC 提供了不少扩展点给开发人员扩展，让开发人员可以按需索取，plugin 上自定义的类或 handler。那么，在 controller 类的层次上，SpringMVC 提供了 Interceptor 扩展，在 action 上有没有提供相应的 handler 呢？如果我们能够对 action 实现注入，出现的种种不足了。<br /><br />通过查阅 SpringMVC API 文档，SpringMVC 其实也为 action 级别提供了方法参数注入的 Resolver 扩展，允许开发人员给 HandlerMapper 类 set 自定义的 MethodArgumentResolver。<br /><br />action 的代码如下：<br /><pre name="code" class="java">
@RequestMapping
public void hello(User user){
	//user.sayHello()
}
</pre><br />Resolver 的代码如下：<br /><pre name="code" class="java">
public class UserArgumentResolver implements WebArgumentResolver {

    public Object resolveArgument(MethodParameter methodParameter, NativeWebRequest webRequest) throws Exception {
        if (methodParameter.getParameterType().equals(User.class)) {
            return webRequest.getAttribute("currentUser", RequestAttributes.SCOPE_SESSION);
        }
        return UNRESOLVED;
    }
}
</pre><br />配置文件的相关配置如下：<br /><pre name="code" class="xml">
&lt;bean class="org.springframework.web.servlet.mvc.annotation.OwnAnnotationMethodHandlerAdapter">
    &lt;property name="customArgumentResolver">
        &lt;ref bean="userArgumentResolver"/>&lt;!-- userArgumentResolver bean 的定义省略 -->
    &lt;/property>
&lt;/bean>
</pre><br />优点：<br />1. 具备第二种方案的所有优点<br />2. 真正做到了按需分配，只在真正需要对象的位置注入具体的对象，减少其他地方对该对象的依赖。<br />3. 其他人能很容易地从 action 的参数列表得知 action 所需要的依赖，API 更清晰易懂。<br />4. 对于很多 action 需要的某一类参数，可以在唯一的设置点用很方便一致的方式进行注入。<br />不足：<br />1. 对象依赖注入是针对所有 action， 注入粒度还是较粗。不能做到具体 action 访问具体的 Session 属性<br /><br />（四）通过 SpringMVC 的 SessionAttributes Annotation 关联 User 属性<br />SpringMVC 文档提到了 @SessionAttributes annotation，和 @ModelAttribute 配合使用可以往 Session 中存或者从 Session 中取指定属性名的具体对象。文档里说；<br /><div class="quote_title">引用</div><div class="quote_div"><br />The type-level @SessionAttributes annotation declares session attributes used by a specific handler. This will typically list the names of model attributes which should be transparently stored in the session or some conversational storage, serving as form-backing beans between subsequent requests.<br /></div><br />很明显，@SessionAttributes 是用来在 controller 内部共享 model 属性的。从文档自带的例子来看，标注成 @SessionAttributes 属性的对象，会一直保留在 Session 或者其他会话存储中，直到 SessionStatus 被显式 setComplete()。那这个 annotation 对我们有什么帮助呢？<br /><br />答案就是我们可以在需要访问 Session 属性的 controller 上加上 @SessionAttributes，然后在 action 需要的 User 参数上加上 @ModelAttribute，并保证两者的属性名称一致。SpringMVC 就会自动将 @SessionAttributes 定义的属性注入到 ModelMap 对象，在 setup action 的参数列表时，去 ModelMap 中取到这样的对象，再添加到参数列表。只要我们不去调用 SessionStatus 的 setComplete() 方法，这个对象就会一直保留在 Session 中，从而实现 Session 信息的共享。<br /><br />controller的代码如下：<br /><pre name="code" class="java">
@Controller
@SessionAttributes("currentUser")
public class GreetingController{
	@RequestMapping
	public void hello(@ModelAttribute("currentUser") User user){
		//user.sayHello()
	}
	//...
}
</pre><br />使用这种方案，还需要在 SpringMVC 配置文件中，在定义 ViewResolver 时，加上 p:allowSessionOverride="true"，这样如果你对 User 对象做了修改，就会在渲染 View 的同时覆写 Session 中的相关属性。<br /><br />优点： <br />1. 具备第二种方案的所有优点<br />2. 使用 Annotation 声明对 Session 特定属性的存取，每个 action 只需要声明自己想要的 Session 属性。<br />3. 其他人能很容易地从 action 的参数列表得知 action 所需要的依赖，API 更清晰易懂。<br />不足：<br />1. 对于相同属性的 Session 对象，需要在每个 action 上定义。<br />2. 这种方案并不是 SpringMVC 的初衷，因此有可能会引起一些争议。<br /><br />纵观这四类方法，我们可以看出我们对 Session 属性的访问控制设置，是从所有 Servlet，到某一类型的 controller 的成员变量，到所有 action 的某一类型参数，再到具体 action 的具体对象。每种方案都有各自的优点和不足：第一种方案虽然精确，但可惜引入了对 Servlet API 的依赖，不利于 controller 的测试和逻辑复用。第二、三种方案虽然解决了对 Servlet API 的依赖，也分别在 controller 和 action 级别上提供了对 Session 属性的访问，但注入粒度在一定程度上还是不够细，要想对具体属性进行访问可能会比较繁琐。不过，这在另一方面也提供了简便而统一的方法来对一系列相同类型的参数进行注入。第四种方案通过使用 Annotation，不仅摆脱了 Servlet API 的依赖，而且在 action 级别上提供了对 Session 具体属性的访问控制。但是这种访问有可能会粒度过细，需要在很多不同 action 上声明相同的 annotation。而且，毕竟这种用法并不是 SpringMVC 的初衷和推荐的，可能会带来一些争议。<br /><br />本文演示了 Spring2.5 访问 Session 属性的几种不同解决方案，并分析了各自的优点和不足。本文并不打算对这些解决方案评出对错，只是试图列出在选择方案时的思维过程以及选择标准。每种方案都能满足某一类上下文的需求，在特定的开发环境和团队中都可能会是最优的选择。但是笔者还是发现，整个过程中，一些平常容易忽视的 OOP 的准则或者原则在发挥着效应，鉴于本文篇幅已经较长，就留到后续文章中继续探讨解决方案选择背后的深层含义。
          <br/>
          <span style="color:red;">
            <a href="http://mingj.javaeye.com/blog/251836#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 17:16:42 +0800</pubDate>
        <link>http://mingj.javaeye.com/blog/251836</link>
        <guid>http://mingj.javaeye.com/blog/251836</guid>
      </item>
          <item>
        <title>【处女座小说连载续】夕阳下染红的黑桃A</title>
        <author>kongshanxuelin</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxlh.javaeye.com">kongshanxuelin</a>&nbsp;
                    链接：<a href="http://cxlh.javaeye.com/blog/251834" style="color:red;">http://cxlh.javaeye.com/blog/251834</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><!--  [if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:PunctuationKerning/>
  <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
  <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:Compatibility>
   <w:SpaceForUL/>
   <w:BalanceSingleByteDoubleByteWidth/>
   <w:DoNotLeaveBackslashAlone/>
   <w:ULTrailSpace/>
   <w:DoNotExpandShiftReturn/>
   <w:AdjustLineHeightInTable/>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:UseFELayout/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]--><!--  [if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
 </w:LatentStyles>
</xml><![endif]-->
<!--  [if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:普通表格;
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
</style>
<![endif]-->
</p>
<p class="MsoNormal" align="center" style="text-align: center;"><strong><span style="font-size: 9pt; font-family: 宋体;">第二章：自杀的真相解决篇
</span>
</strong>
</p>
<p class="MsoNormal" align="center" style="text-align: center;"><span style="font-size: 9pt; font-family: 宋体;">&nbsp;</span>
</p>
<p class="MsoBodyTextIndent"><strong><span style="font-size: 9pt; font-family: 宋体;">我时常在想，该死的到底是已经死了的人，还是即将要被送上断头台的人呢，早知道这是真相，是不是应该让真相永远就这样的沉睡呢！
</span>
</strong>
</p>
<p class="MsoNormal"><strong><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
</strong>
<strong><span style="font-size: 9pt; font-family: 宋体;">――题记</span>
</strong>

</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">今天天色沉闷，到处流露出死亡的气息，这已经是被害者死亡的第三日，案情似乎没有什么进展，我很颓废的看着湖中可爱的小红鲤鱼，这个校园里也许唯一值得让我留恋的就是这里了，看着湖中的小红鲤鱼，我的思绪就有一种飞的感觉，所以我经常傻傻的坐在这湖边的亭子里看着满湖的红鲤鱼。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">谁都不知道未来的事态，因为以一种不可知来推知另一种不可知从逻辑上来讲怎么讲都是讲不通的。身旁闪过一个熟悉的影子，没有几个人能让我体会到这种感觉，后来回头一看，果然是那个傅欣寒，看来我们是同一类人，往往在事情陷入困境时，这里就是很好的来处了，她坐在我不远处，身上散发着一股香气，让人感觉自然清新，我便上去和她搭讪。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;喂，你好，傅欣寒同学。&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;哦，是你啊，有什么事么？&rdquo;她很冷谈。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;有件事情我想你一定有兴趣知道的&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;有什么事情就说吧，听后才知道我会不会感兴趣&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;你相信现在的科技已经发展到出乎我们的想象么？&rdquo;
</span>
</p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;不需要在我这里卖关子吧！&rdquo;
</span>
</p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;我在死者寝室找到了属于死者的几根发丝，那天我在你发现的地方处又取走了一部分的分泌物，然后到浙江第一医院对其中含有的<span lang="EN-US">DNA</span>
进行了分析，证实那些分泌物是属于死者的，并且从成分显示是人体的口水！你对这个案件怎么看？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;怎么，你也有兴趣？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;废话吧，否则我也用不着花这么多钱去验<span lang="EN-US">DNA</span>
了，和你一样，业余侦探爱好者&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;可惜我不是，我是为了我的朋友&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;是死者？果然关系不一般哦！&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;不是你想象的那样，他曾经追过我，但我婉言谢绝了，虽然这样，我们还是有点交情的，所以我不想他妄死。&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;哦，这样的么？那王天知道么？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;为了不引起不必要的误会，我瞒着他，因为他这个人可能由于自身家庭条件的影响，性格比较孤僻。我不想为了这点小事让他不开心和引起不必要的误会&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;那倒也对，哦，对了，那天王天真的在<span lang="EN-US">9</span>
：<span lang="EN-US">30</span>
约你去吃夜宵啊？听夏涛说他好像很少主动约你的哦！&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;是很少，不过不是没有，他可能受自身家庭条件的影响，比较自卑，一直觉得我和他在一起只是我同情他，因为我们从小学开始就一直是同学，我很佩服他的努力和才智，主要还是因为&hellip;&hellip;呵呵&rdquo;这是我第一次看见她笑，而且好像是在回忆着某些快乐的事情。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;瞧你幸福的样子，我终于看见你笑了，我还以为你从出生以来就不知道什么是笑呢？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;是啊，我从小就已经麻痹了，也不曾体会真正笑的感觉，第一次的笑是他带给我的，我永远记得，我是一个不幸的人&hellip;&hellip;&rdquo;她说着说着放慢了声调，&ldquo;你知道我什么时候出生的嘛？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;我<span lang="EN-US">2</span>
月<span lang="EN-US">28</span>
日，呵呵！&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;你是<span lang="EN-US">2</span>
月<span lang="EN-US">28</span>
日啊，真的啊&rdquo;她似乎对我的这个生日很疑惑，也很不解，&ldquo;可惜我的生日并没有象你这样的幸运，我<span lang="EN-US">2</span>
月<span lang="EN-US">29</span>
日出生，我出生后没几天，我父亲不知道什么原因就死了，所以家里所有的人都认为我是个不幸的人，我不单不能享受每个人一年有一个生日的事实，并且每四年一次的生日我妈妈也不会和我一起过，并且也不允许我过，因为我妈妈一直认为是我克死我的父亲，这可能也是我叫欣寒的原因之一吧。&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;欣寒，心寒，我看你是自己想多了吧！怎么可能，象小说一样？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;如果我的命运真的只是一部小说就好了，我的童年没给我留下任何快乐的回忆。&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;如果真是这样的话，那我就十分佩服你，<span lang="EN-US">If winter comes , can spring be far behind ?</span>
就在这个案子上，我就十分佩服你的观察入微，我们可以合作来破获这次案件么？我想如果我们真诚合作，一定能慰死者的在天之灵！&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;恩&rdquo;她重重的点了点头，我想这可能要归功于我和她生日的一天之差吧，本来以她冷漠的性格，根本和我讲不到两三句就如鸟雀散的。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;由于我爷爷的关系，我认识警察局长，我向他口中得知手机在摔落到地面之前曾有个未接电话，据警察调查得知，这个电话来源于一个公共电话亭，而那个公共电话亭就在离校园的不远处的水果滩边，我正踌躇着要不要去呢？&rdquo;傅欣寒说道。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;原来你坐下来就是在考虑这件事情啊，我还以为&hellip;&hellip;&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;以为什么？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;哦，没什么，当然去了，说不定当时还有目击者呢？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">接着，我们两个就出发去了那个水果滩，那个水果滩很大，旁边就是公共电话亭，也就是一个小杂货店了，一位老大妈管着，那位老大妈很不友善，好像全世界的人都欠她钱似的。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;大妈，你好&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;有什么要买的嘛？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;我们不是来买东西的，我们想问件事情？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;有什么事快点说&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;你知道<span lang="EN-US">3</span>
天之前<span lang="EN-US">10</span>
：<span lang="EN-US">00</span>
至<span lang="EN-US">12</span>
：<span lang="EN-US">00</span>
之间有谁用过这部电话机么？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;我还以为什么事呢，两天前警察也来问过，记不得了，唉，那天你旁边得一个男得不也用过么？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;是啊，他是打电话回家问候一下家人。&rdquo;欣寒说道。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;大妈，你知道那个男的大概什么时候打的电话？&rdquo;我说道。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;这个我记得很清楚，没过多久，钟声就敲个好多下，大概<span lang="EN-US">11</span>
点之前吧！&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
&ldquo;</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">那他打了多长时间，付了多少钱啊？都说了什么？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;没仔细听清楚，好像打的时间不长，他也没说几句话就挂线了，结果付了<span lang="EN-US">5</span>
毛钱吧！&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;</span>
<span>&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;徐灵，你不要过分哦，难道你怀疑他&mdash;&mdash;，你&hellip;&hellip;你没搞错吧！我走了，要查你自己慢慢查吧，哼！&rdquo;欣寒很生气。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;其实你这么聪明，应该早就看出来了，你只是不想接受这个事实而已，摆在面前的线索已经十分清晰的说明了谁是罪犯，而不在场证明，动机都吻合，有些事情由不得你信不信&mdash;&mdash;&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;不，不可能的&hellip;&hellip;，怎么可能，不可能，不可能的&hellip;&hellip;&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;那你就按我所说的做，如果他真的没杀徐一凡，正好也可以还他的清白！&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;好，那要怎么做呢？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">我告诉了欣寒我的计划后，我们相继离去，等待着晚上快点到来，让真相早点浮出水面，而这真相对于我或者对于欣寒都是不愿看到的。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">天渐渐暗下来，我和欣寒一起走到死者往下跳的天台处，寒风透过衣袖，渗入皮肤，使人很不自在，我看看旁边紧张的欣寒，她面色苍白，我忽然觉得她很可怜。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;冷么？&rdquo;我问道！
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;你是说心么？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">我随即脱下外套，披在欣寒肩上，她瞪了瞪我，嘴边轻声的嘀咕着：他&hellip;&hellip;他不会出现的。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">然而事实并没象她想象的那么让人可以接受，约略晚上<span lang="EN-US">12</span>
点整，星空笼罩下的校园变得一下子死寂起来，他&mdash;&mdash;王天&hellip;&hellip;出现了！
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;为什么？为什么？&rdquo;欣寒泪光分明已经在闪烁！
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;我，睡&hellip;&hellip;睡不着，出来走走！&rdquo;王天不紧不慢的说着。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;你&hellip;&hellip;你到底要骗我到什么时候，徐灵刚开始怀疑你的时候，我根本没放在心上，并且想通过徐灵所说的计划让我更加证实你的清白，可惜，可惜&hellip;&hellip;你&hellip;&hellip;&rdquo;欣寒抽噎着。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;欣寒，你&hellip;&hellip;你怎么啦？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;王天，<span lang="EN-US">12</span>
点钟到这个天台来散步？这个借口多少也勉强了点吧，我让欣寒今天中午故意提醒你在徐一凡被害当天穿的那件衣服纽扣少了一颗，而事情上欣寒是故意扯下你衣服的一粒纽扣后再告诉你的，你今晚来这天台不是为了散步而是我手中的这颗纽扣！&rdquo;随即我把那颗纽扣飞向王天。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;你们&hellip;&hellip;你们怀疑我？你们有什么证据，徐一凡死的那天我可是有不在场证明的，我和欣寒在一起！&rdquo;王天很委屈。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;我等的就是你这句话，徐一凡死的那天你又没去过案发现场，你怎么知道他什么时候死的？听欣寒说的？好像欣寒根本没跟你提起徐一凡什么时候死的吧！况且即便是这样，你也根本没有不在场证明，徐一凡经过警察确定，死者确实死于晚上<span lang="EN-US">10</span>
：<span lang="EN-US">30</span>
－<span lang="EN-US">11</span>
：<span lang="EN-US">30</span>
分，但是在他胃液里发现有安眠药成分，所以可以肯定一点的是，他在死之前处于昏迷状态，这才是问题的关键，当他刚有点醒来时就坠楼生亡了，你声称的不在场证明也许证人就是欣寒，你女朋友吧？可惜，很可惜，即便有人证也无法证明你清白，正因为那个死亡之音！&rdquo;我继续说道，&ldquo;欣寒让警察查过电信营业厅被害人被害当晚你在公共电话厅打的那个电话记录，你声称的打给家里的电话为什么是打给徐一凡的？你能解释一下么？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;这是&hellip;&hellip;这是因为&hellip;&hellip;&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;这是因为你通过这个电话远程杀害一个你痛恨的人，首先你三天前晚上约<span lang="EN-US">9</span>
：<span lang="EN-US">00</span>
左右迷昏徐一凡，然后把他扶到天台，一般的旁人即便是看到了，也不会怀疑你这是在实行谋杀，因为迷昏的人长时间头耷拉，唾液分泌扔继续，所以仍时不时的低下口水，这就好像扒在桌上睡觉一样，长时间的扒睡并且处于浅睡状态大多人都会流口水，所以欣寒才会发现通向天台楼梯时不时的有口水似的分泌物，如果徐一凡当时是清醒的话，根本不会留下的，当时很多同学都可以证明于<span lang="EN-US">9</span>
：<span lang="EN-US">10</span>
分左右是你扶着徐一凡的，再来看那个死亡之音，接着你把死者带到天台处，那里平时就没什么人，你找一个偏僻的地方让死者沿着阑珊躺下，在面向教室也就是不会往下坠楼的一端放上一些冰块或者其他类似会随着时间的消逝而消逝的东西，这样你只要扣准时间，就可以象你预计一样的让死者醒来并且造成坠楼生亡的假相了，也就是你在晚上<span lang="EN-US">11</span>
点前打的那个电话，死者见手机铃声的触动而醒来，而这&mdash;&mdash;也标志着他的死亡，他能动的翻动身体去拿手机，即便他翻动的面向教室的一边，由于碰到冰块或类似坚硬的东西，他就会能动的往另一边翻动，结果就可想而知了，不知道我说的对不对，王天同学？你承认不承认都没关系，因为已经有足够的证据证明你杀人！&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;呵呵，呵，你&hellip;&hellip;你很聪明，的确，我不否认我杀了这个狗娘养的～他&hellip;&hellip;他简直不是人，不但侮辱了我，也侮辱了&hellip;&hellip;&rdquo;
</span>
</p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;还是让我来说吧，也许你杀人的原因一方面是为了那<span lang="EN-US">1000</span>
元，但更重要的也许还是为了欣寒吧？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;是的，正如你所说，其实我根本拿不出<span lang="EN-US">1000</span>
元，即便我再省也不可能，你那天看到的那<span lang="EN-US">1000</span>
多元的零钱是我向家里要的，我读大学以来就没向家里要过一分钱，但这次我知道因为很多人都知道我欠徐一凡<span lang="EN-US">1000</span>
元，警察也肯定会因为这点而怀疑我杀人，所以我骗着我父亲母亲，向他们要了<span lang="EN-US">600</span>
元钱，要知道那可是我父母亲的血汗钱，我老家在深山里，平时根本就没什么收入，我绝不允许我父母赚来的血汗钱作为徐一凡那个王八蛋用来泡妞的资本，绝&hellip;&hellip;绝不允许！而更让我痛恨的是，他一个星期前来找我，告诉我欣寒以前的男朋友是他，我只是在穿他穿下的拖鞋而已，还告诉我，只要我主动放弃欣寒不和他继续交往，他就可以把弄坏电脑的事情当没发生。你那天跟夏涛他们说的重要的事情就是向我拿钱顺便再奚落我而已，欣寒，欣寒，我恨，我恨欣寒从来都没跟我提起这件事情，更恨那个王八蛋把欣寒当作商品一样用来交换，那&hellip;&hellip;那我是什么？所以，从那时起，我就谋划实行这次谋杀&hellip;&hellip;&rdquo;当他说完这些话，警察也相继赶到，王天仰天一笑，继续说道，&ldquo;呵，呵呵，其实看着一心只想赚大钱而没有医德的医生，看着一心只想往上爬而不顾人民水深火热的政治家，看着实则在国外没法混而却口口声称爱国心的&lsquo;海龟&rsquo;，看着当众调戏小女孩的公安局长却仍然可以逍遥法外&hellip;&hellip;，不止我，中国，路真的已走到尽头，我为身为这个时代的中国而感到耻辱！&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;你在说什么啊，任何一个国家随着本身的发展，都会变得愈加现实，当然中国也不例外，但你不能因此以偏概全，更不能因此而成为你杀人的借口，你冠冕堂皇的声称你为了欣寒，可你&hellip;&hellip;真的有为她想过么？谁没有过去，她以前有男朋友那又能说明什么呢？你有没有体谅过她呢？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;我知道我今天无论怎么都没的逃，所以根本不需要因此而成为杀人的借口，何况我从不为自己所做的一切感到后悔，即便是现在&mdash;&mdash;我也不会。我只觉得上天实在对我不公，每天不但要拼命的学习，而且还要拼命的打工，为的只是在每学期开学的时候能交上学费，呵呵，想来也可笑，而那些所谓的富家子弟，他们根本什么都不需要担心，他们即便这辈子不工作，家里也有花不完的钱，即便不学习，他们将来也会有一份很好的工作，他们随声一喝，将会有非常多的朋友，这&mdash;&mdash;难道就是上天赋予的每个人的使命么？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;你有这种想法本身就是错的，每种所谓的&lsquo;得到&rsquo;都需要一定的&lsquo;付出&rsquo;，更何况你不是还有个爱你的傅欣寒么？那些只会同享乐的朋友不要也罢，而你口中声称的富家子弟难道他们的长辈没付出过么？那些含着金钥匙出生的人固然幸福，但你能体会隐藏在他们身边的危机么？难道他们就没有烦恼么？任何问题你都不能有这么偏激的想法&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;偏激？当你真正体会到我的处境和压力时，你就不会真的这么想了。上天&mdash;&mdash;如果你真的有眼，就让我的鲜血染红整个中国的湖泊吧，让我的鲜血去融合在这个大地上所有沉睡而不愿醒的人吧！&rdquo;说着，他就纵身一越，跨过栏杆！
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体; color: #333333;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体; color: #333333;">&ldquo;不要，&hellip;&hellip;，不要&hellip;&hellip;&rdquo;欣寒再也控制不住，眼睛也哭的有些红肿了，但一切都已太晚了，王天永远的离开了这个世界，而他落在了离徐一凡不远的地方，那边正好有一条小溪，血透过草坪慢慢的渗入小溪，和水交融在一起，流向远远的远远的另一方，他终于完成了最后的一个临终心愿。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体;">&ldquo;徐灵，有人不是常说，人生就象一场游戏么？但我时常在想，在这出游戏中，我到底是在玩游戏呢，还是在被游戏玩呢？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体;">我&mdash;&mdash;无语。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体;">&ldquo;你说，他爱的到底是我，还是他心里的那些愚蠢而又可笑的想法？&rdquo;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体;">我&mdash;&mdash;又无语。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体;">此时天也下起微微小雨来&hellip;&hellip;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体;">当这个可怜的女孩拉着我的衣袖在我面前半跪着哭的声嘶力竭的时候，我心中有种隐隐的痛，欣寒的眼泪沾湿了我半边衣袖，泪水沿着衣袖，滑落到我的手背上，顺着手背又慢慢滑落在指尖上，与雨水交织在一起，而我半天才只挤出一句话：&ldquo;也许他爱的只有他自己&mdash;&mdash;&rdquo;。
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体;">星空下，传来黄莺莺的《葬心》哀怨的歌声，&ldquo;蝴蝶儿飞去，心亦不在，凄清长夜谁来，
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">拭泪满腮，是贪点儿依赖，贪一点儿爱，旧缘该了难了，换满心哀，怎受的住，这头猜，那边怪，人言汇成愁海，天给的苦，给的灾，都不怪，千不该，万不该，芳华怕孤单，林花儿谢了，连心也埋，他日春燕归来，身何在？&rdquo;而此时已是凌晨一点多了，而这&hellip;&hellip;只是欣寒痛苦的开始，她不知道，有一出更加悲哀的家变正悄悄的向她靠近&hellip;&hellip;
</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">&nbsp;</span>
</p>
<p>
<span style="font-size: 9pt; font-family: 宋体;">『我很痛苦，因为我没有鞋，直到有一天，我发现有人没有脚』&mdash;&mdash;人，有时候不能执着的只从悲哀一面看待生活，因为这样会很痛苦，况且还有人没有脚呢，谨以此篇献给所有没鞋穿并且没看到有人没脚的读者&hellip;&hellip;</span>
</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://cxlh.javaeye.com/blog/251834#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 17:00:59 +0800</pubDate>
        <link>http://cxlh.javaeye.com/blog/251834</link>
        <guid>http://cxlh.javaeye.com/blog/251834</guid>
      </item>
          <item>
        <title>给自己定位</title>
        <author>zhangcong170</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcong170.javaeye.com">zhangcong170</a>&nbsp;
                    链接：<a href="http://zhangcong170.javaeye.com/blog/251832" style="color:red;">http://zhangcong170.javaeye.com/blog/251832</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: medium;">&nbsp;&nbsp; 不需要再让自己那么累，仔细地想想，貌似一直在跟着别人学，这样可不是很好，得有自己的东西，去看看自己感兴趣的东西，不要违背自己的初衷。老是人云亦云，不见得自己有多大的长进。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一直以来都觉得自己是一个比较依赖别人的家伙，现在，必须要改变自己的观念了，该有自己的东西，自己给自己定目标了。朋友们的话很直，初听起来有点不爽，给人一种一无是处的感觉，但是很对，我必须有自己的东西，有自己的主见。不需要给自己找太多的借口，找多了，滑溜溜的，没人会相信你。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 自己去证明自己，自己去找机会，而不是等着别人给。加油吧，谢谢朋友们的批评和提醒。</span></p>
<p><span style="font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有朋友们的帮助的确是件不错的事情，呵呵。</span></p>
          <br/>
          <span style="color:red;">
            <a href="http://zhangcong170.javaeye.com/blog/251832#comments" style="color:red;">已有 <strong>1</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 16:51:36 +0800</pubDate>
        <link>http://zhangcong170.javaeye.com/blog/251832</link>
        <guid>http://zhangcong170.javaeye.com/blog/251832</guid>
      </item>
          <item>
        <title>明日启程</title>
        <author>tcwt008</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://tcwt008.javaeye.com">tcwt008</a>&nbsp;
                    链接：<a href="http://tcwt008.javaeye.com/blog/251823" style="color:red;">http://tcwt008.javaeye.com/blog/251823</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: indigo"><span style="font-size: large">&nbsp;&nbsp; 好像最近工厂一直正在招兵买马,又有几名新成员加入,陈总最近跑的也勤了,今天又问我关于程序设计的问题,关于我昨天忙活了半天不之所云的东西,今天下午正好有机会和他长聊了一下,嘿呀倒时候我真是可能死的很惨的,郁闷那,他说的流程我明白但是一道表述的时候我就不知道他再说什么了,他说的名次当然不能用专业的术语表述,但是他有的还使用了.不使用还好,已使用得更不懂了了,我有的说我不明白,他就一直责怪我不努力,嘿嘿你说我不懂得能说懂吗,咱不是诚实吗!然后他演示给我看黑这么简单我当然明白了.但是这时候咱又不能说早就知道这事,那不是鄙视人家吗!得了咱只好捞个不安生算了.讲了很久没有什么明确的结果这不就结束了,说是最近叫我弄个程序出来,呵呵,什么还没有准备那,再说没有网络的帮助有没有专业书籍的帮助我看是到年底也没有希望.明天所有该进行的工作都应该启动了,开发的环境要该配置了.明日启航--对明日启航.<br />&nbsp; 好久没有编写代码了,突然发现自己变傻了,发现自己离不开代码这东西了,我本来打算不用ruby开发了但是今天突然发现ruby真的会很好使用的,还是把delphi放弃吧,陈总的要求也是b/s模式的ruby on rails 最合适不过了.恩,这样对以后自己也有很大的好处,升级呗嘿嘿!</span></span>
          <br/>
          <span style="color:red;">
            <a href="http://tcwt008.javaeye.com/blog/251823#comments" style="color:red;">已有 <strong>2</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 16:21:42 +0800</pubDate>
        <link>http://tcwt008.javaeye.com/blog/251823</link>
        <guid>http://tcwt008.javaeye.com/blog/251823</guid>
      </item>
          <item>
        <title>spring学习笔记</title>
        <author>qiang106</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://qiang106.javaeye.com">qiang106</a>&nbsp;
                    链接：<a href="http://qiang106.javaeye.com/blog/251815" style="color:red;">http://qiang106.javaeye.com/blog/251815</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          今天写spring的一个MVC demo总是报错:<br />javax.servlet.ServletException: No adapter for handler [com.demo.spring.actions.LoginAction@1aacd5f]: Does your handler implement a supported interface like Controller?<br />在网上也搜了很多文章看了,各种各样的说法都有,按照他们的说话我修改程序还是不行,结果还是自己一个单词一个单词地检查控制器类,结果发现自己用eclipse导入的一个类包错了,import org.springframework.web.portlet.mvc.SimpleFormController;与i正确的mport org.springframework.web.servlet.mvc.SimpleFormController;<br />类名相同,而包路径不同,相差一点点结果让我查错查了好久,写出来,提醒自己将来不要再出这样的错误了!用IDE导入包也得要看清楚,选正确了.
          <br/>
          <span style="color:red;">
            <a href="http://qiang106.javaeye.com/blog/251815#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 15:48:08 +0800</pubDate>
        <link>http://qiang106.javaeye.com/blog/251815</link>
        <guid>http://qiang106.javaeye.com/blog/251815</guid>
      </item>
          <item>
        <title>ajax实现输入时的自动提示</title>
        <author>hnylj</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hnylj.javaeye.com">hnylj</a>&nbsp;
                    链接：<a href="http://hnylj.javaeye.com/blog/251811" style="color:red;">http://hnylj.javaeye.com/blog/251811</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>ajax技术从2005年就开始流行了起来，主要是这种技术能给用户带来更好的浏览体验，能创建更丰富的web页面，现在的项目开发中或多或少都用了ajax技术。&nbsp;&nbsp; </p>
<p>先概括性地介绍一下ajax，ajax是Asynchronous JavaScript and XML（以及 DHTML 等）的缩写。Ajax提供与服务器异步通信的能力，借助于Ajax技术，可以异步地向服务器发出请求，以执行更新或查询数据库。当请求返回时，就可以使用JavaScript和CSS来相应地更新页面，而不是刷新整个页面。最重要的是，用户甚至不知道浏览器正在与服务器通信，Web站点看起来好象是即时响应的。</p>
<p>Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入，它是一种支持异步请求的技术。简而言之，XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应。</p>
<p>&nbsp;</p>
<p>下面是本人使用ajax实现的一个简单例子，该实例实现了输入时的自动提示，类似于google输入时的提示。</p>
<p>基本思路是：前台输入查询条件，在输入的同时触发一个javascript事件，该事件创建一个XMLHttpRequest对象并异步向服务器提交请求，服务器端收到请求后执行数据库查询，将查询得到的数据以字符串的形式返回至客户端浏览器，然后将该字符串在客户端浏览器显示。</p>
<p>&nbsp;</p>
<p>按照如下的步骤进行：<br />1、编写一个jsp页面，在这个页面中有一个输入框，当用户在该输入框中输入了一个字符之后，在输入框下方将自动显示符合输入条件的从数据库中查询出来的值。下面是该jsp页面的完整代码：index.jsp</p>
<pre name="code" class="html">&lt;%@ page language="java" pageEncoding="utf-8"%&gt;

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;AJAX输入提示&lt;/title&gt;
	&lt;meta http-equiv="pragma" content="no-cache"&gt;
	&lt;meta http-equiv="cache-control" content="no-cache"&gt;
	&lt;meta http-equiv="expires" content="0"&gt;    
	&lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&gt;
	&lt;meta http-equiv="description" content="This is my page"&gt;
	&lt;style type="text/css" media="screen"&gt;
     .onmouset_out {
       background-color: #99CCFF;
       padding: 2px 6px 2px 6px;
     }
     .onmouset_over { 
       background-color: #006600;
       padding: 2px 6px 2px 6px;
     }
     #result_display {
       border: 1px solid #FFFFFF;   
     }  
    &lt;/style&gt;
	&lt;script type="text/javascript"&gt;
	  var xmlHttp; 
	  //创建XMLHttpRequest对象
	  function createXmlHttp() {
      //根据window.XMLHttpRequest对象是否存在使用不同的创建方式
	    if (window.XMLHttpRequest) {
	       //FireFox、Opera等浏览器支持的创建方式
	       xmlHttp = new XMLHttpRequest(); 
	    } else {
	       //IE浏览器支持的创建方式
	       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	    }
	  }
	  function inputSuggest() {
	     var txtValue = document.getElementById('txt').value;
	     createXmlHttp();
		 xmlHttp.onreadystatechange = _handle;
		 url = "suggest.do?txtValue=" + txtValue;
         xmlHttp.open("POST", url, false);
         xmlHttp.send(null);
	  }
	  function _handle() {
	     if(xmlHttp.readyState==4){
			if(xmlHttp.status==200){
				var str = xmlHttp.responseText.split("#");
				var s = document.getElementById('result_display')
                s.innerHTML = '';
                for(i=0; i &lt; str.length - 1; i++) {
                   var suggest = '&lt;div onmouseover="onmouseOver(this);" ';
                   suggest += 'onmouseout="onmousetOut(this);" ';
                   suggest += 'onclick="setSuggestValue(this.innerHTML);" ';
                   suggest += 'class="onmouset_out"&gt;' + str[i] + '&lt;/div&gt;';
                   s.innerHTML += suggest;
                }
			}
		 }
	  }
      function onmouseOver(div) {
         div.className = 'onmouse_over';
      }
      function onmousetOut(div) {
         div.className = 'onmouset_out';
      }
      function setSuggestValue(value) {
         document.getElementById('txt').value = value;
         document.getElementById('result_display').innerHTML = '';
      }
	&lt;/script&gt;
  &lt;/head&gt;
  
  &lt;body&gt;
    &lt;h3&gt;一个简单的AJAX输入提示&lt;/h3&gt;
     &lt;form id="frmSearch" action=""&gt;
       &lt;input type="text" id="txt" name="author" alt="输入条件" onkeyup="inputSuggest();" style="width:200px"/&gt;
       &lt;input type="submit" id="search" value="搜索" alt="搜索"/&gt;&lt;br /&gt;
       &lt;div id="result_display" style="width:200px"&gt;
       &lt;/div&gt;
     &lt;/form&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre>
<p>2、编写后台处理异步请求的处理器，该处理器我采用的是struts1.2的action,你使用其他的（如servlet，struts2等）都一样，下面是该action的完整代码:SuggestAction.java</p>
<pre name="code" class="java">package org.hnylj.ajax.action;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hnylj.db.DbManager;

/**
 * 根据前台输入异步从后台获取数据的Action
 * @编写者：hnylj
 *
 */
public class SuggestAction extends Action {

	private DbManager dbManager;
	
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		String param = request.getParameter("txtValue");
		dbManager = new DbManager();
		String result = dbManager.searchSuggest(param);
		PrintWriter out = response.getWriter();
		out.print(result);
		out.flush();
		return null;
	}
}</pre>
<p>3.该action调用了一个数据库操作类，下面是该数据库操作类的完整代码：DbManager.java</p>
<pre name="code" class="java">package org.hnylj.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 数据库管理与操作
 * @编写者：hnylj
 *
 */
public class DbManager {
	private Connection conn;
	private Statement stmt;
	private ResultSet rs;

	private static final String DRIVER = "com.mysql.jdbc.Driver";
	private static final String URL = "jdbc:mysql://localhost/suggest";
	private static final String USERNAME = "root";
	private static final String PASSWORD = "123";

	// 数据库连接
	public synchronized Connection getConnection() {
		try {
			Class.forName(DRIVER);
			conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
			return null;
		} catch (SQLException e) {
			e.printStackTrace();
			return null;
		}
		return conn;
	}
	
	/**
	 * 获取符合输入条件的数据
	 * @param conn
	 * @param sql
	 * @return
	 */
	public String searchSuggest(String param) {
		String sql = "select author from article where author like '" + param + "%' order by author";
		String author = "";
		String str = "";
		try {
			conn = this.getConnection();
			stmt = conn.createStatement();
			rs = stmt.executeQuery(sql);
			while (rs.next()) {
				author = rs.getString("author");
				str += author + "#";
			}
		} catch (SQLException e) {
			e.printStackTrace();
			return "";
		}
		return str;
	}
}</pre>
<p>&nbsp;</p>
<p>4.整个应用你还需要其他的一些配置：<br />&nbsp;(1). 数据库表(使用mysql)：</p>
<p>&nbsp; create database suggest;<br />&nbsp; use suggest;</p>
<p>&nbsp; create table article (&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; stu_id integer auto_increment,<br />&nbsp;&nbsp;&nbsp;&nbsp; author varchar(30) not null,&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; title varchar(50) not null,&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; primary key(stu_id)&nbsp;&nbsp; <br />&nbsp; );&nbsp;&nbsp; </p>
<p>&nbsp; insert into article(author,title) values('hnylj','ajax'); <br />&nbsp; insert into article(author,title) values('hylj','java');<br />&nbsp; insert into article(author,title) values('hxycj','struts');<br />&nbsp; insert into article(author,title) values('hzyhj','hibernate');<br />&nbsp; insert into article(author,title) values('haykj','spring');<br />&nbsp; insert into article(author,title) values('hkyth','oracle');<br />&nbsp; insert into article(author,title) values('hlyyi','lucence');&nbsp; </p>
<p>(2).保证struts程序正常运行所需要的其他配置，在这里不一以列出，你可以下载我提供的附件，该附件是一个完整的可以运行的程序。</p>
<p>jsp页面代码有点丑陋，大家可以在其基础上修改，也可以增强其功能，例如增加每个显示结果的条数等！</p>
<p>和大家一起交流，我的博客地址：<a href="/">http://hnylj.javaeye.com</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://hnylj.javaeye.com/blog/251811#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 15:25:15 +0800</pubDate>
        <link>http://hnylj.javaeye.com/blog/251811</link>
        <guid>http://hnylj.javaeye.com/blog/251811</guid>
      </item>
          <item>
        <title>如何集成shark工作流到你自己的业务系统</title>
        <author>gzspark</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gzspark.javaeye.com">gzspark</a>&nbsp;
                    链接：<a href="http://gzspark.javaeye.com/blog/251800" style="color:red;">http://gzspark.javaeye.com/blog/251800</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          好久没有去看shark项目的进展了，说起来有些惭愧上次去enhydra.org网站应该还是四年前的事情了，shark 1.x版本一直觉得够用了，也就不再留意它的进展了。也一直未做过什么对外的文档与代码贡献，鄙视一下。今天来看看网站上对shark的描述，提些自己的看法与应用认识。<br /><br />Shark与JaWE是Enhydra基于LGPL授权协议下提供的一组开源工作流软件。打个比方就类似于JasperReport与iReport的两者的关系。Shark提供完整的工作流引擎，JaWE是一个工作流程设计器与调试环境。<br /><br />以我使用的经验来说，Shark是一个严格遵守WFMC标准的，使用XPDL语言进行描述的引擎。Shark可以应用在多种J2EE容器下支持会话Bean与Corba方式调用及WEB服务调用。<br /><br />初学者很容易被这些开源项目中大量的概念与术语吓住，基本上都是死在第一步上的，无法入手。以我的经验来说，先了解WFMC标准与XPDL语言标签的含义，你有个基本的概念头认识后，然后用JaWE模仿示例做几个你常用的小流程，调试跑起来，你立即就会被它吸引上而不断去尝试它博大精深的内容。<br /><br />当然，很多人又会跳出来说Shark不好，它是基于自己的框架开发的，并未使用struts/spring+hibernate这些更大众化的框架来做，它有自己的DODS等技术，学习曲线与成本很高。好象OFBiz不被大家接收也是这个原因（它有自己的OR技术与Framework）关于这点我的看法是，如果你是应付一些简单项目业务需求，是无需套用象OFBiz或Shark这些面向企业业务应用的框架，这叫用高射炮打蚊子。简单的信息CRUD自己随便找个框架或是原来的代码拷贝修改一下就可以了。不要天天比较说这个业务框架不好，那个技术不够开放。要知道这些项目都是这些开源组织多年持续坚持不断积累的沉淀，那时哪有这么多成熟的技术框架呀？而且我觉得客户或是作为技术负责人来说，只有最适合的，没有说一定要什么技术框架？啥叫主流？啥叫未来方向？扯淡多过实际，再过两三年现在所谓的主流框架还真的是主流吗？<br /><br />shark在不同的人手中应该是可以有不同的用法，我是把它独立做为一个组件来应用的，使用需要用到工作流程驱动的应用我会使用到它。通过JaWE根据业务需求设计XPDL文件存放至资源库中，把流程结束点需触发的应用做成外部应用在工作流程中加以定义（支持Beanshell/WebService多种方式），类似于JspClient的示例方式在你自己的页面中提供待办事宜、工作申报、审批等操作。当然最主要的集成工作就是组织结构与权限的融合。这样你的业务系统就可以同shark全面融合了。最棒的情况下就是多个业务系统通过shark的同一实例串接起来，实现不同业务系统的工作衔接。<br /><br />说得有些粗糙，可能文笔比较差，也不知别人是否能明白。以后有机会再就某个主题来说吧。<br /><br />本人原创文章，欢迎转载，转载请注明出处！
          <br/>
          <span style="color:red;">
            <a href="http://gzspark.javaeye.com/blog/251800#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 13:41:27 +0800</pubDate>
        <link>http://gzspark.javaeye.com/blog/251800</link>
        <guid>http://gzspark.javaeye.com/blog/251800</guid>
      </item>
          <item>
        <title>什么是脏读、不可重复读、幻读</title>
        <author>zzq230</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cupoy.javaeye.com">zzq230</a>&nbsp;
                    链接：<a href="http://cupoy.javaeye.com/blog/251796" style="color:red;">http://cupoy.javaeye.com/blog/251796</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p class="MsoNormal"><strong><span style="color: red;">1.</span>
</strong>
<strong><span style="font-family: 宋体; color: red;">脏读</span>
</strong>
<span style="font-family: 宋体;">：脏读就是指当一个事务正在访问数据，并且对数据进行了修改，而这种修改还没有提交到数据库中，这时，另外一个事务也访问这个数据，然后使用了这个数据。</span>
</p>
<p class="MsoNormal"><strong><span style="color: red;">2.</span>
</strong>
<strong><span style="font-family: 宋体; color: red;">不可重复读</span>
</strong>
<span style="font-family: 宋体;">：是指在一个事务内，多次读同一数据。在这个事务还没有结束时，另外一个事务也访问该同一数据。那么，在第一个事务中的两次读数据之间，由于第二个事务的修改，那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的，因此称为是不可重复读。例如，一个编辑人员两次读取同一文档，但在两次读取之间，作者重写了该文档。当编辑人员第二次读取文档时，文档已更改。原始读取不可重复。如果只有在作者全部完成编写后编辑人员才可以读取文档，则可以避免该问题。</span>
</p>
<p class="MsoNormal"><strong><span style="color: red;">3. </span>
</strong>
<strong><span style="font-family: 宋体; color: red;">幻读</span>
</strong>
<span style="font-size: 9pt; font-family: Verdana;">:</span>
<span style="font-size: 9pt; font-family: 宋体;">是指当事务不是独立执行时发生的一种现象，例如第一个事务对一个表中的数据进行了修改，这种修改涉及到表中的全部数据行。同时，第二个事务也修改这个表中的数据，这种修改是向表中插入一行新数据。那么，以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行，就好象发生了幻觉一样。例如，一个编辑人员更改作者提交的文档，但当生产部门将其更改内容合并到该文档的主复本时，发现作者已将未编辑的新材料添加到该文档中。如果在编辑人员和生产部门完成对原始文档的处理之前，任何人都不能将新材料添加到文档中，则可以避免该问题。</span>

</p>
<p class="MsoNormal"><strong><span style="font-family: 宋体; color: red;">补充</span>
<span style="color: red;">:</span>
</strong>
<span style="font-size: 9pt; font-family: 宋体;">基于元数据的</span>
<span style="font-size: 9pt; font-family: Verdana;">Spring</span>
<span style="font-size: 9pt; font-family: 宋体;">声明性事务</span>
<span style="font-size: 9pt; font-family: Verdana;">:</span>
</p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: Verdana;">Isolation</span>
<span style="font-size: 9pt; font-family: 宋体;">属性一共支持五种事务设置，具体介绍如下：</span>

</p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><!--  [if !supportLists]--><span style="font-size: 9pt; font-family: Wingdings;"><span>l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>
</span>
</span>
<!--  [endif]--><span style="font-size: 9pt; font-family: Verdana;">DEFAULT </span>
<span style="font-size: 9pt; font-family: 宋体;">使用数据库设置的隔离级别</span>
<span style="font-size: 9pt; font-family: Verdana;">(</span>
<span style="font-size: 9pt; font-family: 宋体;">默认</span>
<span style="font-size: 9pt; font-family: Verdana;">)
</span>
<span style="font-size: 9pt; font-family: 宋体;">，由</span>
<span style="font-size: 9pt; font-family: Verdana;">DBA</span>
<span style="font-size: 9pt; font-family: 宋体;">默认的设置来决定隔离级别</span>
<span style="font-size: 9pt; font-family: Verdana;">.</span>
</p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><!--  [if !supportLists]--><span style="font-size: 9pt; font-family: Wingdings;"><span>l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>
</span>
</span>
<!--  [endif]--><span style="font-size: 9pt; font-family: Verdana;">READ_UNCOMMITTED </span>
<span style="font-size: 9pt; font-family: 宋体;">会出现脏读、不可重复读、幻读</span>
<span style="font-size: 9pt; font-family: Verdana;">(</span>
<span style="font-size: 9pt; font-family: 宋体;">隔离级别最低，并发性能高</span>
<span style="font-size: 9pt; font-family: Verdana;">)</span>
</p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><!--  [if !supportLists]--><span style="font-size: 9pt; font-family: Wingdings;"><span>l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>
</span>
</span>
<!--  [endif]--><span style="font-size: 9pt; font-family: Verdana;">READ_COMMITTED<span>&nbsp; </span>
</span>
<span style="font-size: 9pt; font-family: 宋体;">会出现不可重复读、幻读问题（锁定正在读取的行）</span>

</p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><!--  [if !supportLists]--><span style="font-size: 9pt; font-family: Wingdings;"><span>l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>
</span>
</span>
<!--  [endif]--><span style="font-size: 9pt; font-family: Verdana;">REPEATABLE_READ </span>
<span style="font-size: 9pt; font-family: 宋体;">会出幻读（锁定所读取的所有行）</span>

</p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><!--  [if !supportLists]--><span style="font-size: 9pt; font-family: Wingdings;"><span>l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>
</span>
</span>
<!--  [endif]--><span style="font-size: 9pt; font-family: Verdana;">SERIALIZABLE </span>
<span style="font-size: 9pt; font-family: 宋体;">保证所有的情况不会发生（锁表）</span>

</p>
<p class="MsoNormal"><strong><span style="font-size: 9pt; font-family: 宋体;">不可重复读的重点是修改</span>
</strong>
<strong><span style="font-size: 9pt; font-family: Verdana;">: </span>
</strong>
<span style="font-size: 9pt; font-family: Verdana;"><br />
</span>
<span style="font-size: 9pt; font-family: 宋体;">同样的条件</span>
<span style="font-size: 9pt; font-family: Verdana;">, &nbsp; </span>
<span style="font-size: 9pt; font-family: 宋体;">你读取过的数据</span>
<span style="font-size: 9pt; font-family: Verdana;">, &nbsp; </span>
<span style="font-size: 9pt; font-family: 宋体;">再次读取出来发现值不一样了</span>
<span style="font-size: 9pt; font-family: Verdana;"> <br />
</span>
<strong><span style="font-size: 9pt; font-family: 宋体;">幻读的重点在于新增或者删除</span>
</strong>
<strong><span style="font-size: 9pt; font-family: Verdana;"> </span>
</strong>
<span style="font-size: 9pt; font-family: Verdana;"><br />
</span>
<span style="font-size: 9pt; font-family: 宋体;">同样的条件</span>
<span style="font-size: 9pt; font-family: Verdana;">, &nbsp; </span>
<span style="font-size: 9pt; font-family: 宋体;">第</span>
<span style="font-size: 9pt; font-family: Verdana;">1</span>
<span style="font-size: 9pt; font-family: 宋体;">次和第</span>
<span style="font-size: 9pt; font-family: Verdana;">2</span>
<span style="font-size: 9pt; font-family: 宋体;">次读出来的记录数不一样</span>

</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://cupoy.javaeye.com/blog/251796#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 13:23:37 +0800</pubDate>
        <link>http://cupoy.javaeye.com/blog/251796</link>
        <guid>http://cupoy.javaeye.com/blog/251796</guid>
      </item>
          <item>
        <title>Java用for循環Map</title>
        <author>zhouyrt</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhouyrt.javaeye.com">zhouyrt</a>&nbsp;
                    链接：<a href="http://zhouyrt.javaeye.com/blog/251794" style="color:red;">http://zhouyrt.javaeye.com/blog/251794</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>根据JDK5的新特性,用For循环Map,例如循环Map的Key</p>
<p>&nbsp;</p>
<pre name="code" class="java">  for(String dataKey : paraMap.keySet())   {   
      System.out.println(dataKey );              
  }</pre>
<p>注意的是,para<span class="hilite1">Map</span>
是怎么样定义的,如果是简单的<span class="hilite1">Map</span>
 para<span class="hilite1">Map</span>
 = new Hash<span class="hilite1">Map</span>
();那前面的String就只能换成Object了.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>循環整個map的key和value</p>
<p>&nbsp;</p>
<pre name="code" class="java">  Map&lt;Integer,String&gt; map = new LinkedHashMap&lt;Integer,String&gt;();
  map.put(1, &quot;星期一&quot;);
  map.put(2, &quot;星期二&quot;);
  map.put(3, &quot;星期三&quot;);
  map.put(4, &quot;星期四&quot;);
  map.put(5, &quot;星期五&quot;);
  map.put(6, &quot;星期六&quot;);
  map.put(7, &quot;星期日&quot;);

  for(Map.Entry&lt;Integer, String&gt; entry: map.entrySet()) {
     System.out.print(entry.getKey() + &quot;:&quot; + entry.getValue() + &quot;\t&quot;);
  }</pre>
<p>&nbsp;</p>
<p>輸出結果：</p>
<p>&nbsp;</p>
<p>1:星期一 2:星期二 3:星期三 4:星期四 5:星期五 6:星期六 7:星期日</p>
          <br/>
          <span style="color:red;">
            <a href="http://zhouyrt.javaeye.com/blog/251794#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Oct 2008 13:13:39 +0800</pubDate>
        <link>http://zhouyrt.javaeye.com/blog/251794</link>
        <guid>http://zhouyrt.javaeye.com/blog/251794</guid>
      </item>
          <item>
        <title>淘宝上，我被骗了</title>
        <author>liuleixiaoxia</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://liuleixiaoxia.javaeye.com">liuleixiaoxia</a>&nbsp;
                    链接：<a href="http://liuleixiaoxia.javaeye.com/blog/251792" style="color:red;">http://liuleixiaoxia.javaeye.com/blog/251792</a>&nbsp;
          发表时间: 2008年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 15.75pt; mso-char-indent-count: 1.5;"><span><span style="font-size: small; color: #ff0000; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">我是第二次在淘宝上消费，没有想到这次消费给我带来的麻烦是这么的大啊！</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 15.75pt; mso-char-indent-count: 1.5;"><span><span style="font-size: small; color: #ff0000; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">以下所讲述的都是真人真事！</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span><span><span style="font-size: small;"><span style="color: #ff0000;"><span style="mso-spacerun: yes;"><span style="font-family: Times New Roman;">&nbsp;&nbsp; </span></span></span><span style="color: #ff0000; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">傍晚时我的手机没有费了，而且还有事情需要处理，所以就匆忙在淘宝上找了个卖充值卡的商家，这是我们在旺旺上的聊天记录：</span></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span><span style="font-family: Times New Roman;"><span><span style="font-size: small;"><span style="mso-spacerun: yes;">&nbsp;&nbsp; </span>liuleixiaoxia(17:01:43): </span></span></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">还能冲钱吗</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">cctv95588(17:01:47): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">可以充的</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">cctv95588(17:01:50): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span><span><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">全国通用</span><span lang="EN-US"><span style="font-family: Times New Roman;"> 10</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">分钟到帐</span><span lang="EN-US"><span style="font-family: Times New Roman;"> 100</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">话费只要</span><span lang="EN-US"><span style="font-family: Times New Roman;">88.2</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">元</span><span lang="EN-US"><span style="font-family: Times New Roman;">http://auction1.taobao.com/auction/item_detail-db2-d9ff2895fff6d4a8bc468cca4c64e2fe.jhtml </span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">这个就是充值卡</span><span style="font-family: Times New Roman;"> </span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">现在淘宝对低价充值卡管的比较严</span><span style="font-family: Times New Roman;"> </span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">为了市场平等</span><span style="font-family: Times New Roman;"> </span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">所以我们就换成了游戏的连接</span><span style="font-family: Times New Roman;"> </span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">但是里面的卡号和密码是充值卡的</span><span style="font-family: Times New Roman;"> </span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">请放心吧！</span></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">cctv95588(17:01:52): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span><span><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">拍这个</span><span lang="EN-US"><span style="font-family: Times New Roman;"> 100</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">卖</span><span lang="EN-US"><span style="font-family: Times New Roman;">88.2</span></span></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">liuleixiaoxia(17:02:17): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">我看看</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">cctv95588(17:02:29): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span><span><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">描述是游戏卡</span><span lang="EN-US"><span style="font-family: Times New Roman;">!</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">其实是手机充值卡的连接</span><span lang="EN-US"><span style="font-family: Times New Roman;">!</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">那样设置是为了防止同行乱拍和倒卖</span><span lang="EN-US"><span style="font-family: Times New Roman;">!</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">请放心拍</span><span lang="EN-US"><span style="font-family: Times New Roman;">!</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">充不了可以退拍</span><span lang="EN-US"><span style="font-family: Times New Roman;">!</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">消保保障</span><span lang="EN-US"><span style="font-family: Times New Roman;">!</span></span></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">liuleixiaoxia(17:03:28): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">北京的能冲吗</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">cctv95588(17:03:32): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">可以充的</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">liuleixiaoxia(17:03:41): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">我现在在佳木斯</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">cctv95588(17:03:48): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span><span><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">拍下付款后点已买到的宝贝</span><span style="font-family: Times New Roman;"> </span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">点提取卡密</span><span style="font-family: Times New Roman;"> </span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">然后去</span><span lang="EN-US"><span style="font-family: Times New Roman;">http://yidongkuc.d137.5kweb.cn/</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">平台进行充值</span><span lang="EN-US"><span style="font-family: Times New Roman;"> 10</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">分钟到帐</span></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">liuleixiaoxia(17:07:31): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">用佳木斯的号能给北京的号充吗</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">cctv95588(17:07:47): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">在平台上冲就可以了</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">liuleixiaoxia(17:11:46): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">我拍了怎么没有看见啊</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">cctv95588(17:11:54): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span><span><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">拍下付款后点已买到的宝贝</span><span style="font-family: Times New Roman;"> </span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">点提取卡密</span><span style="font-family: Times New Roman;"> </span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">然后去</span><span lang="EN-US"><span style="font-family: Times New Roman;">http://yidongkuc.d137.5kweb.cn/</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">平台进行充值</span><span lang="EN-US"><span style="font-family: Times New Roman;"> 10</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">分钟到帐</span></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">cctv95588(17:11:56): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span><span><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">点提取卡密后</span><span style="font-family: Times New Roman;"> </span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">并选择&ldquo;向我索取卡密的就是骗子</span><span lang="EN-US"><span style="font-family: Times New Roman;">,</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">因为真的卖家完全知道我拍的任何一张卡号密码&rdquo;，就会自动出现卡密了</span></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">cctv95588(17:13:19): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">看到了吗</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">liuleixiaoxia(17:13:31): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">正充中</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">liuleixiaoxia(17:14:07): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">有两个手机号</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">liuleixiaoxia(17:14:13): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">写一样吗</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">cctv95588(17:14:20): </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Ro