﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-华山论剑</title><link>http://www.blogjava.net/daxia/</link><description>一心一意做技术！</description><language>zh-cn</language><lastBuildDate>Tue, 28 Apr 2026 19:01:15 GMT</lastBuildDate><pubDate>Tue, 28 Apr 2026 19:01:15 GMT</pubDate><ttl>60</ttl><item><title>一个“Spring轮子”引发的血案(1)</title><link>http://www.blogjava.net/daxia/archive/2006/07/14/58131.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Fri, 14 Jul 2006 03:32:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/07/14/58131.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/58131.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/07/14/58131.html#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/58131.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/58131.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: <a href=http://blog.csdn.net/easyjf/archive/2006/07/12/910060.aspx>http://blog.csdn.net/easyjf/archive/2006/07/12/910060.aspx</a><br>前段时间写了一篇关于名为《玩玩Spring之Rod Johnson 与“轮子理论” 》的文章，引来了一些Spring的狂热爱好者(这里我把他们称为Spring迷或者“春迷”)的莫明的攻击。让我看到了国内技术研发领域所充斥着的盲从、浮躁氛围不禁感到有点可怕，也被这些攻击压得很长一段时间透不过气来，还好一个月的世界杯给了我疗伤的机会。关于本案详细的故事内容请看： 一个“轮子理论”引发的“血案”(2) Spring轮子血案的插曲! &nbsp;&nbsp;<a href='http://www.blogjava.net/daxia/archive/2006/07/14/58131.html'>阅读全文</a><img src ="http://www.blogjava.net/daxia/aggbug/58131.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-07-14 11:32 <a href="http://www.blogjava.net/daxia/archive/2006/07/14/58131.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>lucene全文检索应用示例及代码简析</title><link>http://www.blogjava.net/daxia/archive/2006/07/03/56277.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Mon, 03 Jul 2006 03:51:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/07/03/56277.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/56277.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/07/03/56277.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/56277.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/56277.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Lucene是apache软件基金会 jakarta项目组的一个子项目，是一个开放源代码的全文检索引擎工具包及架构，提供了完整的查询引擎和索引引擎，实现了一些通用的分词算法，预留很多词法分析器接口。本文以myrss.easyjf.com网站系统中使用Lucene实现全文检索的代码为例，简单演示Lucene在实际项目中的应用。&nbsp;&nbsp;<a href='http://www.blogjava.net/daxia/archive/2006/07/03/56277.html'>阅读全文</a><img src ="http://www.blogjava.net/daxia/aggbug/56277.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-07-03 11:51 <a href="http://www.blogjava.net/daxia/archive/2006/07/03/56277.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>EasyJWeb Tools中代码自动生成引擎详解</title><link>http://www.blogjava.net/daxia/archive/2006/06/28/55482.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Wed, 28 Jun 2006 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/06/28/55482.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/55482.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/06/28/55482.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/55482.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/55482.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在EasyJWeb-0.6.0推出来以后，很多网友对其中的代码生成部分非常感兴趣，并来信问了一些如何使用easyjwebtools、如何支持多表生成、生成页面的定制、业务逻辑的定制等很多问题。下面以我自己的理解，简单介绍一下EasyJWeb Tools中的代码生成的应用方法及展望。&nbsp;&nbsp;<a href='http://www.blogjava.net/daxia/archive/2006/06/28/55482.html'>阅读全文</a><img src ="http://www.blogjava.net/daxia/aggbug/55482.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-06-28 10:37 <a href="http://www.blogjava.net/daxia/archive/2006/06/28/55482.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>世界杯与国产开源系列文章发布友情公告</title><link>http://www.blogjava.net/daxia/archive/2006/06/28/55435.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Tue, 27 Jun 2006 18:55:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/06/28/55435.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/55435.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/06/28/55435.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/55435.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/55435.html</trackback:ping><description><![CDATA[
		<p>　　最近有很多朋友来信问为什么不继续更新Blog，主要是因为足球确实太影响了工作的原因。喜欢捕捉生活中点滴的我，本来想把看球的心得结合所从事的职业，发表自己的见解在此与大家分享，但由于部份人强烈反对在Blogjava上发布类似借足球说技术、谈项目管理、技术团队协作、开源环境研究的非纯技术文章，并给blogjava站长造成一定的压力，在此深表歉意。<br /><br />　　因此，这个Blog以后会继续会发布大峡在工作中的一些技术心得、总结及体会等非常纯技术性的文章。至于那些可能引起某些人不满或误解的文章，将全部发到CSDN上，这里会在这个公告中同步发布文章标题及连接，欢迎对这些文章感兴趣的朋友前去指教。<br /><br />　　本人的《世界杯与国产开源》系列文章已经全部更新在CSDN上，欢迎大家来一起为国产开源的环境建设进行探讨，共同进步。<br /><br />　　下面是《世界杯与国产开源》系列文章的摘要及连接(此处于CSDN同步更新)：<br />　　<a href="http://blog.csdn.net/easyjf/archive/2006/07/10/900180.aspx"><img height="13" src="http://blog.csdn.net/images/authorship.gif" width="15" border="0" /> 世界杯与国产开源(六)-尾声</a><br />    摘要：世界杯结束了，留给我们很多，德国人的完美进攻风爆，法国人的浪漫与协调，葡萄牙人拼搏精神，意大利人的智慧。    （全文共699字）——点击<a href="http://blog.csdn.net/easyjf/archive/2006/07/10/900180.aspx" target="_blank">此处</a>阅读全文<br /><br />　　<a href="http://blog.csdn.net/easyjf/archive/2006/06/28/843375.aspx"><img height="13" src="http://blog.csdn.net/images/authorship.gif" width="15" border="0" /> 世界杯与国产开源(五)-“君子剑”</a><br />         摘要：术业有专攻，因此，每一个领域都有相关领域的资深专家，足球与软件也不例外。因此，今天笔者的话题就来扯谈一下资深专家这个话题 。    （全文共2795字）——点击<a href="http://blog.csdn.net/easyjf/archive/2006/06/28/843375.aspx" target="_blank">此处</a>阅读全文<br /><br />　　<a href="http://blog.csdn.net/easyjf/archive/2006/06/17/806741.aspx"><img height="13" src="http://blog.csdn.net/images/authorship.gif" width="15" border="0" /> 世界杯与国产开源(四)-为梦而生</a><br />　　 摘要：今年的世界杯，有很多是第一次登上世界杯这个大舞台的球队，特立尼达和多巴哥、安哥拉、科特迪瓦等。很多年的努力，终于登上这个舞台。虽然他们都未赢得比赛，精彩的表演却赢得了全世界的尊重与喝彩。开源是一个全世界领域的活动，就像足球一样。国产开源，我们为梦而生。    （全文共984字）——点击<a href="http://blog.csdn.net/easyjf/archive/2006/06/17/806741.aspx" target="_blank">此处</a>阅读全文<br /><br />　　<a href="http://blog.csdn.net/easyjf/archive/2006/06/13/794167.aspx"><img height="13" src="http://blog.csdn.net/images/authorship.gif" width="15" border="0" /> 世界杯与国产开源(三)－团队之星 </a><br />　　  摘要：除了日本的黑色3分钟让人叹惜以外，昨晚的收获还不错，看到了捷克的稳重与成熟，也看到了意大利蓝色风暴的近乎完美表演，在防守与进攻之间的如此谐调。当然还有加纳球员个人技术的精湛及中场有机协作所表现出的强大威力。今天，足球的大餐已经享受。在这里，借世界杯的“团队之星”，谈谈软件开发中的团队协作。     （全文共2477字）——点击<a href="http://blog.csdn.net/easyjf/archive/2006/06/13/794167.aspx" target="_blank">此处</a>阅读全文<br /><br />　　<a href="http://blog.csdn.net/easyjf/archive/2006/06/11/788718.aspx"><img height="13" src="http://blog.csdn.net/images/authorship.gif" width="15" border="0" /> 世界杯与国产开源(二)</a><br />　　摘要：6月11日零晨2点，特立尼达VS瑞典，0:0！如果说昨天的4:2，德国人与哥斯达黎加人给我展示的是攻势足球的华丽及赏心悦目。而今天的0:0，特立尼达和多巴哥人及教练本哈克给我们展示了弱小者的血性及亮剑精神。今夜，比昨夜更加的感人。今天不想讨论开源的国界问题。我要谈的国产开源的问题！    （全文共2483字）——点击<a href="http://blog.csdn.net/easyjf/archive/2006/06/11/788718.aspx" target="_blank">此处</a>阅读全文<br /><br />　　<a href="http://blog.csdn.net/easyjf/archive/2006/06/10/786584.aspx"><img height="13" src="http://blog.csdn.net/images/authorship.gif" width="15" border="0" /> 世界杯与国产开源(一) </a><br />　　 摘要：4:2，6个球，TMD(甜蜜地)爽后，继续回来谈国产开源。这几天一直不在状态、一直很郁闷。好在今年除了技术、除了开源、除了java，今年还有世界杯、还有足球。谢谢世界杯、谢谢克林斯曼、谢谢克洛斯、谢谢万乔普，让我郁闷的心情一扫而光，流言、谩骂、砖头、口水通通抛到九宵云外。    （全文共3145字）——点击<a href="http://blog.csdn.net/easyjf/archive/2006/06/10/786584.aspx" target="_blank">此处</a>阅读全文<br /></p>
		<p> </p>
<img src ="http://www.blogjava.net/daxia/aggbug/55435.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-06-28 02:55 <a href="http://www.blogjava.net/daxia/archive/2006/06/28/55435.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个命令搞定Java Web通用添删改查及分页代码(音视频) </title><link>http://www.blogjava.net/daxia/archive/2006/06/27/55272.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Tue, 27 Jun 2006 02:32:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/06/27/55272.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/55272.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/06/27/55272.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/55272.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/55272.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: RoR可以一个命令生成添删改查，曾经让我们有点震惊。其实Java也末尝不可，以前做J2EE开发中，就经常用工具生成各种各样的代码。而现在我们稍作调整就可以生成超轻量级的快速应用代码。&nbsp;&nbsp;<a href='http://www.blogjava.net/daxia/archive/2006/06/27/55272.html'>阅读全文</a><img src ="http://www.blogjava.net/daxia/aggbug/55272.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-06-27 10:32 <a href="http://www.blogjava.net/daxia/archive/2006/06/27/55272.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>世界杯与国产开源(三)－团队之星</title><link>http://www.blogjava.net/daxia/archive/2006/06/13/52390.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Tue, 13 Jun 2006 03:37:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/06/13/52390.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/52390.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/06/13/52390.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/52390.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/52390.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 除了日本的黑色3分钟让人叹惜以外，昨晚的收获还不错，看到了捷克的稳重与成熟，也看到了意大利蓝色风暴的近乎完美表演，在防守与进攻之间的如此谐调。当然还有加纳球员个人技术的精湛及中场有机协作所表现出的强大威力。今天，足球的大餐已经享受。在这里，借世界杯的“团队之星”，谈谈软件开发中的团队协作。&nbsp;&nbsp;<a href='http://www.blogjava.net/daxia/archive/2006/06/13/52390.html'>阅读全文</a><img src ="http://www.blogjava.net/daxia/aggbug/52390.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-06-13 11:37 <a href="http://www.blogjava.net/daxia/archive/2006/06/13/52390.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>世界杯与国产开源(二) </title><link>http://www.blogjava.net/daxia/archive/2006/06/11/51996.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Sun, 11 Jun 2006 06:54:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/06/11/51996.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/51996.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/06/11/51996.html#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/51996.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/51996.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 6月11日零晨2点，特立尼达VS瑞典，0:0！如果说昨天的4:2，德国人与哥斯达黎加人给我展示的是攻势足球的华丽及赏心悦目。而今天的0:0，特立尼达和多巴哥人及教练本哈克给我们展示了弱小者的血性及亮剑精神。今夜，比昨夜更加的感人。今天不想讨论开源的国界问题。我要谈的国产开源的问题！&nbsp;&nbsp;<a href='http://www.blogjava.net/daxia/archive/2006/06/11/51996.html'>阅读全文</a><img src ="http://www.blogjava.net/daxia/aggbug/51996.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-06-11 14:54 <a href="http://www.blogjava.net/daxia/archive/2006/06/11/51996.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>世界杯与国产开源(一)</title><link>http://www.blogjava.net/daxia/archive/2006/06/10/51854.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Sat, 10 Jun 2006 08:27:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/06/10/51854.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/51854.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/06/10/51854.html#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/51854.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/51854.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 4:2，6个球，TMD(甜蜜地)爽后，继续回来谈国产开源。这几天一直不在状态、一直很郁闷。好在今年除了技术、除了开源、除了java，今年还有世界杯、还有足球。谢谢世界杯、谢谢克林斯曼、谢谢克洛斯、谢谢万乔普，让我郁闷的心情一扫而光，流言、谩骂、砖头、口水通通抛到九宵云外。&nbsp;&nbsp;<a href='http://www.blogjava.net/daxia/archive/2006/06/10/51854.html'>阅读全文</a><img src ="http://www.blogjava.net/daxia/aggbug/51854.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-06-10 16:27 <a href="http://www.blogjava.net/daxia/archive/2006/06/10/51854.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)科技造假事件解析：专家鉴定沦为鸣锣开道角色 !</title><link>http://www.blogjava.net/daxia/archive/2006/06/10/51803.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Sat, 10 Jun 2006 04:06:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/06/10/51803.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/51803.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/06/10/51803.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/51803.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/51803.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 近年来查处的有关科技造假事件中，专家鉴定沦为鸣锣开道的“角色”，暴露出国内科研成果鉴定机制的严重弊端。《?望新闻周刊》记者通过采访，从专家鉴定的角度对科技造假现象进行了分析。&nbsp;&nbsp;<a href='http://www.blogjava.net/daxia/archive/2006/06/10/51803.html'>阅读全文</a><img src ="http://www.blogjava.net/daxia/aggbug/51803.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-06-10 12:06 <a href="http://www.blogjava.net/daxia/archive/2006/06/10/51803.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)杜红超：中国软件，谁的问题？</title><link>http://www.blogjava.net/daxia/archive/2006/06/10/51802.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Sat, 10 Jun 2006 04:01:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/06/10/51802.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/51802.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/06/10/51802.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/51802.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/51802.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 女儿十岁了，按照学校要求从小学开始学电脑。英语对她来说还很陌生，但是Windows 、Office、INTERNET之类的单词却记得很清楚。一天晚上她问我：“爸爸，为什么我们电脑里的软件名字都是英文的？”，  “那些软件都是外国人做的”，我回答。 “我们做不出来吗？”她接着问。我不再回答。 &nbsp;&nbsp;<a href='http://www.blogjava.net/daxia/archive/2006/06/10/51802.html'>阅读全文</a><img src ="http://www.blogjava.net/daxia/aggbug/51802.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-06-10 12:01 <a href="http://www.blogjava.net/daxia/archive/2006/06/10/51802.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《80前的前辈，你们都做了些什么？!》一文的正确解读及是是非非 </title><link>http://www.blogjava.net/daxia/archive/2006/06/06/50652.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Tue, 06 Jun 2006 01:04:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/06/06/50652.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/50652.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/06/06/50652.html#Feedback</comments><slash:comments>86</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/50652.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/50652.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 做技术的我，写了一篇非技术名为《80前的前辈，你们都做了什么?!》的文章，引来了口水砖头一大片，也因此牵连我的老东家EasyJF开源团队。本文对《80前》一文件作简单小结，并分析所引起的一些争鸣。&nbsp;&nbsp;<a href='http://www.blogjava.net/daxia/archive/2006/06/06/50652.html'>阅读全文</a><img src ="http://www.blogjava.net/daxia/aggbug/50652.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-06-06 09:04 <a href="http://www.blogjava.net/daxia/archive/2006/06/06/50652.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>玩玩Spring之IOC(一) </title><link>http://www.blogjava.net/daxia/archive/2006/06/02/49843.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Fri, 02 Jun 2006 00:45:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/06/02/49843.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/49843.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/06/02/49843.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/49843.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/49843.html</trackback:ping><description><![CDATA[
		<div>　　Spring的功能是很强大的，在其“<strong>绝不发明自己认为好的轮子，而只发明自己认为不好的轮子</strong>”的指导思想下，通过充分实践了“<strong>一切实事求是、‘循证架构’的工作方式</strong>”的理论，基本上把轻量级的J2EE应用框架（如ORM、MVC等）进行了整合，并构架了一些常用的功能(如DAO)，形成了一个功能强大的J2EE轻量级企业应用框架。<br />　　然而，或许是大家对Spring掌握得还不透彻的缘故吧，看到很多软件企业中用到的Spring功能，基本上大多数都只是用其IOC功能，有时候附带用了其中的AOP事务管理功能。<br />　　IOC及AOP虽然不是Spring首创，然而其在这两块都是做得很不错的，应该说整个Spring框架就是围绕着其IOC实现及AOP实现架设起来的。我想，深入挖掘IOC、AOP以及Spring中的实现，使用等，对于初学者帮助会非常大，因此，从本期开始，大峡的《玩玩Spring系列》将伴随大家一起走进IOC及AOP的世界。<br />　　由于本人水平有限，文中难免有很多不足甚至错误之处，还请各位朋友不吝批评指教。</div>
		<div> </div>
		<div>
				<strong>一、IOC简介</strong>
				<br />　　IOC-全称Inversion of Control，中文解释：控制反转。另外，IOC又称DI(全称)Dependency Injection，中文解释：依赖注入。<br />　　呵呵，这些名词搞得有点像学古文的味道哈。很多大师还都说IOC中有一个著名的好莱坞理论：你呆着别动，到时我会找你。由于本人未到过好莱坞参加过社会实践，因此，这句话理解有点困难。<br />　　IOC是一种新的设计模式，即IOC模式，系统中通过引入实现了IOC模式的IOC容器，即可由IOC容器来管理对象的生命周期、依赖关系等，从而使得应用程序的配置和依赖性规范与实际的应用程序代码分开。其中一个特点就是通过文本的配件文件进行应用程序组件间相互关系的配置，而不用重新修改并编译具体的Java代码。<br />　　当前比较知名的IOC容器有：Pico Container、Avalon 、Spring、JBoss、HiveMind、EJB等，国内由板桥里人负责的国产开源项目Jdon框架，也是具有IOC容器功能(由于没来得及认真研读其源码，似乎jdon中IOC部份是调用Pico的IOC容器功能来实现的)。<br />　　在上面的几个IOC容器中，<strong>轻量级的有Pico Container、Avalon、Spring、HiveMind等，超重量级的有EJB，而半轻半重的有容器有JBoss，Jdon等</strong>。<br />　　<br />　　IOC究竟是什么？IOC是如何产生的?用在什么场合?为什么我们以前不用IOC，而现在要用IOC？“<strong>物有本末，事有终始</strong>”，为了更加透彻的理解这一问题，大峡打算从自己所理解的面向对象(OO)设计及编程发展历程来进行分析，也许这样能让IOC的初学者更加了解IOC的发展的前因后果，争取做到“<strong>知其然，知其所以然，使其然</strong>!”。<br />　　若大家等不急了，就直接百度一下有关IOC的其它文章，这方面国内很多先驱们已经作了很多介绍。如冰云的《IOC详解》、板桥里人的设计模式及IOC理论等。</div>
		<div> </div>
		<div>
				<strong>二、 最老的OO编程</strong>
		</div>
		<div>　　记得曾经看《Think in Java》最早版本的时候，里面有这么一句让人振奋话：一切都是对象。这时我们OO编程的核心是围绕着面向对象编程的三个特性即<strong>“继承”、“封装”、“多态”</strong>来展开的。<br /><strong>2.1 封装</strong><br />　　那时我们学会了对现实就的事物及软件模型进行了抽象。比如要描述一只猫，那么这支猫应该有“颜色”、“重量”、“公母”、“脾气”、“出生日期”等属性，另外还有“跑”、“吃”、“叫”、“猫捉老鼠”等方法。如Java代码来表示，大致就是如下：<br />public Class Cat<br />{<br />private String color;//颜色<br />private String weight;//重量<br />private String sex;//公母<br />private String temper;//脾气<br />private String birthday;//出生日期<br />private void run ();//跑<br />private void eat (Food food); //吃(食物)<br />private void shout(int type);//叫(类别)<br />private boolean chase(Mice mice);//猫捉老鼠<br />}</div>
		<div> </div>
		<div>
				<strong>2.2 继承<br /></strong>　　最早的OO编程时期，我们还会引入继承，还经常鼓励大家多用继续，认为继承就是OO编程思想的核心。继承的核心就是围绕着如何把类与类之间具有共同特性的部份抽象到基类中。认为这样不但能使用了OO的特性，还减少了很多子类的代码。<br />　　我们通过日常生活的常识知道，猫是一种动物，因此动物有的特性他基本上都有。于是，如果我们的系统中不但有猫，还会有很多其它的动物出现。我们就会设计一个动物类，把所有动物的共性抽象到一个基类中。这里，猫及动物基类的代码大致如下：</div>
		<div>public abstract Class Animal{<br />private String color;//颜色<br />private String weight;//重量<br />private String sex;//公母<br />private String temper;//脾气<br />private String birthday;//出生日期<br />private void run ();//跑<br />private void eat (Food food); //吃(食物)<br />private void shout(int type);//叫(类别)<br />}</div>
		<div>public Class Cat extends Animal<br /> private int power;//能力<br /> private int agility;//敏捷度<br />   //  猫捉老鼠是特有的方法<br /> private boolean chase(Mice mice) {<br />  return true;<br /> };<br />}</div>
		<div> </div>
		<div> </div>
		<div>
				<strong>2.3 多态<br /></strong>　　这时我们还会不时使用到OO的另外一个特性多态。多态是很重要的一门技术，然而很多时候却没有很好的理解并使用，回头看以前的代码，我们看到有很多地方属于故弄玄虚的嫌疑。<br />　　接上面的例子，假如我们要写一个喂养宠物(有猫、狗、猪、豹、老鼠等)的程序。利用Java的多态特性，我们的大致代码如下：<br />public class PetManage {<br /> //喂食我的宠物<br /> public void feeding(Animal a)<br /> {  <br /> } <br /> /**<br />  * @param args<br />  */<br /> public static void main(String[] args) { <br />  Animal myPet=new Cat();<br />  PetManage pm=new PetManage();     
<div>  pm.feeding(myPet);<br /> }<br />}</div><div>　　通过使用多态特性，哪一天若我们的不喜欢猫，而是喜欢养猪的时候，只要把new Cat()变成new Pig()，即可。<br /></div></div>
		<div>
				<strong>2.4 对象生命周期</strong>
		</div>
		<div>　　这一阶段的OO程序中，我们知道要用一个对象的时候，就要使用Java中的关键字new来生成一个来用即可。OO对于我们来说，一切都是那么简单，很多时候甚至感觉OO跟OP的编程方法也没太大区别。代码如下：<br />Cat myCat=new Cat();//创建一支具体的猫<br />myCat.shout();//叫一声</div>
		<div>　　此时，我们对Java虚拟是非常信任的，我们的思想也很单纯，我们知道Java对象的生命开始于new关键词。我们不太关心对象生命的结束，我们知道Java有一个比C语言历害、智能化的垃圾收集器，他会帮我们自己的清理内存中不用的对象。<br />　　当然，也有的人由于对垃圾收集器忠诚度的怀疑，不放心垃圾收集器的能力，于是在程序中经常要加一句类似“myPet=null”的代码来结束对象的生命。<br />　　当然，我们也知道有一些外部资源如数据库连接等，需要手动熟悉资源。于是知道在使用类似资源的时候必须都加上一句：conn.close()，有时候还要在close()后面再加一句：conn=null。呵呵，非常有意思。</div>
		<div> </div>
		<div>
				<strong>2.5小结</strong>
				<br />　　现在看来，其实那时确实犯了很多幼稚的错误，也走了不少的弯路，做了很多画蛇添足的工作，写了很多难与维护的代码。<br />　　对比今天的IOC模式，若要从早的OO方法中硬要找一个类似Spring的容器的话，那就是：“<strong>程序员＋JVM本身</strong>”。是程序员以及JVM一起我们管理对象的生命周期、对象之间的关系等。那时候若有任何变动都需要改代码，（虽然好的设计代码修改会非常少，但也得改！），然后编译，然后拿到测试环境及用户环境中执行。如此反复，年日复一日、年复一年。<br />　　那时我们的代码复用用得最多的就是OO的继承功能，另外还有很多OP方法中带过来的函数。</div>
		<div> </div>
		<div>　　本文中涉及到的几个简单源码，请到EasyJF开源团队官网下载，地址：</div>
		<div>　　<a href="http://www.easyjf.com/html/bbs/20060602/12718636-1843943.htm?ejid=1287314863003738"><font color="#0033ff">http://www.easyjf.com/html/bbs/20060602/12718636-1843943.htm?ejid=1287314863003738</font></a></div>
		<div> </div>
		<div>　<b>下期预告：</b>OO编程的第二阶段，设计模式的广泛应用。<br /></div>
		<div>
				<div>
						<div>
								<div>　(<strong>备注：</strong>由于笔者不想拐弯抹角浪费大家玩的时间，有些“表白”难免过于直接，还请不喜欢Spring或者过分喜欢Spring的同行多多见谅! 本文中的“我们”，仅指与笔者有着同样成长经历的80后人，对于文章提到的观点，多数皆属于笔者个人观点，不代表任何人。<br />　　本文作者：<a href="http://www.easyjf.com/" target="_blank"><font size="2"><font color="#3300ff">EasyJF开源团队</font></font></a><a href="/daxia/" target="_blank"><font color="#3300ff" size="2">大峡</font></a>　版权归<a href="http://www.easyjf.com/" target="_blank"><font color="#3300ff" size="2">EasyJF开源团队</font></a>所有，欢迎转载，转载请保留作者版权声明，谢谢！)</div>
								<div> </div>
						</div>
						<div>附</div>
						<div>关于玩玩Spring系列，玩的过程及结果将会不定期在以下三个网站全球同步公布：<br />1.EasyJF开源团队官方网站，网址：<a href="http://www.easyjf.com/"><font color="#0000ff" size="2">http://www.easyjf.com</font></a><br />2.笔者的Blog，网址：<a href="/daxia/"><font color="#0000ff" size="2">http://www.blogjava.net/daxia/</font></a><br />3.Java研究组织(JR) ，网址：<a href="http://www.javaresearch.org/"><font color="#0000ff" size="2">http://www.javaresearch.org</font></a><br />欢迎更多跟我一样爱玩的哥哥姐姐弟弟妹妹一起来玩。</div>
				</div>
		</div>
<img src ="http://www.blogjava.net/daxia/aggbug/49843.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-06-02 08:45 <a href="http://www.blogjava.net/daxia/archive/2006/06/02/49843.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于《80前的前辈，你们都做了什么?!》一文对EasyJF团队造成恶劣影响的声明</title><link>http://www.blogjava.net/daxia/archive/2006/06/01/49391.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Thu, 01 Jun 2006 00:14:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/06/01/49391.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/49391.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/06/01/49391.html#Feedback</comments><slash:comments>34</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/49391.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/49391.html</trackback:ping><description><![CDATA[
		<p>　　《80前》一文：<a href="/daxia/archive/2006/05/29/48664.html" target="_blank">http://www.blogjava.net/daxia/archive/2006/05/29/48664.html</a></p>
		<p>　　虽然这篇文章没有涉及到太多技术及Java，更没汲到到EasyJF团队，也没汲及到开源。但不知何故，该篇文章却引出了一批以“老前辈”为代表的所谓“80前”人的极大兴趣。更是把这篇文章与EasyJF团队以及EasyJF团队的开源项目巧妙发联系到了一起，这是本人在发布这的篇文章前是始料未及日。“老前辈”对该篇文章的评论及回复非常具有“震撼力”以及“杀伤力”，并得到很多业内同行的关注。同时也对EasyJF开源团队给予了重重一击，打击了不少团队成员参与开源事业的积极性，最近很多人非常有理性以及部分非理性的成员<strong>强烈要求退出团队</strong>,并要求EasyJF给予合理的解释，让本人以及很多支持国产开源的朋友对EasyJF团队的前景甚感担忧。本人也因此受到了EasyJF管理团队内部的严重批评及口头警告。为了尽量降低该篇文章对EasyJF团队发展的影响，在此特作以下几点声明：<br />　　　　<br />　　1、本人不是写一篇要特意去指责、批评“80前”或者“80后”人文章！这里提到“80前”或“80后”，更多是顺理成章引出文中的其它东西，这不是一篇驳论，而是带有一点文学色彩的社会写实而已，希望能跟<strong>细心的而且不浮躁，并能通读一遍全文</strong>的朋友找到一些共鸣。<br />　　2、虽然本人是80后的人，但不管在现实中还是在虚拟的世界里，本人对80前的前辈是非常尊重的，文中反对的只是一小部社会中存在的毒瘤，<strong>请勿随便对号入座</strong>，并请80前或者80后的朋友根据自己实际情况对症下药。<br />　　3、本人这篇文章更不是要主张80后人及80前人之间划清界限。正如文章结尾：“从5000年的历史长河来看，咱们其实是有机联系在一起，是没有太多年代鸿沟的。”。本人也想过，再过二三十年，若我们80年代人不努力，我们也一样会被生于21世纪的小朋友们把80、70、60年代人拿到一起来笑话的。<br />　　4、80前人不管是工作经验，社会阅历，都比较丰富，说话做事也非常稳重，所以你们更应该认真审视自己，为80后人的做好榜样。<br />　　5、EasyJF团队中大多数成员其实是80前的人或者是80坎上的人，没有这些80前人丰富的工作经验，没有他们的稳重的做事风格，光靠80后的激情及资质是难得把EasyJF的工作出起来的。本人认为，80前及80后，应该是一个整体，否则就法形成华夏历史的，“80”在这里充其量更像一个借助词，虽然有那么一点意思，但实际上没太多实际意义。我要再过几年再写这篇文章，或许就会把80改成90了，标题就会改成：“90前的同仁们，我们都做了什么？！”。<br />　　6、下面是1万多字的《80前》一文中仅有的一点提到技术工作的部分内容，仅供参考：<br />　　在“物质”与“精神”一章中写怎么“抓精神文明”时有这样一段：<br />　　如何做呢？我认为这首先得“解放思想，实事求是”。从个人思想做起，不要满脑子都是钱眼子，需要根除“一切都是商业化、一切都要市场化”的思想。<br />　　其实，我们每一个行业都能为精神文明建设做贡献的。<br />　　比如：做网络游戏赚了大钱，搞好了“物质”文明时候，却无意间误导了很多孩子并引起一些严重社会问题，伤害了社会主义“精神”文明的网络英雄们。你们可以把赚来的钱多拿一部分来搞一些教育基金，希望工程，弥补对社会所造成的伤害，同时也为慈善事业做了点贡献。<br />　　比如：那些“人在江湖、身不由已”的贪官们，你们可以悄悄把“无意”贪来的钱悄悄地到贫困山区养几个失学儿童，而不是拿去养二奶、三奶，良心上的内疚一定会减少不少。<br />　　再比如，那些像我一样搞技术研发的同仁们，能不能别动不动就要考虑怎么样去商业化、市场化，而能不能目光放长远一点，安安心心的把技术先做好再说呢？毕竟，国内的市场化、商业化环境是不健全的，问题很多的，很多时候两者不可兼得的。更直白一点说：也就是没技术也能“搞好”商业化、市场化的，这只是一个能“好”多久的问题。</p>
		<p>
				<br />　　<strong>关于针对“老前辈”一人的是何方神圣的大猜想：<br /></strong>　　1、有人说是《80后》的作者王为。《80前》一文只是借用"王为”前辈的《80后》一文引出来的，半点没有要驳到王为前辈的意思，而且本人很赞同其中的很多观点的。王为同志能写一篇8000字且非常具有震撼力的长篇，虽然其文说了很多“80后人”的不是，但其出法点及结论跟本本人的《80前》一文一样，是积极的，是善意的。因此，若他真知道本人写的这篇，一定会耐心读完，读完了凭他的文化水平，也一定能理解我这篇文章的真实用意，王为同志肯定不不会有什么意见的。<br />　　2、由于通过王为同志的Blog，我们看到王为同志是研究直销的，所以，他不会懂我们这里的说的什么EasyJWeb框架啊、技术之类的。因此，本人猜“老前辈”应该是认为“外国月亮总是别咱们的圆”的一个Java搞技术同行。　　<br />　　3、听“老前辈”的话，应该是某个公司的老总，只有老总们的话才会有那么具胡煽动力。<br />　　4、很多同行跑来问我，非常想知道这位敢于为大家声张正义的“老前辈”究竟是何方神圣。大峡本人也是一个好学之人，跟大家一样也非常想知道前辈是谁，若有一天能荣幸认识的话，本人一定会去拜访“老前辈”，像您老人家好好学习什么叫编程，什么叫开源。现在也知道了“年轻就是财富”的含意，走错了路，可以改了重新可以再来，呵呵！　　<br />　　5、希望“老前辈”这个非常惧怕EasyJF团队丢中国Java人脸的爱国同胞能主动站出来，告诉我们您是谁？若要是EasyJF团队因此停止了所有活动，很多迷途知返的成员一定会去感谢“老前辈”您大无畏的正义感让大家<strong>悬崖勒马</strong>。当然，有部分不服气的成员，也可以找一个借口，去找您老人家索取点精神及名誉损失。<br />　<br />　　<strong>“老前辈”的经典语录及解读：</strong><br />　　<strong>1、坚决打倒esayjf这种伪开源。</strong>拿一个连农民的东西都不如的垃圾就说我开源了。(大峡解读：老前辈极度瞧不起农民，更瞧不起EasyJF的项目，认为easyjf的东西只有比农民好了，才能说成是开源。)<br />    <strong>2、要在我公司干活啊，你们这些我全部开除。</strong>(大峡解读：老前辈是公司老板，其公司的员工一定要小心，别加入EasyJF团队，远离EasyJF团队，与EasyJF划清界限，以后看到EasyJF人写的文章或别人写的介绍EasyJF项目的文章，也要像处理非法出版物或传单一样立马举报并作销毁处理，否则小心饭碗。)<br />　　<strong>3、估计毛都没长齐，好的没学会，就开始吹牛比。</strong> (大峡解读:老前辈告诉我们，等毛长齐了，把好的都学会了，吹起牛来才能服众！)<br />　　<strong>4、你们什么easyjf赶快解散！！！</strong> (大峡解读：老前辈发之肺腑的呼唤，怀着对全中国人民强烈的责任心，要求EasyJF团队的成员悬崖勒马。)<br />　　<strong>5、别打着开源的名义丢我们中国java人的脸!!!</strong> (大峡解读：老前辈火眼真金，一眼瞧出了EasyJF是打着开源的名义在骗全国人民，作为一个爱国份子及java同行，非常惧怕EasyJF丢了中国人以及java人的脸。)<br />　　<strong>6、小毛孩子一个，别瞎嚷嚷了，懂什么啊，毛还没长齐呢。</strong> (大峡解读：老前辈的意思是等你们毛长齐了，到老前辈这个年龄了，再嚷嚷不迟。)<br />　　<strong>7、你呀的以为你是谁啊，X,算个什么东西啊，你有什么资格吹牛比阿。(</strong>大峡解读：老前辈学识渊博，知道并领会80后人发明的网上用语“X”代表什么，并能灵活应用；老前辈劝告我们，急什么急？等有资格了，你们再吹牛比嘛)<br />　　<strong>8、就你们哪个什么easyjf够滥的了，别在这丢人了，回家好好学学什么叫编程。小弟弟毛还没长齐呢，学会乱叫了，丢人不阿？(</strong>大峡解读：本句意义同上面的几句都差不多。由于easyjf人及部分路人不听话、不讲理，出言顶撞了老前辈，老前辈很生气，后果很严重，所以说话有点语无论次了，阿弥陀佛！)</p>
		<p>　　更多经典语录，请看<strong>《80前的前辈，你们都做了什么?!》</strong>一文后面的留言：<a href="/daxia/archive/2006/05/29/48664.html">http://www.blogjava.net/daxia/archive/2006/05/29/48664.html</a></p>
<img src ="http://www.blogjava.net/daxia/aggbug/49391.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-06-01 08:14 <a href="http://www.blogjava.net/daxia/archive/2006/06/01/49391.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>80前的前辈，你们都做了些什么？! </title><link>http://www.blogjava.net/daxia/archive/2006/05/29/48664.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Mon, 29 May 2006 00:40:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/05/29/48664.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/48664.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/05/29/48664.html#Feedback</comments><slash:comments>120</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/48664.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/48664.html</trackback:ping><description><![CDATA[引子 <br />一、“因” <br />二、“果” <br />三、“知耻”<br />四、“后勇”<br />五、“中庸”<br />六、“物质”与“精神” <br />七、“责任” <br />八、“希望” <br />结束语  
<p><strong>引子</strong></p><p>　　一位生于70年代的王为(<a href="http://blog.sina.com.cn/u/1490567244" target="_blank">http://blog.sina.com.cn/u/1490567244</a>)前辈写了一篇写给80后人的文章，名为《80年代的兄弟，你会什么?!》，该文文笔优雅、言辞犀利、说得头头是道， 8000多字的长篇，不但证明了80后的人“啥也不会！啥也不懂！”，是垃圾，还苦口婆心的要求80后的人要站起来敢于挑战自我，战胜“80前”人。文章最后的结尾：“求你们，战胜我吧！这不难。”，更是作者发自肺腑的呼唤。<br />　　王为前辈的文章确实写得很精彩，很感人，我看第一遍就被其文字的威力及杀伤力所震撼。当然也看到很多80后非常不服气，并对文中的一些内容作反击，但却没有力度及深度。然而，真的如作者所说的一样，80后人就一无是处吗？80后的人需要鼓励、需要挑战自我，80前的人就不需要做些什么了吗？理总是越辩越明，事物越仔细观察就越能发现其中的规律。<br />　　本人作为一名80后的程序员，天天接触一些if else的东西，Money没赚到多少，但逻辑思维到是长劲不少。刚好本人最近在写一篇有关80后的技术工作者是怎么对待技术的文章<a href="http://www.easyjf.com/html/20060504/31961965-3605811.htm?ejid=910837-129973425" target="_blank"><font color="#0033ff">《玩玩Spring系列》</font></a>(http://www.easyjf.com/html/20060504/31961965-3605811.htm)。今天实在手痒，仅以此文，纠正研究直销的王为前辈在《80年代的兄弟，你会什么?!》一文中所犯下的一些颠倒是非、黑白的逻辑错误，同时也希望能与仍有一点社会责任感的华夏同胞们共勉。<br />　　本文为的追求真理，因此言语中若有所冒犯，还请多多原谅。为了力求文章简洁，在后面的文字中将以《80后》代表《80年代的兄弟，你会什么?!》一文。本文中的“我们”不代表所有“80后”人，本文中的“你们”也不代表所有“80前”人。</p><p><strong>一、“因”</strong><br /><br />　　<strong>《大学》有云：物有本末，事有终始。知所先后，则近道矣。</strong></p><p>　　《80后》开篇即说：80后的人连中国人遮羞挡怯的那最后一丝的血性、脾气、刚烈……也失去了。啥也不会，啥也不懂，啥也干不成！没血性、没性格、没教养、没文化！而且以后的文章中也列举了很多的示例来证明以上的论点。<br />　　佛教中说：万事万物皆有因果。暂且不说《80后》文开篇的评论太极端，借用《80后》中的一些摘要，我们先来回顾一下咱们80后人的成长历程。<br />　　6岁以前，作为娇宠的独生子女生活不需要我们有责任、使命感，甜蜜使我们认为“我就该幸福”；<br />　　6岁以前，我们没有坎坷、沧桑、悲苦、煎熬，温暖使我们产生了“世界原本就这么顺畅”的想法；<br />　　6岁以前，文革早已结束、3年自然灾害早已过去，我们看到的是 “我们的祖国真的似花园、我们的生活真地比蜜甜”；<br />　　7至18岁，你们所搞的应试教育体制告诉我们“考高分万岁”；我们从幸福的孩子变成了温顺的“考试机器”。我们中除了考第一名的孩子，其他的孩子都被灌输“真笨、不努力、不争气”。 <br />　　18岁，终于考上大学了，我们兴冲冲地戴着眼镜冲进象牙塔，却突然发现“铺床叠被、打饭排队、洗袜子、晾裤头”是那么的具体而麻烦；因为之前，我们都没有学过。<br />　　22岁，我们大学毕业了，我们撕了校印刷厂自印的质量低劣书本、砸了暖瓶、兴冲冲地一头撞进社会。猛然间，才发现“才出虎口、又入狼群”——自己喜欢的所有单位都不缺人，缺人的单位自己又不喜欢。于是，在“高不成、低不就”的矛盾中，我们只好抱着“骑驴找马”的智慧，不断的跳槽、换工作，换多了，才发现：“哪个老板都不好糊弄”。</p><p>　　总体来说，我们80后的人，生于改革开放的春风吹起之时，伴随着社会主义市场经济的改革而成长。再准确地说是听着四大天王的歌，读着金庸、古龙的武侠、琼瑶的言情小说，看着香港的警匪片，追着大大小的歌星影星长大的。<br />　　我们坐在宽敞明亮的教室里，被你们当作教育改革的试验品，从义务教育，到国家高等教育再到高高等教育，从应试教育，到素质教育，再到应试素质双重教育。<br />　　唉，受了差不多20年的教育，走上社会才我们才发觉“学的东西90%没用，有用的东西90%无处可学”。于是我们只有继续缴费进你们所办的各种样的就业培训班、出国就职班、职称及资格考试班等。真正领略了什么是活到老、学到老。</p><p>　　80前的前辈们，这些就是我们的成长及教育经历，我们在你们主宰的世界中茁壮成长了起来，成长成现在你们所看到的我们。</p><p>　　有什么感想吗？是不是为我们独特、前无古人、多姿多彩的成长经历所吸引，是羡慕、嫉妒、震撼还是叹惜？</p><p><strong>二、“果”</strong><br /><br />　　<strong>电影《无间道》中有一句台词：在道上混,迟早是要还的！</strong></p><p>　　“忽冷、忽热、忽幸福、忽压抑、不能好奇、不能自在、没有自由、却衣食无忧、一切都是错、否定自己、怀疑自己、父母想把你培养成各种各样的精英、唯独没有让你成为你自己……”</p><p>　　80前的前辈们，通过你们20多年的精心栽培，又是施肥、又是浇水，我们伴随着你们的变老而成长起来。</p><p>　　成了做什么都不求甚解，浮于表面，蜻蜓点水走，马观花！<br />　　成了没实力，除了有一些任性、有一些嚣张、有点儿叛逆、疯狂、没事吵吵小架、说说小谎，无所事事…… </p><p>　　我们叛逆、前卫、厌世、玩世不恭！<br />　　我们总想让自己成为别人，唯独没有让自己成为自己……<br />　　我们失去了自己、迷失了自己……<br />　　我们成了生活上的小皇帝、精神上的小奴隶！</p><p>　　成了你们眼中把“忠、孝、仁、爱、信、义……”全忘了的一代。<br />　　成了你们眼中“跨掉”的一代、“无可救药”的一代。</p><p>　　80前的前辈们，你们的花了那么多心血栽培，而结果却不是你们想要的。<br />　　你们愤怒了吧！<br />　　不是恨铁不成钢，跟本连铁都算不上，只能称得上木头……不，准确的说是朽木。</p><p>　　怨谁，怪谁？<br />　　种豆得豆，种瓜得瓜，这就是结果！<br />　　看到今天的我们，其实就是对你们一生的所经历、奋斗的丰功伟绩最科学、最残酷的评价。</p><p>　　其实你们已经觉得我们不行，而且也论证了我们不行。<br />　　我们也不想过多反驳，毕竟世界一直是你们的创造，我们这么多年来没法有一点表现的机会，一切都依着你们。<br />　　然而，从严密的逻辑上来讲，我们的存在的问题，归根到底是你们的问题。从做程序的角度来说，我们的“问题”输出(结果)，就是你们的问题“过程”输入(原因)。</p><p>　　这不是我们想推卸责任、逃避现实，而是实实在在的事实。</p><p>　　社会是最大最好的大学。我们从生下来开始就无时无刻在从你们行为举止中学习，树立我们的人生观，价值观。<br />　　你们在想办法赚很多的钱，我们就会从小开始学习赚多很多的钱；你们行贿、受贿，我们就会枯心思、学习研究行贿、受贿的技巧及艺术。<br />　　你们包二奶、三奶，我们就会立志为长大以后要为包四奶、五奶而努力奋斗。</p><p>　　这就是江湖中的那句话：在道上混,迟早是要还的！</p><p><br /><strong>三、“知耻”</strong><br /><br />　　<strong>子曰：邦有道，贫且贱焉，耻也；邦无道，富且贵焉，耻也。</strong></p><p>　　80前的前辈们，你们真的认为我们在你们的庇护下，我们就真的一路顺风顺水吗？<br />　　别忘了，我们80后的人，是伴随着你们的社会主义的物质文明建设而成长的。<br />　　在我们年幼无知，没有一点辨别是非能力的时候，我们的身边就充斥着太多诱人的东西。<br />　　从电视机，到电子游戏机，再到丰富多彩的网络游戏世界；从满大街的流行金曲，到卡拉OK，再到KTV；从水吧,到迪吧，再到网吧；从台球,到录像厅，再到大学校门外精致、优雅的情侣包厢。<br />　　各种各样新鲜、刺激的好东西，哪一样不是专为我们服务的呢？因为我们是天生牛犊啊，哪一样是我们不敢玩的呢？<br />　　我们在经历诸多诱惑的同时，也观看着你们所扮演的很多颠倒黑白与是非故事。我们小时候崇拜的很多社会精英及楷模，长大以后才发现他们要么成了阶下囚、要么逃离国外、要么不知所终。</p><p>　　让我们仔细再想想你们改革开放这么多年曾经都做了些什么？<br />　　是你们曾经怀着淘金的梦，把直销搞成了传销、老鼠会，祸害的人当中，有不少是80后的人吧?还有不少80前的受害者中，也间接的影响着80后的人的成长，对吧？<br />　　是你们开的一个个大大小小的网吧、迪吧、KTV等娱乐场所，毒害着80后的孩子，对吧？<br />　　是你们潜心于“教育产业化改革”，把教育改革改成了很多农民、下岗工人的孩子(80后人)上不起学了，对吧？<br />　　是你们搞的“医疗改革”，让咱们很多80后的孩子看不起病，买不起药，最后导致你们看到的所谓“发育不完全”了，对吧？<br />　　是你们打着“坐而论道”的旗号，把咱们80后的漂亮、纯情的小姑娘“论”到了你们的床上，对吧？<br />　　是你们搞了这么多年的现代企业改革，改到现在企业制度仍然一片混乱，改革变没成却变成侵吞国有资产、贪污受贿，曾经的“改革风云人物”坐的坐进班房、逃的逃到海外，这样的案例不少，对吧？<br />　　是你们评定的一个个“国家先进、国际领先”的科技成果，却经不起实际应用考验，最后被证明为垃圾、骗子、弄虚作假，这些的丑事的操纵者是你们，对吧？<br />　　是你们打着高雅的艺术、娱乐旗号，举办的各种各样的高级的模特大赛，却不时爆出各种各样“钱权色”交易丑闻，对吧？</p><p>　　孩子的天性是淳朴的、天真的，因此造成今天你们认为的“跨掉一代”，我们也是无辜的。那是你们无能、混蛋的前半辈子努力所造成的后果。你们难道一点都不为此感到悔恨、罪恶吗？</p><p><br /><strong>四、“后勇”<br /></strong><br />　　<strong>古人云：知耻而后勇,厚积而薄发。</strong></p><p>　　80前的前辈们，你们曾经犯下的以及现在仍然在重复犯的这些错误。从纵向来看前是对不起祖先、后对不起后代儿女。横向看你们对不起国家，对不起党，对不起人民，对不起咱们80后的人。可以这么说，是你们害了我们！</p><p>　　说得委婉一点，你们应该反省，对80后的孩子们道歉，并痛改前非，好好做人。<br />　　说得直白一点，你们应该悔过，向祖先以及全地球的人类道歉，然后放下屠刀，立地成佛。</p><p>　　你们不敢吗？不会是怕丢脸，怕失去现在拥有的东西吧？<br />　　我看也不全是吧。美国的克林顿以及中国的成龙大哥都敢于说：“我犯了一个全世界男人都可能犯的错误!“；温总理也敢于承认为咱国家的农民工作做得不够好。那些认为不敢的前辈我们，我想问问，你们多大的官，有多大的名气，有什么不敢的？<br />　　你们不是教育我们吗？大家都不是圣人，因此你们也不是圣人，难免都会犯一些错误。错误不可怕，可怕的是一而再，再而三犯相同的错误。不能光会理论却不敢实践吧？</p><p>　　80前的前辈们，你们当前在社会中扮演的是老板、领导、上级，你们手中握着绝大部份的社会资源、权利、关系网络。因此，你们是当今国家建设的主力军，（当然以后也会是我们），你们应该为之前自己或者同龄人所犯的错误而深深反思，不能一错再错，更不能推卸责任。</p><p>　　你们不是曾经告诉过我们：人最大的敌人是自己——最难战胜的人是自己，最难超越的人是自己。请你们从现在勇敢的直起身来做人，战胜并超载自己吧。</p><p>　　因此，扮演着当今社会弄潮儿的你们应该以身作则，少来点歪门邪道、投机取巧的伎俩；少做点不厚道、钻法律空子甚至违反法律的事情。用实际的行动作表率，做出为国家、人民以及咱们80后的人有益的事情。</p><p>　　《80后》一文告诉我们需要找回勇气、找回自己、树立梦想、设定目标、拼命学习、认真实践、反复修正、浴火涅磐。<br />　　这里我们我要告诉80前的前辈们，你们需要找回良心、找回自己、拾起梦想、再定目标、克制物欲、刻苦钻研、放下屠刀、立地成佛。</p><p><strong>五、“中庸”<br /></strong><br />　　<strong>子曰：“天命之谓性，率性之谓道，修道之谓教。怒哀乐之未发，谓之中。发而皆中节，谓之和。中也者，天下之大本也，天下之达道也。”</strong></p><p>　　我们不懂中庸。因为我们没时间也没精力读那些被你们所谱写的“历史”证明了属于封建主义腐朽思想的“四书五经”。我们从小开始天天学习的是英文、俄文、法文乃至日文韩文。我们的大学生涯也是挖枯心思的对付你们给我们量身定制的英语四级、六级。</p><p>　　我们不知道“中庸”，但我们知道“极端”。<br />　　看了《80后》一文，很多80后的人很不服气、愤怒。看了本文的前面几部份，很多80前的人同样更愤怒、更加不服气。难道大家都说得不对吗？<br />　　究其原因，这都是极端。<br />　　仔细一想，《80后》一文有很多的极端、以偏概全的论点。同样道理，本文前几段也有着很多残酷、极端的观点。</p><p>　　我们不知道“中庸”，但我们接触过“非中庸”！<br />　　我们听说过“有一个人本来住在南极的，但后来他说南极太冷了，他要搬到北极去住，到了北极他才发现其实　　北极跟南极一样的冷”的“非中庸”故事。<br />　　我们也有过“刚出学校的时候什么都敢想、敢为，因为梦想、激情被你们所利用，导致我们犯了错、吃了亏，同时也导致我们失去梦想、激情、跟你们学会了投机取巧”的“非中庸”经历。</p><p>　　80前的前辈们，你们一定懂得“中庸”，但你们会“中庸”吗？<br />　　我们经常听到你们的抱怨声。<br />　　经商的总是抱怨自己钱赚得太少，从政的总抱怨自己官做得太小。<br />　　君子爱才，取之有道，这话是你们告诉我们的吧？你们有那么多的人生阅历，有那么博学的知识，难道你们忘记了一条叫“知足常乐”吗？有的时候得学会“知足”。<br />　　你们不能总是发牢骚。抱怨做商人的太奸、从政为官的太贪；抱怨你身边的人都不厚道、狡猾、无法信任；抱怨你们后代－80后的我们，没出息、不成器。</p><p>　　其实你们曾经也做过孩子，曾经有美丽的童年、少年、青少年。<br />　　不同的是，你们那个年代看到的是伟大的反帝反封建、反法西斯、反帝国主义、反军阀、反蒋介石反动派。<br />　　当然你们当中有些人童年看到的是社会主义新中国成立，看到的是人民公社以及大跃进。<br />　　你们当中还有很多的童年看到的是文化大革命，反孔、反四害。</p><p>　　然后，轮到我们的童年，我们看到更多的是改革的春风飕飕地的在祖国的大地上吹了起来，看到的是中华民族在全世界人民面前冉冉崛起。</p><p>　　其实，我们所有人的童年都是天真无邪的，看到的世界是也都是美好的。<br />　　这不，你们中很多人青少年时期，曾经当着红卫兵、写着大字报，把很多革命前辈、长辈押到街上，游行示众，进行“文化大革命”，在那时，你们不也觉得很美好吗？</p><p>　　出了问题，我们都需要敢于先从自己的身上找原因。少一点抱怨以及相互的指责、少一点恶意的斗争，我想，咱们国家的“和谐社会”一不小心就能建成的。</p><p>　　发发牢骚还能干什么呢？80前的前辈们，你们不能一错再错了。</p><p>　　“中庸”，是腐败落后的封建儒家文化思想吧，然而却是现在的我们大家所需要的。<br />　　80前的前辈们，你们更加得“中庸”，你们必需 “中庸”！<br />　　一方面是因为你们掌握各种社会资源，是当前祖国建设的主力军，战斗能力强的同时破坏能力也超强。另一方面，你们已经30岁以上，属于人生过半或者过小半了，你们的物欲更强烈，你们行动更大胆，然而，你们已经没有再犯更多错误的机会了。</p><p>　　我们也希望从你们的“中庸”中更好的学会“中庸”。</p><p><br /><strong>六、“物质”与“精神”</strong><br /><br />　　<strong>邓小平爷爷说：物质文明建设与精神文明建设要两手抓，两手都要硬。</strong></p><p>　　改革开放很快就要30年了吧，全世界都认为咱们的社会主义物质文明建设抓得不错。<br />　　这不，以前不跟我们做生意的国家现在主动上门来跟咱们谈如何开放市场，被禁的市场开放了，设置的各种贸易壁垒、障碍也取消了。<br />　　WTO的大门给咱们开放那么多年了。<br />　　全世界各种各样的跨国公司也不再抱有民族歧视，争先恐后的到咱们祖国来参与咱们的社会主义物质文明建设了。</p><p>　　然而精神文明却似乎没有取得与物质文明相提并论的成果。<br />　　全世界人民所认为的“跨掉”的“80后”人，就是你们“80前”人教育的成果。教育的失败，应该算得上是检验你们“80前”人“精神文明建设”的一个重量级指标吧?<br />　　如果觉得仅仅是教育不能体现，那么继续看看下面的：<br />　　在文娱领域，我们先“哈”好莱坞，再“哈”韩国，然后“哈”日本。咱们好不容易有一个火遍大江南北的“超级女生”，在你们眼中，却被看成了庸俗、低级趣味、有损青少年健康的活动，而“超女”也不时会被部分西方国家借你们的话把咱们“80后”人“忽悠”一把。<br />　　在科学研究领域，咱们国家一个个取得“国际领先”、“国际先进”的项目，取得国家“金奖”、“银奖”的科研成果，却在国际市场上没有一席之地，更多的是被实事证明为垃圾、骗子、弄虚作假。<br />　　同样是在科学研究领域，咱们有着全世界最多的拿着国际高级技术职称、拿着国际知名大学博士后、博士后头衔的专家、学者在研究、奋战。然而到现我们看到的所谓的“科学研究”基本就是“翻译学”的研究，大街小项的各种科技文档、图书、成果，基本上全是翻译作品。<br />　　在技术合作领域，咱们随时随地都被西方国家扯着“知识产权保护不力”的小辫子，威胁、敲诈、满天要价。<br />在企业管理上，我们有着一个又一个的国际领先的管理学院、MBA学院，都搞几十年的现代企业改制了，现在仍然抱怨咱们的现代企业管理制度不健全、管理落后。<br />　　在法律制度建设上，我们有很多方面还用着二三十年前制订的法律法规。<br />　　在社会福利事业上，我们很多保险、福利项目也才刚刚实施，而且还存在着这样那样的问题，让你们很多老人不甚担忧。<br />　　在公益事业上，国家中央财政的所拨给贫困地区的各种扶贫款、救灾款、基础建设支助款，却被雁过拔毛，拨得精光。更可悲的是，山区贫困儿童的希望工程，有的地方尽然成了贪官污吏的希望工程。</p><p>　　写到这里我的心情是沉重的，两眼是含着泪花的。</p><p>　　我不想再进一步指责这是“80前”的前辈们所造成的，虽然这确实是你们所造成的。<br />　　我希望的是我们能坐到一起来，团结起来，解决这些问题。大家都中庸一点、平和一点，一起来解决问题。毕竟我们80后的人大多数已经成年，未成年的也将会成年。我们需要你们带领我们，解决这些问题。</p><p>　　我不知道在当今物欲横流的社会，大家认为精神文明还重不重要。</p><p>　　邓爷爷说的是要两手抓，而我觉得我们现在是 “抓重”了一手，而且是“抓狠”了一手，搞成了一切都为物质文明服务。<br />　　教育要搞产业化改革，于是咱们校长都得学会核算办学成本及利润。<br />　　医疗要搞产业化，于是我们今天看到了10元钱成本的药卖成了100元甚至1000元。<br />　　科研成果是跟市场效益挂钩的，因此我们的高科技企业老板以及企业家们就不得不往知名鉴定专家的兜里塞红包、不断的往各种评定机构送钱，然后才能得到所谓的“国家领先”、“国际先进”。并一脸无辜、美其名曰：只有这样大家才能一起“物质”一把。<br />　　娱乐文化领域同样也是为了产业化、市场化，为了“物质”不惜搞“钱权色”交易。<br />　　……<br />　　基本上大多数的“精神文明”建设，都直接或间接，有意或无意跟“物质”挂上了钩。</p><p>　　我不知道现在这样“两手抓”能不能算是“左倾”或者“右倾”。<br />　　我只是想知道，这样的“两手抓”难道是邓爷爷当初想要的吗？这是13亿的中华儿女想要的吗？是8亿的农民想要的吗？<br />　　我想90%的华夏儿女会斩钉截铁地回答：不是！</p><p>　　对，这样的“两手抓”肯定不是我们想要的。<br />　　然而我们不能光说不实践，否则优雅地说是虚伪，通俗点说就是放屁。因此，我们得为“两手抓”做点什么，真正理解 “两手抓，两手硬”。<br />　　而“80前”的前辈们，现在我们“80后”人还很嫩，还不能算是主力。因此，“两手抓”必须你们来带头，来担当主力。你们的责任更加重大，“抓”还是 “不抓”，“如何抓”，“抓不抓得住”，这是非常具有挑战性的。</p><p>　　如何做呢？我认为这<strong>首先得“解放思想，实事求是”。从个人思想做起，不要满脑子都是钱眼子，需要根除“一切都是商业化、一切都要市场化”的思想。</strong></p><p>　　其实，我们每一个行业都能为精神文明建设做贡献的。<br />　　比如：做网络游戏赚了大钱，搞好了“物质”文明时候，却无意间误导了很多孩子并引起一些严重社会问题，伤害了社会主义“精神”文明的网络英雄们。你们可以把赚来的钱多拿一部分来搞一些教育基金，希望工程，弥补对社会所造成的伤害，同时也为慈善事业做了点贡献。<br />　　比如：那些“人在江湖、身不由已”的贪官们，你们可以悄悄把“无意”贪来的钱悄悄地到贫困山区养几个失学儿童，而不是拿去养二奶、三奶，良心上的内疚一定会减少不少。<br />　　再比如，那些像我一样搞技术研发的同仁们，能不能别动不动就要考虑怎么样去商业化、市场化，而能不能目光放长远一点，安安心心的把技术先做好再说呢？毕竟，国内的市场化、商业化环境是不健全的，问题很多的，很多时候两者不可兼得的。更直白一点说：也就是没技术也能“搞好”商业化、市场化的，这只是一个能“好”多久的问题。</p><p><strong>七、“责任”</strong><br /><br />　　<strong>徐志摩说：轻轻的我走了,正如我轻轻的来。挥一挥衣袖，不带走一片云彩。</strong></p><p>　　诗是很美丽的。<br />　　其实人的一生又何尝不是这样？我们光着身子来到这个世界上，然后又会光着身子离开这个世界。<br />　　大家真正的表演时间，也就那么几十或百年！</p><p>　　我们得学会有点责任。<br />　　做父母的对儿女有养育的责任；<br />　　做儿女的对父母有敬孝的责任。<br />　　做老板的得对员工有致谢并给予工资的责任；<br />　　做员工的得对老板有尽职的责任。<br />　　……<br />　　以此类推<br />　　做官从政的对人民大众，做老师的对学生，做上级的对下级，做人民的对国家，生活在今天对生活在昨天的，生活在今天对生活在明天的。无论任何时刻，做任何事情，我们都得想着“责任”两字。</p><p>　　因为物欲横流，因为太多的诱惑。因此，我们更加须要正确对待自己来到这世上的责任。</p><p>　　“阿房宫及华清池都已片瓦不存；李杜的名句及老庄的格言却一字不误地镌刻在我们的心里。”<br />　　历史证明，只有精神的东西才能永存。因此，从长远来看，“精神文明”比“物质文明”更加重要。</p><p>　　我们需要控制一下自己的物欲。<br />　　我们需要少做点损人利己的事情。<br />　　我们需要多做点为别人有益的事情。</p><p>　　我们需要对历史负责、对社会负责、对朋友负责、对家人负责、对自己负责。</p><p><strong>八、“希望”</strong><br /><br />　　<strong>小学课本：“有人死的轻如鸿毛、有人死的重如泰山”。</strong></p><p>　　我想，我们90%的人小时候都想着自己有一天一定要“重如泰山”的死去甚至“不死”。</p><p>　　毛主席曾经说：做人都得死，他也不例外。然而毛主席如今虽然死了，但他的革命精神、思想、以及为中华民族所做出的贡献，却是永驻在我们的心中。<br />　　提到了死，对于大家来说是很沉重的，特别是对于“80前”的前辈来说更加显得沉重。然而像毛主席说的一样，这是我们都得面对的。<br />　　选择“轻如鸿毛”还是“重如泰山”，也许长大成年了的“80后”人以及“80前”的前辈们都需要重新进行一次评估及抉择。</p><p>　　文章的末尾，提一些自己幼稚的希望，希望不管是“80前”还是“80后”的所有中华同胞们能一起共勉！</p><p>　　我们都不是圣人，我们都会犯错。希望我们都能做到知错敢改，而不是一错再错。<br />　　我们都是有理想，有奋斗目标，而且都会经受挫折、经历失败。希望我们能学会从失败的地方爬起来。<br />　　我们都是上有老，也都会下有小。希望我们不管是为民或为官，做上级或下级都能对自己负责，为别人负责。<br />　　我们都是从一生下来注定会死去的，希望我们都能谱写一首属于自己的灿烂史诗。<br />　　我们都是需要得到亲朋好友的关爱，都是需要得到社会的认可的，因此希望我们能在索取的同时也能多一点给予及奉献。<br />　　我们都会遇到不如意的事情，希望我们能以一个好的心态处理所有的不如意，能用“中庸”的方式对待生活、工作与学习。<br />　　我们都是社会的一份子，因此希望我们都能成为社会中的一点火焰，给自己的温暖的同时也争取照亮别人。<br />　　我们都会遇到很多抉择，黑与白、好与坏、勇敢或者怯弱，希望我们都能都选择做一个好人。<br />　　我们都是地球上的一分子。不管是农民还是工人；不管是出生在有钱人家，还是出生在贫穷人家；不管是东部还是西部；不管是中国人还是外国人。希望我们都能明白一点：我们是平等的。<br />　　最后，希望不管“80前”还是“80后”同胞们：“想唱就唱，一起来唱，唱得响亮！”，从5000年的历史长河来看，咱们其实是有机联系在一起，是没有太多年代鸿沟的。</p><p><br /><strong>结束语</strong><br /></p><p>　　在《80后》一文出来后，其作者又随着写了几篇分析“80后”问题以及现象的文章，但在本人看来都是只谈“标”而未谈“本”。希望本篇《80前》的文章能让那些对“80后”现象感到疑惑的前辈们，对专业从事人类文化及社会学研究，钻研咱们“80后”现象的专家及学者们有所帮助。<br />　　同时，也希望这篇文章能与那些抱怨社会总是不公平，生活总是不如意，自己的命运总是悲哀，老天总是跟自己作对，外国月亮总是别咱家的圆的“80前”或者“80后”同胞们共勉。</p><p>　　其实生活是美好的!<br />　　不要因为发现一片落叶，就认为自己找到了一个森林。<br />　　有的时候“中庸”一点，一切都是那么美好！<br /><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">　　没必要搞仇视，诚挚感谢让我成长到今天所有长辈们。</span></p><div><p>　　（作者：<a href="/daxia/" target="_blank"><font color="#0033ff">大峡</font></a>）</p></div><img src ="http://www.blogjava.net/daxia/aggbug/48664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-05-29 08:40 <a href="http://www.blogjava.net/daxia/archive/2006/05/29/48664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>EasyJF开源团队协同开发实用指南-SVN篇</title><link>http://www.blogjava.net/daxia/archive/2006/05/27/48446.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Sat, 27 May 2006 01:26:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/05/27/48446.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/48446.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/05/27/48446.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/48446.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/48446.html</trackback:ping><description><![CDATA[
		<div>
				<div>　　嘿嘿，盼星星盼月亮，终于盼来了一个赞助团队的专用配置管理服务器。EasyJF团队配置管理组特别是成员WilliamRaym的努力下，终于完成了团队配置服务器的初始搭建工作。这应该算是EasyJF开源团队万里长征中所迈出的一小步吧，请大家帮忙放点鞭炮来庆祝一下。</div>
				<div>
						<br />　　在配置管理服务器的搭建过程中，团队成员WilliamRaym，加班加点，连续奋战了三天三夜，总共(24-4.5)*3＝58.5小时，做出了非常大的贡献。另外配置管理组的会飞(huifei)以及团队中的netgod、天意、天一、船长、大峡等很多成员为此也做了大量的调研及协助工作。在此，为了表示对以上团队成员的谢意，欢迎大家有鲜花扔鲜花，没鲜花就给点掌声也不错。哈哈！</div>
				<div>　　废话不多说，下面进入正题吧！</div>
				<div>　　</div>
				<div>　　不喜欢看文字及图片的朋友们请直接观看视频：<a href="http://www.easyjf.com/html/20060527/7055081988048562.htm?ejid=8784669666038572" target="_blank">http://www.easyjf.com/html/20060527/7055081988048562.htm?ejid=8784669666038572</a></div>
				<div>
						<br />
						<strong>一、 EasyJF协同开发客户端软件</strong>
				</div>
				<div>
						<br />　　EasyJF开源团队当前的配置管理服务器系统软件使用的是Subversion。因此，在使用相关协同开发及版本控制等功能之前需要下载并安装Subversion客户端软件。<br />　　当前EasyJF团队的协同开发工作主要涉及到两个客户端软件，1个是TortoiseSVN，用于在Windows操作系统的资源管理器中直接使用协同功能。另外一个是Subversion的Eclipse插件，用于在Eclipse开发环境中使用Subversion进行协同开发及版本控制。<br />　　当然，还有针对其它开发工具的开发插件以及Linux下的客户端。由于当前成员多数是在Windows平台下做开发，在此就不作过多介绍。</div>
				<div> </div>
				<div>
						<strong>二、 通过资源管理器进行协同开发</strong>
				</div>
				<div>
						<br />　　<strong>1、下载Subversion的客户端TortoiseSVN</strong><br />　　EasyJF中映像地址：<a href="http://dl.easyjf.com/downloads/TortoiseSVN-1.3.3.6219-svn-1.3.1.msi">http://dl.easyjf.com/downloads/TortoiseSVN-1.3.3.6219-svn-1.3.1.msi</a></div>
				<div>　　或：<a href="http://www.easyjf.com/download/tools/TortoiseSVN-1.3.3.6219-svn-1.3.1.zip">http://www.easyjf.com/download/tools/TortoiseSVN-1.3.3.6219-svn-1.3.1.zip</a><br />　　TortoiseSVN官网下载：<a href="http://tortoisesvn.sourceforge.net/" target="_blank">http://tortoisesvn.sourceforge.net/</a></div>
				<div> </div>
				<div>　　<strong>2、安装TortoiseSVN<br /></strong>　　下载完成后，直接双击点安装即可，如下图所示：</div>
				<div>
						<br />
						<img height="381" src="http://www.easyjf.com/upfile/20060527/11486847438881157793070.JPG" width="495" />
				</div>
				<div> </div>
				<div>　　安装成功后，在开始菜单中的结果如下图所示：</div>
				<div>
						<img height="148" src="http://www.easyjf.com/upfile/20060527/11486848009351157793070.JPG" width="349" />
				</div>
				<div>
						<br />　　若执行TortoiseSVN，我们会得到下面的结果：</div>
				<div>
						<img height="118" src="http://www.easyjf.com/upfile/20060527/11486848133571157793070.JPG" width="553" />
						<br /> <br />　　这个对话框告诉我们，TortoiseSVN是一个Shell扩展，我们直接在Windows的资源管理器中直接使用TortoiseSVN的相关功能。</div>
				<div>　　下面我们打开资源管理器，点击一下鼠标右键，会看到类似如下的图：<br /> </div>
				<div>
						<img height="548" src="http://www.easyjf.com/upfile/20060527/11486848269661157793070.JPG" width="684" />
						<br />　　上图中，右键快键菜单中多了一个SVN Checkout…选项及TortoiseSVN选项，这样即表示客户端软件已经安装完成了。下面即可直接通过资源管理器进行团队项目文件的协同管理等操作。</div>
				<div> </div>
				<div>　　<strong>3、导出(下载)EasyJF开源团队的项目源码</strong><br />　　我们随便建一个空的目录，比如：E:\easyjf，在资源管理器中打开该文件夹。点“右键”－&gt;”SVN Checkout…”，然后在弹出对话框中输入EasyJF开源项目的库路径(URL)以及本地目录，如下所示：</div>
				<div>
						<img height="460" src="http://www.easyjf.com/upfile/20060527/11486848478251157793070.JPG" width="534" />
						<br /> </div>
				<div>　　然后点击“OK”按钮，即会提示输入用户名及密码（团队成员请使用由EasyJF配置管理组发放的帐号及密码，游客请使用easyjf作用户名及密码），如下图所示：</div>
				<div>
						<img height="290" src="http://www.easyjf.com/upfile/20060527/11486848693721157793070.JPG" width="551" />
						<br /> </div>
				<div>　　登录成功后，即可进入项目文件的导出（下载）。如下图所示：</div>
				<div> </div>
				<div>
						<img height="292" src="http://www.easyjf.com/upfile/20060527/11486848848721157793070.JPG" width="550" />
						<br /> </div>
				<div>　　“导出”完成后点OK，然后在资源管理器即可见到如下图所示内容：<br /> </div>
				<div>
						<br />
						<img height="287" src="http://www.easyjf.com/upfile/20060527/11486849315291157793070.JPG" width="560" />
				</div>
				<div> </div>
				<div>　　其中看到项目文件及目录的前面都有一个 标识，这是Subversion的，表示我们这个文件已经受到了版本控制。</div>
				<div> </div>
				<div> </div>
				<div>　　<strong>4、修改项目文件及内容</strong></div>
				<div>
						<br />　　在资源管理器中，对项目文件的操作跟我们平时的操作没有任何区别，比如我们直接双击“目录及文件说明.txt”这个文件，即会调用记事本来编辑文件。我们修改文件中的一些内容，然后点保存，即会出现一个标识该文件已修改过的图标，如下图所示：</div>
				<div>
						<br /> <img height="291" src="http://www.easyjf.com/upfile/20060527/11486849432941157793070.JPG" width="427" /><br />　　上图中的 图标表示该文件已经修改。当所有修改工作完成后，我们需要把本地修改的内容提交到远程配置管理服务器中。直接选中修改过的文件或文件夹，然后点右键，选择其中的“SVN Commit…”命令，如下图：</div>
				<div> </div>
				<div>
						<img height="229" src="http://www.easyjf.com/upfile/20060527/11486849665131157793070.JPG" width="352" />
						<br /> <br />　　我们会看到弹出一个对话框，并显示出已经修改过的文件，这里我们可以有选择性的选择一些要提交的文件，并在recent message对话框中填写本次修改的相关说明信息等。如下图所示：</div>
				<div> </div>
				<div>
						<img height="479" src="http://www.easyjf.com/upfile/20060527/11486849798721157793070.JPG" width="459" />
						<br /> </div>
				<div>　　然后点“OK”，此时若刚才没有保存用户名即密码，或者用户权限不够的话。会再次弹出用户登录框，在这里输入自己的用户名（注：游客帐号easyjf不具备修改项目文件的权限），然后点“OK”即可，如下图所示：</div>
				<div>
						<img height="295" src="http://www.easyjf.com/upfile/20060527/11486849969971157793070.JPG" width="557" />
						<br /> </div>
				<div>　　提交成功后显示如下图所示的信息：<br /> </div>
				<div>
						<img height="294" src="http://www.easyjf.com/upfile/20060527/11486852419501157793070.JPG" width="546" />
				</div>
				<div>
						<br /> </div>
				<div>
						<strong>　　5、增加文件<br /></strong>　　假如我们在项目中加入了文件，在提交到服务器的时候，需要先执行add操作把新增文件加到更新列表中，然后再执行“SVN Commit…”的时候，才能提交。如下图所示：</div>
				<div>
						<img height="289" src="http://www.easyjf.com/upfile/20060527/11486853018251157793070.JPG" width="487" />
						<br /> </div>
				<div> </div>
				<div>　　<strong>6、删除项目中的文件<br /></strong>　　在资源管理中选中要删除的内容，然后点右键，选择delete(删除)操作，然后再执行SVN　Commit(提交)即可。如下图所示：<br />  <img height="540" src="http://www.easyjf.com/upfile/20060527/11486974928721157793070.JPG" width="543" /></div>
				<div> </div>
				<div> </div>
				<div>　　<strong>7、其它操作</strong><br />　　当然，Subversion的功能是比较强大的，除了上面的这些基本操作，还有很多其它项目协同方面的功能，如版本标识、文件合并、锁定、解锁等等。请团队成员在具体使用的过程中认真体会。</div>
				<div> </div>
				<div> </div>
				<div>
						<strong>三、 在Eclipse中使用Subversion</strong>
				</div>
				<div>
						<strong>
						</strong>
						<br />　　前面介绍了如何在资源管理器中直接使用Subversion进行协同功能，然而在实际的开发工作中，我们更多的时候需要直接在开发工具中使用协同及版本控制功能。下面简单介绍如何在Eclipse中使用Subversion进行协同开发。</div>
				<div> </div>
				<div>　　<strong>1、下载Subversion的Eclipse插件<br /></strong>　　下载地址：<a href="http://dl.easyjf.com/downloads/subversion_eclipse.zip">http://dl.easyjf.com/downloads/subversion_eclipse.zip</a></div>
				<div>　　或：<a href="http://www.easyjf.com/download/tools/subversion_eclipse.zip">http://www.easyjf.com/download/tools/subversion_eclipse.zip</a></div>
				<div>　　<strong> 2、安装插件</strong><br />　　跟其它的Eclipse插件一样，我们直接把下载后的文件解压，并拷贝到的Eclipse主目录即可（当然，更好的做法是使用links目录安装）。插件文件如下图所示：</div>
				<div>
						<br /> <img height="90" src="http://www.easyjf.com/upfile/20060527/11486854134821157793070.JPG" width="510" /></div>
				<div>　</div>
				<div>　　<strong>3、配置</strong><br />　　进入Eclipse系统，若插件安装成功后，我们打开Eclipse的preference面板，在Team组中会看到除了CVS以外，还多了一项SVN。点开该选项，我们可以设置SVN的一些属性（默认情况下不需要任何设置）。如下图所示：</div>
				<div>
						<img height="520" src="http://www.easyjf.com/upfile/20060527/11486853329501157793070.JPG" width="583" />
						<br /> </div>
				<div>　　进入Eclipse的“windows”-&gt;“show view”-&gt;“other”，我们会看到如下的SVN项：</div>
				<div> </div>
				<div>
						<img height="412" src="http://www.easyjf.com/upfile/20060527/11486854259041157793070.JPG" width="298" />
						<br /> </div>
				<div> </div>
				<div>　　<strong>4、查看配置服务器中的项目文件</strong><br />　　打开SVN资源库视图，点击添加资源库，我们可以设置配置EasyJF团队开源项目库。并查询项目文件，如下图所示：</div>
				<div>
						<img height="468" src="http://www.easyjf.com/upfile/20060527/11486854388721157793070.JPG" width="717" />
						<br /> </div>
				<div> </div>
				<div>　　<strong>5、从配置管理服务器中取出项目文件到本地<br /></strong>　　在SVN资源库中点击右键，然后执行“取出为”操作。即可把配置管理服务器中的项目取出到本地。</div>
				<div>
						<img height="264" src="http://www.easyjf.com/upfile/20060527/11486855273411157793070.JPG" width="711" />
						<br /> </div>
				<div>　　输入用户名及密码后，即可出现项目相关的对话框。通过这些引导对话框，可以快速实现把远程的项目直接导入本地文件中，并自动建立起与配置服务器中项目的相关关联。如下所示：</div>
				<div>
						<img height="403" src="http://www.easyjf.com/upfile/20060527/11486855742941157793070.JPG" width="529" />
						<br /> </div>
				<div> </div>
				<div>
						<strong>6、本地项目与配置管理器的项目关联<br /></strong>　　当然，也可以直接把本地已经建好的项目与配置管理服务器中的项目建立关联。使用SVN的协同开发及版本控制功能。直接选中相关的项目名称，点鼠标右键，然后选择“Team”－“Share Project”，然后在对话框中选择“SVN”，接着选择或填写相关的配置参数即可。如下图所示：</div>
				<div> </div>
				<div>
						<img height="159" src="http://www.easyjf.com/upfile/20060527/11486856307791157793070.JPG" width="561" />
						<br /> </div>
				<div> </div>
				<div>　　<strong>7、使用项目协同及版本控制功能</strong><br />　　在建立好本地项目与远程项目的关联后，我们即可在Eclipse中应用Subversion的各种协同开发及版本控制功能。如下图所示：<br /> <br />　　 <img height="640" src="http://www.easyjf.com/upfile/20060527/11486856549041157793070.JPG" width="766" /><br />　　</div>
				<div> </div>
				<div>　　<strong>由于EasyJF开源项目中的源码只有正式成员才能修改及维护，因此关于团队成员具体的协同开发、版本控制规范等这里不不作详细介绍，我们会在团队的工作文档中以及日常培训中给予介绍。</strong></div>
				<div> </div>
				<div>
						<strong>四、 EasyJF团队开源项目库简介</strong>
				</div>
				<div>
						<strong>
						</strong> </div>
				<div>　　以下是当前EasyJF团队已有开源项目名称及对应SVN地址，游客访问用户即密码皆为easyjf。<br />　　 EasyDBO/  <a href="http://svn.easyjf.com/repository/easyjf/easydbo/" target="_blank">http://svn.easyjf.com/repository/easyjf/easydbo/</a><br />　　 EasyJWeb/ <a href="http://svn.easyjf.com/repository/easyjf/easyjweb/" target="_blank">http://svn.easyjf.com/repository/easyjf/easyjweb/</a><br />　　 EasyJSite建站系统 / <a href="http://svn.easyjf.com/repository/easyjf/easyjsite/" target="_blank">http://svn.easyjf.com/repository/easyjf/easyjsite/</a><br />　　 简易Java订销管理系统/ <a href="http://svn.easyjf.com/repository/easyjf/easyerp/" target="_blank">http://svn.easyjf.com/repository/easyjf/easyerp/</a><br />　　 EasyJF论坛系统/ <a href="http://svn.easyjf.com/repository/easyjf/easyjfbbs/" target="_blank">http://svn.easyjf.com/repository/easyjf/easyjfbbs/</a><br />　　 EasyJF Blog系统/ <a href="http://svn.easyjf.com/repository/easyjf/easyjfblog/" target="_blank">http://svn.easyjf.com/repository/easyjf/easyjfblog/</a><br />　　 Java知识测评系统/ <a href="http://svn.easyjf.com/repository/easyjf/easyjfexam/" target="_blank">http://svn.easyjf.com/repository/easyjf/easyjfexam/</a><br />　　 Meybo Mail Web开源简化版/ <a href="http://svn.easyjf.com/repository/easyjf/meybomailweb/" target="_blank">http://svn.easyjf.com/repository/easyjf/meybomailweb/</a><br />　　 简易Java网上商城系统/ <a href="http://svn.easyjf.com/repository/easyjf/easyshop/">http://svn.easyjf.com/repository/easyjf/easyshop/</a><br />　　。。。。。。<br />　　更多的最新EasyJF国产Java开源项目的SVN地址，请随时查看EasyJF开源团队官网。</div>
				<div> </div>
				<div>
						<br />
						<strong>五、 Subversion简介</strong>
				</div>
				<div>
						<strong>
						</strong>
						<br />　　Subversion是一个GPL版本控制软件，Subversion(SVN, <a href="http://subversion.tigris.org/">http://subversion.tigris.org/</a>)项目开始于2000年2月。通过Subversion我们实现在团队中的项目协同开发及版本控制功能。<br />　　Subversion主要有以下功能：<br />　　代码版本的存储与维护;<br />　　代码版本的追踪回溯;<br />　　代码版本的分合控制;<br />　　团队成员多人合作开发专案;<br />　　代码远端管理维护;<br />　　代码匿名截取;<br />　　目录版本控制，目录更名;<br />　　文件的分支与标记等。</div>
		</div>
<img src ="http://www.blogjava.net/daxia/aggbug/48446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-05-27 09:26 <a href="http://www.blogjava.net/daxia/archive/2006/05/27/48446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>看看这样的“坐而论道”,这是国产开源所需要的！</title><link>http://www.blogjava.net/daxia/archive/2006/05/23/47707.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Tue, 23 May 2006 12:20:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/05/23/47707.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/47707.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/05/23/47707.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/47707.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/47707.html</trackback:ping><description><![CDATA[
		<p>　　今天下班回家，上了<a class="" title="" href="http://www.easyjf.com/bbs" target="_blank">EasyJF团队官方论坛</a>，突然看到一篇标题为“EasyJF Web感觉概念上很奇怪”的新帖子，由于本人在EasyJF中是负责EasyJWeb的开发，顿感眼睛一亮。点开后，看到tin同学(前辈)针对EasyJWeb谈了很多东西。因此，这里把他原话及我的回复帖出来，希望能抛砖引玉。<br />　　<br />　　原文地址：<a href="http://www.easyjf.com/html/bbs/20060523/6893036162172645.htm?ejid=?ejid=910837-129973425" target="_blank">http://www.easyjf.com/html/bbs/20060523/6893036162172645.htm?ejid=?ejid=910837-129973425</a><br /><br />　　<strong>tin：</strong><br /><br />　　标题：<strong>EasyJF Web感觉概念上很奇怪<br /></strong>　　内容：<br />　　真的很支持国产。但是Model 2的MVC其实已经过季了。Webwork 2本身已经做到了Model 2 MVC的顶峰了，理念也差不多了。EasyJF这个其实也是Model 2。去掉了Struts里面Action的extends，用command模式的接口。很简单可以做到CRUD，可是仅仅CRUD加速是远远不够的。比如Component Based的MVC，Tapestry、JSF的组件级复用和基于事件的变成模型。比如Stripes里面提出的基于annotation的各种配置。RoR里面的N多革命性概念，seaside里面的full continuations.... 板叔的JDao Framework里面还混了了EJB，这算个创意，而EasyJF呢？EasyJF里面限定了vm作为模版，这其实是反模式，因为WebWork和Spring MVC都把View解放了，你可以自己选择自己的view模版，这是一个灵活MVC的基础，否则对于客户的多种多样的view上的需求，一个vm能解决么？而且历史已经证明vm的模版模型在Web中并不怎么好用，FreeMarker也基本上取代它了，后面还有WebMacro2这类性能强大的模版……所以，我觉得现在大张旗鼓地宣传这样的Web框架有点混淆视听，真的希望好好宣传成功框架的最佳实践。<br />　　当然不想泼冷水，还是觉得Java的Web框架不是太少了，而是太多了。小框架最好靠创意成功吧，起码启发别人。而现在这样的代码/架构/风格/思想，我觉得只会使一些不太熟悉Java Web开发的新手误入歧途，真的，诚恳的要求主力开发人员再看看J2EE Development without EJB。<br />言语如有冒犯，请谅解。 <br /><br /><br />　<strong>　我的回复：<br /></strong><br />　　谢谢tin，总算有一个愿说到点子上了。<br /><br />　　EasyJWeb肯定需要作很多改进,以前由于只是一两个人开发，受到很多技术及认识上的限制，有点“闭门造车”，“看到一片树叶，就声称发现了一片森林”的感觉，因此存在那么多的问题，再所难免。现在经过很多同行的指点，总算找到点感觉了。MVC其实在一个应用中算不了什么，一个高手几十行代码就能写出一个MVC，EasyJF开源团队也不打算在EasyJWeb上浪费太多的精力。然而，跟楼主说的一样，EasyJWeb需要作彻底的改进。<br />　　对了，EasyJF不是EasyJWeb，也就是说EasyJF不是要做一个或者两个框架，而更希望做的是一个能提高软件生产力的东西。有一天一个朋友告诉我，他是看了Tapestry后，才看EasyJWeb，说他很像；也有用Struts的同行说，这是struts的翻版；当然还有很多用过webwork的人更是如此说。<br />　　我认为技术最好、概念最先进的并不一定是最适合的，有历史为证，大家看到现在的EasyJWeb，愿意是想在很多优秀框架之间能找到一些平衡。类似我在《玩玩Spring》系列中提到的“中庸”。他现在的所谓“好”，个人认为体现在三个“一点点”，即体现在比jsp+javabean概念先进一点点(国内还停留在这个阶段的公司及个人不少啊)，比struts技术上好用那么一点点，比webwork易于理解一点点。<br />　　EasyJF现在还没有也不敢对EasyJWeb进行“大张旗鼓地宣传”，毕竟还存在那么多需要完善的地方，而且才是一个0.5版本。现在甚至没有怎么宣传，有的宣传也是针对EasyJF团队的宣传吧。我们原计划EasyJWeb第一个正式版本出来以后，到时候再开始从网上、网下开展“大张旗鼓”的宣传，8－9月份应该差不多吧。<br />　　天地间，人最大，EasyJF最在乎的是人才。以后还请tin兄多多指导，希望EasyJWeb下一个以及下下一个版本出来时候，能让大家看到一些新的东西，再次感谢。<br /><br />　　附：玩玩Spring之八卦MVC框架与 “中庸”之道<br />   <a href="/daxia/archive/2006/05/16/46457.html" target="_blank">http://www.blogjava.net/daxia/archive/2006/05/16/46457.html</a></p>
<img src ="http://www.blogjava.net/daxia/aggbug/47707.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-05-23 20:20 <a href="http://www.blogjava.net/daxia/archive/2006/05/23/47707.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源的世界很精彩 </title><link>http://www.blogjava.net/daxia/archive/2006/05/22/47401.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Sun, 21 May 2006 22:12:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/05/22/47401.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/47401.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/05/22/47401.html#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/47401.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/47401.html</trackback:ping><description><![CDATA[　　－－写在<a href="http://www.easyjf.com/html/20060521/3212438514563392.htm?ejid=1141219960424115" target="_blank"><font color="#3300ff">EasyJF开源团队第二次招聘工作开始</font></a>之际 
<div> </div><div>　　我们爱开源！<br />　　我们天天都在用着各种各样、大大小小的开源项目；<br />　　开源软件成了我们工作中的油盐米饭。<br /><br /></div><div>　　忙碌间隙，我们有时会感到疑惑：<br />　　我们不知道这些开源项目是如何从无到有；<br />　　如何从开始面对大家都置疑、不屑一顾，到最后取得大家的认可、称赞。<br />　　</div><div>　　没能直接参与这些经典项目的培育过程；<br />　　没能亲自体味这些开源项目成长过程中的酸甜苦辣；<br />　　这对我们来说成了一种遗憾。</div><div> </div><div>　　于是我们有了自己的梦：<br />　　做出一个像hibernate那样经典的开源项目，<br />　　做出一个更适合中国程序员的开源软件。　　</div><div>　　<br />　　因为我们不甘于总是当观众，<br />　　我们也渴望参与表演。<br />　　<br />　　于是，有了Jdon！<br />　　有了EasyJWeb，<br />　　有了SpringSide。</div><div> </div><div>　　Jdon的板桥里人说：国人中一些所谓高手是崇洋分子，属于过分方舟子，国内缺乏公正公平的评价机制；　　<br />　　EasyJWeb的stef说：只要是用心付出了的，都值得我们尊敬；<br />　　我想说：我们需要培育对开源真正的爱。</div><div> </div><div>　　请多给一些善意的批评与指教；<br />　　请少来一点恶意的讥讽与嘲笑。　   </div><div><br />　　有人说：开源的可贵这处是“开放”、“共享”；<br />　　我想说：开源的精神需要的是“奉献”。　</div><div> </div><div>　　阿房宫及华清池都已片瓦不存；<br />　　李杜的名句及老庄的格言却一字不误地镌刻在我们的心里。</div><div>　　　</div><div>　　我不知道我现在按揭的房子，100年后的主人会是谁；<br />　　我只能深深体会到，现在的我正受着100年前梁启超、康有为的思想所影响。<br />　　　　<br />　　工作因为有了开源而变得轻松；<br />　　生活因为有了开源而变得有趣；</div><div>　　人生因为有了开源而变得有意义；<br />　　开源的世界很精彩。</div><div> </div><div>　　 (<a href="http://www.easyjf.com/">EasyJF开源团队</a>　<a href="/daxia/">大峡</a> 写于二零零陆年伍月贰十贰日凌晨四点)<br /></div><img src ="http://www.blogjava.net/daxia/aggbug/47401.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-05-22 06:12 <a href="http://www.blogjava.net/daxia/archive/2006/05/22/47401.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从sun决定开放Java源代码想到的</title><link>http://www.blogjava.net/daxia/archive/2006/05/17/46616.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Wed, 17 May 2006 06:08:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/05/17/46616.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/46616.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/05/17/46616.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/46616.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/46616.html</trackback:ping><description><![CDATA[
		<p>　　很早就有消息说，Sun将开放Java源代码，直到昨天（也就是2006年5月16日)，Sun 终于放话表示，将开放Java源代码，现在要解决的就是如何开放源码的相关细节问题了（开源使用的协议、版板、规范等)。</p>
		<p>　　热心的开源爱好者建议开放Java源码，已经是很多年来的事情了，然而Sun担忧和害怕失去对Java的控制拒绝开放源代码。然而今天我们看到的是“Java由老虎变成了野马”-<a href="/chenpengyi/archive/2006/04/02/38674.html" target="_blank">陈朋奕</a>同学语，看来开源的势头也真是难以控制了。跟格林说的一样，在这方面是二种力量在博弈，一种是对Sun 开放Java的要求，另一种是对兼容性的担忧。<br />　<br />　　随着宣布Java的开源，Sun还宣布了将使其它软件成为开放源代码软件，其中包括Sun Java Studio Creator 、Sun Java System Portal Server 、Sun 基于Java消息系统的消息队列和Web 服务互操作技术。</p>
		<p>　　Java开源了，意味着全世界都有机会了。落后的中国软件技术是否就能掺合进来分一块肉吃呢？众多国产中间件开发商、方案提供商能否利用“地利人和”的优势跟BEA这样的庞然大物火拼一下呢?java开源了，国产的开源项目能否出一两个像hibernate这样的精品呢？</p>
		<p>　　在今天炫目多彩的java大舞台，我们是继续当观众、当忠实粉丝还是也争取扮一个表演者呢？请大家各抒己见。<br /></p>
<img src ="http://www.blogjava.net/daxia/aggbug/46616.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-05-17 14:08 <a href="http://www.blogjava.net/daxia/archive/2006/05/17/46616.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>玩玩Spring之八卦MVC框架与 “中庸”之道 </title><link>http://www.blogjava.net/daxia/archive/2006/05/16/46457.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Tue, 16 May 2006 10:28:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/05/16/46457.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/46457.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/05/16/46457.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/46457.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/46457.html</trackback:ping><description><![CDATA[
		<div align="left">　　(本故事除了部分点明道姓并具有故事详细发生的具体时间点地等部分情节以外，其它内容纯属虚构，若有雷同，纯属巧合。)</div>
		<div> </div>
		<div>　　看本文的朋友请先看本系列的前面两篇文章：<a href="http://www.easyjf.com/html/20060509/1730978535297201.htm?ejid=8666340670359399" target="_blank"><font color="#3300ff">《玩玩Spring之struts+hibernate+spring添删改查示例》</font></a>及<a href="http://www.easyjf.com/html/20060510/1388166949821834.htm?ejid=8666340670359399" target="_blank"><font color="#3300ff">《玩玩Spring之hibernate+ webwork+ spring添删改查示例》</font></a>，否则会看不懂的。</div>
		<div> </div>
		<div>　　本文程序运行效果，先睹为快：<a href="http://www.easyjf.com/html/bbs/20060516/3391914101561546.htm?ejid=8666340670359399" target="_blank"><font color="#0000ff">http://www.easyjf.com/html/bbs/20060516/3391914101561546.htm?ejid=8666340670359399</font><font color="#800080"></font></a></div>
		<div> </div>
		<div>　　<strong>主演：</strong> EasyJWeb、中庸之道、Spring。<br />　　<strong>配角：</strong>Struts、webwork、Velocity、JSP、hibernate、J2EE各层程序员。</div>
		<div> </div>
		<div>　　在前面的两个例子中，主要给大家介绍了Spring的黄金庸俗组合以及华丽高雅组合来开发B/S应用。在我们用到的几个“轮子”当中，由于hibernate是当今公认最好的ORM系统，因此争议性不大。然而，Struts就未必了，Struts也是市场上使用得多的框架（尽管有那么多技术牛人说他的不是），然而很多人对Struts很是看不起眼，总是认为没有华丽的IOC、无法写出优雅、漂亮的代码，一些配置及FormBean搞起来很麻烦，因此，webwork或Tapestry等比他强很多。在网上，有时候甚至会看到有些人对struts学习者发出藐视的目光。<br />　　Webwork就真强了吗？市场才是王道吧，我不禁想问，不就引入了一些IOC<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">、拦截器</span>功能，并与一些常用的组件集成摆了。存在即合理，所以各家粉丝没必要为这个PK。正好，现在struts与webwork开发团队已经合并了(为什么合并?当然是为了对付共同的敌人啊)，可以不用PK了。但Tapestry、JSF、Spring MVC的粉丝又该怎么办？呵呵，是不是很有意思，打着不发明轮子大旗，发明了一个又一个的漂亮轮子给我们，让我们这些第三世界国家的粗人谁都舍不得丢下，一不小心就犯了选择恐惧症。看来作为一名程序员，身体以及精神都得健壮啊，要不，谁能折腾得起！这不，客户正在催命似的要看项目进展情况，而我们连选择什么框架都还没定呢！<br />　　<br />　　有点晕了吧，还有更晕的。今天笔者不打算<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">用大家熟悉的框架作示例</span>，所以就不用管各家粉丝怎么PK了(看他们PK也郁闷，还得翻译一次，有时一不小心还会跑调!)。本文将用一个你可能从没见过的国产开源框架来替换掉上例中的Struts及webwork，这个框架就是由国内EasyJF开源团队所开发的EasyJWeb框架。</div>
		<div>　　提到EasyJWeb，我想前面提到的各种MVC框架的粉丝一定会联合起来，组成一个要技术有技术、要资历有资历的超强阵容来PK了。因为EasyJWeb是国产的，而其它的都是进口原装的，再加上EasyJWeb测试版本当前才发到0.5版，有很多地方都还不成熟，几个开发者技术水平又不怎么样，写的东西也是那么平庸、朴实，一不小心就被抓住小辫子。而EasyJWeb开发团队又急于想把这个框架介绍给大家，让大家帮助提建议、完善。<br />　　既然还不完善，那我为什么要用EasyJWeb而不选择其他呢？<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">原因跟大家跟大家喜欢其它的框架也一样，因为</span>本人就是EasyJWeb的超级粉丝，我不支持他支持谁。<strong>说得更直白一点，这好比俺村里大眼睛、长头发的小芳姑娘，不管从皮肤、外表、性格、习惯等各方面都比美国的小甜甜布兰妮更适合做偶老婆的道理一样。</strong>况且笔者大大小小框架也用了不少，自我感觉还是EasyJWeb使起来最顺手，代码少容易搞清楚框架的工作原理不说，提供的那些功能还都是我们项目中经常所需要的。</div>
		<div>　　可笑也可悲的是，国内有的同行及媒体平台一看到有关EasyJWeb字眼，一看是国产的，好歹不分尽然就说是打广告，写的文章也不让登。偶滴神啊，要不是在大街上看到满街的黄皮夫、黑眼睛的路人甲乙丙丁，我还真以为自己身处西方资本主义国家了，对俺们社会主义国家搞的东西这么抵制。同样是开源项目，struts的心得体会你可以发，为什么关于EasyJWeb的心得体会你就不让发？(小样，谁说不给你发了？要发可以，拿金币来!)何苦呢,现在都WTO那么多年了。你整天翻译、搜集那些乱七八糟的国外小项目的动态啊什么的，累不累啊。不知情者还认为你是资本主义国家设在国内的宣传喉舌呢。<br />　　当然，这里说的只是非常少的个别特例，大多数前辈及平台还是很支持我们的。若没有国内众多前辈的鼓励、指点以及像“Java研究组织”类似的众多专业技术平台的支持，恐怕EasyJWeb早就死翘翘，今天大家也就看不到这篇文章了。</div>
		<div> </div>
		<div>　　晕，八卦有点远了，下面进入正题吧。今天笔者探讨的一个重点就是如何在不动其它各层的情况下，替换掉上两篇“添删改查”示例中的MVC层。这也是我理解的多层结构中的一门艺术，这也是大家听到的组件或者构件的一个妙处。前辈们不都说吗？配置时代的编程，做软件就像搭积木，几个框框、架架、部件搭在一起，一个庞大的系统就被我们堆起来了。假如其中有些部件由于各种原因需要换，随便换就是了，其它的部分都不用动。J2EE的灵活、可维护性都体现在这些地方，由于Java的灵活，因此他有时候会带给我们类似于艺术工作者所特有的那种飘飘然的感觉，这也是笔者放弃微软的.Net，投入Java怀抱的原因。<br />　　由于本示例使用的是EasyJWeb，因此其它MVC框架的粉丝可以略过后面的技术细节内容，直接跳到后面有关“中庸之道”的论述中，否则不小心你也会被EasyJWeb迷住。</div>
		<div>　　下面请看操作步骤，大家可以对照前两篇示例中的MVC部分的内容来看：</div>
		<div>
				<br />　　<strong>1、 写处理用户请求的Action。</strong></div>
		<div>
				<strong>
				</strong>
				<br />　　跟Struts类似，EasyJWeb有一个Action，但这个Action因为使用的接口方式，不需要继承于框架特定的Action，只需要实现IWebAction即可，本例中，为了方便我们的Action直接继承EasyJWeb Tools中提供给我们的一个Action基类(你也可以不用继承他)，下面是UserManageAction.java的代码。<br />package com.easyjweb.action;</div>
		<div>import java.util.ArrayList;<br />import java.util.Collection;<br />import com.easyjf.util.CommUtil;<br />import com.easyjf.web.ActionContext;<br />import com.easyjf.web.Globals;<br />import com.easyjf.web.Module;<br />import com.easyjf.web.Page;<br />import com.easyjf.web.WebForm;<br />import com.easyjf.web.tools.AbstractCmdAction;<br />import com.easyjf.web.tools.IPageList;<br />import com.easyjf.web.tools.ListQuery;<br />import com.easyjf.web.tools.PageList;<br />import com.easyjf.example.business.IUser;<br />import com.easyjf.example.business.IUserService;</div>
		<div>import org.springframework.web.context.WebApplicationContext;<br />import org.springframework.web.context.support.WebApplicationContextUtils;</div>
		<div>public class UserManageAction extends AbstractCmdAction {<br /> private IUserService userService; <br /> public IUserService getUserService() {<br />  return userService;<br /> }<br /> public void setUserService(IUserService userService)<br /> {<br />  this.userService=userService;<br /> }<br /> public Object doBefore(WebForm form, Module  module) {<br />  WebApplicationContext wac =WebApplicationContextUtils.getRequiredWebApplicationContext(ActionContext.getContext().getServletContext());<br />  this.userService = (IUserService) wac.getBean("userService");<br />  return null;<br /> }<br /> public Page doInit(WebForm form, Module module) { <br />  return doQuery(form,module);<br /> } <br /> public Page doNew(WebForm form, Module module) { <br />  return new Page("edit","/userEdit.html",Globals.PAGE_TEMPLATE_TYPE);<br /> } <br /> public Page doAdd(WebForm form, Module module) {<br />  Page forward=null;<br />  IUser  obj=(IUser)form2Obj(form);        <br />     if(userService.save(obj))<br />     {<br />      form.addResult("msg","数据添加成功！");<br />      forward=doQuery(form,module);<br />     }<br />     else<br />     {<br />      form.addResult("msg","数据添加失败");  <br />      forward=new Page("edit","/userEdit.html",Globals.PAGE_TEMPLATE_TYPE);<br />     }     <br />  return forward;<br /> }<br /> public Page doUpdate(WebForm form, Module module) {  <br />  Page forward=null;<br />  IUser  obj=(IUser)form2Obj(form);     <br />     if(userService.update(obj))<br />     {<br />      form.addResult("msg","数据修改成功！");<br />      forward=doQuery(form,module);<br />     }<br />     else<br />     {<br />      form.addResult("msg","数据修改失败");  <br />      forward=new Page("edit","/userEdit.html",Globals.PAGE_TEMPLATE_TYPE);<br />     }     <br />  return forward;<br /> }</div>
		<div> public Page doEdit(WebForm form, Module module) { <br />  Page forward=null;<br />  IUser  obj=(IUser)form2Obj(form);<br />     if(obj!=null)<br />     {<br />         form.addPo(obj);<br />      forward=new Page("edit","/userEdit.html",Globals.PAGE_TEMPLATE_TYPE);<br />     }<br />     else<br />     {<br />      form.addResult("msg","找不到数据！");  <br />      forward=doQuery(form,module);<br />     }     <br />  return forward;<br /> }</div>
		<div> public Page doDel(WebForm form, Module module) {  <br />  IUser  obj=(IUser)form2Obj(form);    <br />     if(userService.del(obj))<br />     {<br />      form.addResult("msg","数据删除成功！");      <br />     }<br />     else<br />     {<br />      form.addResult("msg","数据修改失败"); <br />     }     <br />  return doQuery(form,module);<br /> }<br /> public Page doQuery(WebForm form, Module module) {  <br />  int currentPage=CommUtil.null2Int(form.get("page"));<br />  int pageSize=CommUtil.null2Int(form.get("pageSize"));<br />  if(currentPage&lt;1)currentPage=1;<br />  if(pageSize&lt;1)pageSize=15;<br />  String scope="1=1";<br />  Collection paras=new ArrayList();  <br />  String orderType=CommUtil.null2String(form.get("orderType"));<br />  String orderField=CommUtil.null2String(form.get("orderField"));  <br />  String userName=CommUtil.null2String(form.get("queryUserName"));<br />  String tel=CommUtil.null2String(form.get("queryTel"));    <br />  if(!userName.equals(""))<br />  {<br />   scope+=" and userName like ?";<br />   paras.add("%"+userName+"%");<br />  }<br />  if(!tel.equals(""))<br />  {<br />   scope+=" and tel like ?";<br />   paras.add("%"+tel+"%");<br />  }  <br />  if(orderField.equals(""))//默认按用户名排序<br />  {<br />  orderField="userName";<br />  orderType="desc";    <br />  } <br />  if(!orderField.equals(""))<br />  {<br />  scope +=" order by "+orderField;<br />  if(!orderType.equals(""))scope+=" "+orderType;<br />  } <br />  IPageList pList=new PageList(new ListQuery(userService.query(scope,paras)));<br />  pList.doList(pageSize,currentPage,"","");<br />  //保存查询结果<br />  CommUtil.saveIPageList2WebForm(pList,form);<br />  return new Page("list","/userList.html",Globals.PAGE_TEMPLATE_TYPE);<br /> }<br /> public Object form2Obj(WebForm form) {<br />  String cid=(String)form.get("cid");<br />  IUser user=null;<br />  if(cid!=null &amp;&amp; (!cid.equals("")))user=userService.read(cid);<br />  if(user==null)user=userService.newUser();<br />  return form.toPo(user);<br /> } <br />}</div>
		<div> </div>
		<div>
				<strong>2、 制作模板页面</strong>
		</div>
		<div>
				<br />　　类似于Struts示例中的JSP页面，只不过这里的模板页面使用的是Velocity脚本引擎。因此，不在有JSP中的相关语法，也没有一些让人头晕的自定义标签。所有标记集中归纳起来就只有4种用法，大家可以看看笔者在EasyJF开源团队官网上的一篇文章，题为：<a href="http://www.easyjf.com/html/20060417/8956272-15333948.htm?ejid=8666340670359399" target="_blank"><font color="#3300ff">《浅析MVC框架中View层的优雅设计及实例》</font></a>。<br />　　模板不再存放在根目录，而是存放在web-inf\easyjweb目录，同样是两个模板，一个userEdit.html模板是用于显示用户录入表单，另外一个userList.html文件是用户列表页面。模板的全部内容可以从EasyJF开源团队官方网站下载，本示例中的全部完整代码中包含了该模板。</div>
		<div>　　下载地址：<a href="http://www.easyjf.com/html/bbs/20060516/3391914101561546.htm?ejid=8666340670359399" target="_blank"><font color="#0000ff">http://www.easyjf.com/html/bbs/20060516/3391914101561546.htm?ejid=8666340670359399</font><font color="#800080"></font></a></div>
		<div> </div>
		<div>
				<strong>3、修改web.xml文件即可，其全部内容如下：</strong>
		</div>
		<div>
				<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;web-app&gt;<br />&lt;context-param&gt;<br />&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;<br />&lt;param-value&gt;/WEB-INF/applicationContext.xml&lt;/param-value&gt;<br />&lt;/context-param&gt; <br />&lt;listener&gt;<br />&lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;<br />&lt;/listener&gt;<br />&lt;filter&gt;<br />&lt;filter-name&gt;CharsetFilter&lt;/filter-name&gt;<br />&lt;filter-class&gt;com.easyjf.web.CharsetFilter&lt;/filter-class&gt;<br />&lt;init-param&gt;<br />&lt;param-name&gt;encoding&lt;/param-name&gt;<br />&lt;param-value&gt;utf-8&lt;/param-value&gt;  <br />&lt;/init-param&gt;<br />&lt;init-param&gt;<br />&lt;param-name&gt;ignore&lt;/param-name&gt;<br />&lt;param-value&gt;true&lt;/param-value&gt;<br />&lt;/init-param&gt;<br />&lt;/filter&gt;<br />&lt;filter-mapping&gt;<br />&lt;filter-name&gt;CharsetFilter&lt;/filter-name&gt;<br />&lt;servlet-name&gt;easyjf&lt;/servlet-name&gt;<br />&lt;/filter-mapping&gt; <br />  &lt;servlet&gt;<br />    &lt;servlet-name&gt;easyjf&lt;/servlet-name&gt;<br />    &lt;servlet-class&gt;com.easyjf.web.ActionServlet&lt;/servlet-class&gt;    <br />  &lt;/servlet&gt;<br />  &lt;servlet-mapping&gt;<br />    &lt;servlet-name&gt;easyjf&lt;/servlet-name&gt;<br />    &lt;url-pattern&gt;*.ejf&lt;/url-pattern&gt;   <br />  &lt;/servlet-mapping&gt; <br />   &lt;servlet-mapping&gt;<br />    &lt;servlet-name&gt;easyjf&lt;/servlet-name&gt;<br />    &lt;url-pattern&gt;/ejf/*&lt;/url-pattern&gt;   <br />  &lt;/servlet-mapping&gt;    <br />&lt;/web-app&gt;</div>
		<div> </div>
		<div>　　配置文件跟前面两个例子中的差不多，只是多了一些中文过滤处理等内容，EasyJWeb已经考虑到经常遇到的中文问题。</div>
		<div>　　大家可以拿Struts与EasyJWeb对比一下，我们少了两个步骤，一个是ActionForm Bean的定义，另外一个是配置struts-config.xml文件。其实EasyJWeb也有跟struts-config.xml类似的配置文件easyjf-web.xml，只不过我们这个例子中使用的是默认配置而已。</div>
		<div> </div>
		<div>　　完整的示例代码下载：</div>
		<div>　　<a href="http://www.easyjf.com/html/bbs/20060516/3391914101561546.htm?ejid=8666340670359399" target="_blank"><font color="#0000ff">http://www.easyjf.com/html/bbs/20060516/3391914101561546.htm?ejid=8666340670359399</font><font color="#800080"></font></a></div>
		<div>
				<font color="#800080">
				</font> </div>
		<div>　　当然，为什么我们能不修改其它的代码即换掉系统的MVC层，还是归功于Spring的IOC容器为我们管理了其它层组件。当然，这两三个示例中只使用了Spring最简单也是最常用的功能。</div>
		<div> </div>
		<div> </div>
		<div>　　看到这里很多人一定会疑问，在前一篇演示webwork应用的文章中，webowrk都快被捧上天了，而现在你又来推荐EasyJWeb，这不明摆着忽悠人吗？EasyJWeb这个轮子跟他们有什么区别及特色呢？<br />　　要回答这个问题，说来有点话长，这得从我们中华民族儒家文化中的核心思想，“中庸之道”说起（中庸之道是本文中的一个主角，请大家鼓掌!）。“<strong>中庸者,以其记中和之为用也；庸,用也。</strong>孔子之孙子思作之，以昭明圣祖之德也。”－《中庸》郑玄注；《中庸》中有说：“<strong>天命之谓性，率性之谓道，修道之谓教</strong>”。怎么样，很多朋友看不懂是吧？谁叫咱们80后人注重素质教育，搞到连老祖辈的文化思想核心都搞不懂。若长此下去，恐怕三、四十年后，咱们的后辈都将会看不懂也听不懂中文了。<br />　　什么是中庸？这里我用通俗点的语言看能不能解释一下。<strong>我认识一位大伯，他以前是知识分子，但他因为他的知识而坐了10年牢，于是他把他儿子从小就带进了我们贵州最穷的山区里面，如今儿子变成了文盲。另外我还听说有一个人本来住在南极的，但后来他说南极太冷了，他要搬到北极去住，到了北极他才发现其实北极跟南极一样的冷。为什么会这样，因为他们不懂中庸。</strong><br />　　再说现实一点，好比我们的有些朋友，刚出学校的时候什么都敢想、敢做，但在社会中若打拼一两年，经历了一些挫折或失败后，就歇菜了。“梦想”、“激情”、“脚踏实地”可能被人利用过，我们可能因此会犯错、吃亏，但那是“人”的错，不是“梦想”、“激情”、“脚踏实地”本身的错，<strong>我们不能因此就变得没有梦想、没有激情、投机取巧、处处设防，做人得学会中庸。</strong></div>
		<strong>
		</strong>
		<div>
				<br />　　还是没明白，对吧?那么说到Java技术上来就是不要因为有了类(Class)的存在可能会破坏我们面向对象编程的精华，所以你就把类(Class)从Java中消除，而只保留接口（Interfaces）。同样的道理，<strong>你不能因为Struts的action中的那四个讨厌的参数看起不爽，你webwork就把它们全部去掉，一个不留。其结果就是过分的简洁、高雅造成了很多新人的都无法理解及领悟其中妙处的尴尬处境</strong>。为了给页面传一个参数得翻遍大大小的接口API说明文档。本来一个简单的MVC你却暗藏那么多华丽的机关，跟我们这些平庸的程序员玩起捉迷藏，有必要吗？有时还得学学人家ASP、PHP，就那么简单的几条语句，还不一样搭建起了一栋栋赏心悦目的高楼大厦吗？这应该也算是很多Struts粉丝不喜欢webwork的一个原因吧。</div>
		<div>
				<br />　　可以这么说，EasyJWeb的做法恰好就是得益于这个我们中华民族所独用的中庸思想，即要保持一定的技术先进性（什么[I]OC、[A]OP、OX、拦载器等值钱的我们通通都要!呵呵），又要照顾广大的普通代码“水泥”工人的应用及理解方便。</div>
		<div> </div>
		<div>　　很多人说，"Spring framework 的作者真正明白我们程序员需要什么，关心什么。"，这里我想说，<strong>真切希望像EasyJF一样的众多国产开源团队能真正明白我们中国的程序员需要什么，关心什么</strong>。多学习国内外优秀的开源技术，多融入一些国内民族文化思想及思维习惯。多创造点实实在在，能真正提高软件生产力的东西。<br /></div>
		<div>　　</div>
		<div>　　玩得有点疯了哈，收敛一下。借着这阵吹Spring的风，笔者作为EasyJWeb开发团队成员之一，借机给大家<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">正式的</span>介绍一下EasyJWeb这个开源项目。<br />　　 EasyJWeb是基于java技术，应用于WEB应用程序快速开发的MVC框架，框架设计构思来源于国内众多项目实践，框架旨在借鉴当前主要流行的开源Web框架（Struts、JSF、Tapestry 、Webwork），吸取其优点及精华，利用Velocity作为模板页面引擎，实现一个页面及代码完全分离的MVC开发框架。旨在构建一个能实现中小型Web应用系统快速开发的简易Web框架。<br />　　根据EasyJWeb团队的设想，这个“轮子”并不仅仅是简单地简化了一些常见框架中的不必要环节，把Struts、Webwork、Tapestry等框架中的一些精华功能进行简单拼凑，其核心的是EasyJWeb Tools代码生成工具及业务引擎构想部分，若能实现这些构想的话将会大大提高通用软件的开发效率。</div>
		<div>　　虽然已经有了很多基于EasyJWeb开发的完整应用源码在网上下载，然而EasyJWeb当前还处于测试版，还有很多不足。<strong>第一个正式版本计划于2006年7月中旬有望发布，其作为一个开源项目，非常希望能得到国内众多技术前辈的支持及指教，若有发现框架中的不足，还请大家不吝给我们提出批评及建议，当然要是您有时间加入进来一起开发、改进那就更加求之不得了</strong>。</div>
		<div> </div>
		<div>
				<div>
						<div>　(<strong>备注：</strong>由于笔者不想拐弯抹角浪费大家玩的时间，有些“表白”难免过于直接，还请不喜欢Spring或者过分喜欢Spring的同行多多见谅! 本文中的“我们”，仅指与笔者有着同样成长经历的80后人，对于文章提到的观点，多数皆属于笔者个人观点，不代表任何人。<br />　　本文作者：<a href="http://www.easyjf.com/" target="_blank"><font size="2"><font color="#3300ff">EasyJF开源团队</font></font></a><a href="/daxia/" target="_blank"><font color="#3300ff" size="2">大峡</font></a>　版权归<a href="http://www.easyjf.com/" target="_blank"><font color="#3300ff" size="2">EasyJF开源团队</font></a>所有，欢迎转载，转载请保留作者版权声明，谢谢！)</div>
						<div> </div>
				</div>
				<div>附</div>
				<div>关于玩玩Spring系列，玩的过程及结果将会不定期在以下三个网站全球同步公布：<br />1.EasyJF开源团队官方网站，网址：<a href="http://www.easyjf.com/"><font color="#0000ff" size="2">http://www.easyjf.com</font></a><br />2.笔者的Blog，网址：<a href="/daxia/"><font color="#0000ff" size="2">http://www.blogjava.net/daxia/</font></a><br />3.Java研究组织(JR) ，网址：<a href="http://www.javaresearch.org/"><font color="#0000ff" size="2">http://www.javaresearch.org</font></a><br />欢迎更多跟我一样爱玩的哥哥姐姐弟弟妹妹一起来玩。</div>
		</div>
<img src ="http://www.blogjava.net/daxia/aggbug/46457.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-05-16 18:28 <a href="http://www.blogjava.net/daxia/archive/2006/05/16/46457.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>www.easyjf.com全站源码</title><link>http://www.blogjava.net/daxia/archive/2006/05/16/46308.html</link><dc:creator>大峡</dc:creator><author>大峡</author><pubDate>Mon, 15 May 2006 17:30:00 GMT</pubDate><guid>http://www.blogjava.net/daxia/archive/2006/05/16/46308.html</guid><wfw:comment>http://www.blogjava.net/daxia/comments/46308.html</wfw:comment><comments>http://www.blogjava.net/daxia/archive/2006/05/16/46308.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/daxia/comments/commentRss/46308.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/daxia/services/trackbacks/46308.html</trackback:ping><description><![CDATA[　　EasyJF开源团队官网是使用超轻量的Java Web组合EasyJWeb+EasyDBO开发的。<br />　　系统特点及主要功能：<br />　　1、动态内容自动或手动生成静态htm文件；　　<br />　　2、菜单自动管理；<br />　　3、在线模板管理；<br />　　4、AJAX动态菜单；<br />　　5、强大的网站信息发布功能；<br />　　6、与官网其它系统的良好集成；<br />　　7、后台全Java，模板页面便于修改及维护。 <br />　　功能说明及运行演示： 
<div>       <a href="http://www.easyjf.com/html/bbs/20060512/2025162165345295.htm"><font color="#0000ff"><a href="http://www.easyjf.com/html/bbs/20060512/2025162165345295.htm?ejid=8666340670359399" target="_blank">http://www.easyjf.com/html/bbs/20060512/2025162165345295.htm?ejid=8666340670359399</a></font>　　<br />　　<br />　　全站源码已经给正式成员开放打包下载了，当然　非成员可以通过“<a class="" title="" href="http://www.easyjf.com/download.htm?ejid=8666340670359399" target="_blank">源码/下载</a>”下载栏目下载其中的几个部分。　　 </a></div><div>　　全部源码下载地址：<a href="http://www.easyjf.com/bbsUpload.ejf?easyJWebCommand=download" target="_blank"><font color="#3333cc" size="2">http://www.easyjf.com/bbsUpload.ejf?easyJWebCommand=download</font></a></div><img src ="http://www.blogjava.net/daxia/aggbug/46308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/daxia/" target="_blank">大峡</a> 2006-05-16 01:30 <a href="http://www.blogjava.net/daxia/archive/2006/05/16/46308.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>