<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/feedsky8.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.mxjava.com" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/mxjava" type="application/rss+xml"></fs:self_link><lastBuildDate>Tue, 02 Sep 2008 14:46:29 GMT</lastBuildDate><title>MXJAVA</title><description>关注Java相关技术，关注互联网。</description><image><url>http://www.feedsky.com/feed/mxjava/sc/gif</url><title>MXJAVA</title><link>http://www.mxjava.com/blog</link></image><link>http://www.mxjava.com/blog</link><language>en</language><pubDate>Thu, 04 Sep 2008 15:46:14 GMT</pubDate><item><title>Swing程序的基本设计结构</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/111078009/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　Swing是纯Java写的图形用户界面。JDK1.5 以前的Swing，耗资源、性能低下、不美观等诸多原因，无论 Sun 如何宣传，也很少有开发者去关注它。自从 JDK1.5 的出现，无论从性能还是外观 Swing 都发生了巨大的变化，人们眼中的丑小鸭渐渐地变成了白天鹅。&lt;/p&gt;
&lt;p&gt;　　相对Web应用来说，我更喜欢开发桌面程序。以前也开发几个应用。不过每次都会有这种感觉 &amp;mdash; 总是写一堆控制程序启动和加载各种资源的类，还有一组数据库管理类和一堆程序界面和 Widget 类。然后就是老套路，为每个界面对应一类，用来实现应用程序的业务逻辑。每次有较新颖的想法准备开始动手时，上面这一堆机械式地开发方式总是让我提不起精神。唉！&lt;a href=&quot;http://www.mxjava.com/blog/archives/61.html&quot;&gt;程序设计不是如此简单&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;　　Grape是我最近在写的程序，用来管理个人知识的知识库系统，基于Swing的应用。Grape采用了MVC的基本思想（其实 Swing 本身的设计思想就是经典 MVC 设计的完美实现）和领域驱动设计思路，将表现层与业务逻辑层尽可能地分离，并制作了底层框架来管理应用程序的生命周期、事务以及对象之间的依赖关系。&lt;span id=&quot;more-101&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;　　首先让我们先来简单回顾一下Swing经典的MVC设计。在Swing中，每个组件都是由Model、View和Controller组成的，它们都是独立存在且可以被改变的，例如可以把同一个Model注册到多个View上使用。这种设计方法使对象更加单纯，更灵活和更易复用。JButton的View部分只负责提供人机交互界面，Model维护着组件状态和行为，当然，它并不需要知道自己被注册给了哪个View，由Controller来管理它和View之间关系。用户用鼠标点击这个按钮，Model开始得到响应，通过Controller告诉View改变。每个Swing的应用程序都是由很多这样的组件组成的，那么我们为什么不能扩展单纯Swing组件来完成业务需求呢？这样表达可能会引起误会，我想说的是，我们可以为组件提供一组Model来扩展，并将扩展后的组件视为业务的一部分。举个例子可能比较易懂。例如大家都非常了解的用户登录机能。用户自然是这个业务中的主角，但是问题来了，作为用户他们当然知道自己姓甚名谁，何许人也，而程序中的用户对象却是很泛的，他代表了使用该系统的任何用户。如果我们不告诉他，他是谁，那么他将永远不知道自己是谁。于是不得不提供一个登录界面为其提供信息。界面上包括了一个ID输入框，一个密码输入框和一个确认按钮。当确认按钮被按下后，登录操作被触发开始执行。为了让按钮能够做出正确的响应，我们为其写了事件对象LoginAction。当系统启动时，LoginAction被注册到确认按钮上。这时只要按钮被按下LoginAction即被调用。LoginAction并不知道业务细节，所有的秘密都被封装到诸如用户等这些领域对象中。LoginAction负责协调这样对象，使其能够相互配合完成登录工作。这样一来，我们的程序基本结构就出来了 &amp;ndash; View：一个用来装配各组件的Frame，一个用户ID TextBox，一个密码TextBox以及触发登录业务用的确认Button。Model：响应确认Button的事件的LoginAction。还有最重要的业务的实现细节User、LoginValidate等领域对象。如果想要加以完善，可以为用户ID和密码TextBox对象注册用来验证输入格式是否合法的Action对象。若有个用户注册业务，我们也许可以重用很多对象。&lt;a href=&quot;http://www.mxjava.com/blog/archives/61.html&quot;&gt;&lt;br /&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://pic.yupoo.com/hiswing/23225620c70e/25idct6f.jpg&quot; alt=&quot;Grape&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/?p=101&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_101&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/02cd91074306ec54c91a120c3cdcd5bb&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/02cd91074306ec54c91a120c3cdcd5bb/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=8f99d28693912c301e608ada78bda2a8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=8f99d28693912c301e608ada78bda2a8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=49f693d3f8b972d8a526bca0472de17c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=49f693d3f8b972d8a526bca0472de17c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=c174429650067ab2d98dbd488302b24f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=c174429650067ab2d98dbd488302b24f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=9054d454d031b872e24c824035c9ad67&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=9054d454d031b872e24c824035c9ad67&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a09b38bf8a715ce58e5d42f52ef0ba6e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a09b38bf8a715ce58e5d42f52ef0ba6e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=28359ce68036ca99e53ca26491a7e0dc&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=28359ce68036ca99e53ca26491a7e0dc&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=d00d2ed4c7489109784f4f7b5a6b1b37&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=d00d2ed4c7489109784f4f7b5a6b1b37&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=8a96ec64886274e8fb302af0c8d12169&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=8a96ec64886274e8fb302af0c8d12169&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/101.html/feed</wfw:commentRss><description>　　Swing是纯Java写的图形用户界面。JDK1.5 以前的Swing，耗资源、性能低下、不美观等诸多原因，无论 Sun 如何宣传，也很少有开发者去关注它。自从 JDK1.5 的出现，无论从性能还是外观 Swing 都发生了巨大的变化，人们眼中的丑小鸭渐渐地变成了白天鹅。

　　相对Web应用来说，我更喜欢开发桌面程序。以前也开发几个应用。不过每次都会有这种感觉 &amp;#8212; 总是写一堆控制程序启动和加载各种资源的类，还有一组数据库管理类和一堆程序界面和 Widget 类。然后就是老套路，为每个界面对应一类，用来实现应用程序的业务逻辑。每次有较新颖的想法准备开始动手时，上面这一堆机械式地开发方式总是让我提不起精神。唉！程序设计不是如此简单。

&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/101.html&quot; title=&quot;Swing程序的基本设计结构&quot; target=&quot;_blank&quot;&gt;阅读全文——共1446字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/02cd91074306ec54c91a120c3cdcd5bb&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/02cd91074306ec54c91a120c3cdcd5bb/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=8f99d28693912c301e608ada78bda2a8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=8f99d28693912c301e608ada78bda2a8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=49f693d3f8b972d8a526bca0472de17c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=49f693d3f8b972d8a526bca0472de17c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=c174429650067ab2d98dbd488302b24f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=c174429650067ab2d98dbd488302b24f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=9054d454d031b872e24c824035c9ad67&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=9054d454d031b872e24c824035c9ad67&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a09b38bf8a715ce58e5d42f52ef0ba6e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a09b38bf8a715ce58e5d42f52ef0ba6e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=28359ce68036ca99e53ca26491a7e0dc&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=28359ce68036ca99e53ca26491a7e0dc&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=d00d2ed4c7489109784f4f7b5a6b1b37&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=d00d2ed4c7489109784f4f7b5a6b1b37&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=8a96ec64886274e8fb302af0c8d12169&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=8a96ec64886274e8fb302af0c8d12169&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>JAVA</category><category>程序设计</category><category>Swing</category><category>编程开发</category><category>Grape</category><pubDate>Tue, 02 Sep 2008 22:46:29 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/101.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/blog/?p=101</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/101.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/111078009/1492496</fs:itemid></item><item><title>软件升级：SetupTime</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/111078010/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　我的台式机虽已年迈，但没啥大毛病，只是主板上的BIOS电池没电了，无法记录时间。要知道每次启动电脑都要设置时间是很烦人的，所以前段时间写了个小程序－&lt;a href=&quot;http://www.mxjava.com/blog/archives/23.html&quot;&gt;SetupTime&lt;/a&gt;，用来同步系统时间。基本原理是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;在FTP服务器上放一个用来取服务器的系统时间PHP文件，再用利用VB程序读取该文件，将返回的时间设置为本机的时间。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;　　这两天刚刚换了WEB服务器，现在用的是&lt;a target=&quot;_blank&quot; href=&quot;http://wpchina.org/hosting/&quot;&gt;WordPress中文站的主机&lt;/a&gt;。由于主机在国外，时间与国内时间不同，所以每次取回的时间都不正确（时差）。当时在写 SetupTime 时完全没有考虑服务器时间不准确的情况，这次追加了时差的处理。如图：&lt;span id=&quot;more-90&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;SetupTime&quot; src=&quot;http://pic.yupoo.com/hiswing/5994761dd1d9/y7pqwtut.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;　　在相差日数和相差分钟输入框内填入服务器时间与本地时间差值即可。如果服务器时间是正确的，请保留0。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.namipan.com/d/68fefb2ca859d69770b83f8e1d0ee5f04f993c74bf320000&quot;&gt;点此下载&lt;/a&gt;&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/?p=90&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_90&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/1a60428bb6a56fe1a29b8ebb720b26aa&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/1a60428bb6a56fe1a29b8ebb720b26aa/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=710cdc8646aa7708bd580b6ae2738304&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=710cdc8646aa7708bd580b6ae2738304&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=9aa310a13bec7b8879935abb511bbf3b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=9aa310a13bec7b8879935abb511bbf3b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=714c1a9ff7fdaf7db77f12287a37c84f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=714c1a9ff7fdaf7db77f12287a37c84f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=4e1ccf71ef9f2edbf6431cec9aad5e43&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=4e1ccf71ef9f2edbf6431cec9aad5e43&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=35d0eba5698c1f75b6f37241a5879866&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=35d0eba5698c1f75b6f37241a5879866&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=ccfa50df61fd65abbbe254fa7104c37b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=ccfa50df61fd65abbbe254fa7104c37b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=df59ef46bd315a84c5a90411f454764d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=df59ef46bd315a84c5a90411f454764d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=1be67484509cd9e213e616ac89faa1e7&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=1be67484509cd9e213e616ac89faa1e7&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/90.html/feed</wfw:commentRss><description>　　我的台式机虽已年迈，但没啥大毛病，只是主板上的BIOS电池没电了，无法记录时间。要知道每次启动电脑都要设置时间是很烦人的，所以前段时间写了个小程序－SetupTime，用来同步系统时间。基本原理是：



在FTP服务器上放一个用来取服务器的系统时间PHP文件，再用利用VB程序读取该文件，将返回的时间设置为本机的时间。

&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/90.html&quot; title=&quot;软件升级：SetupTime&quot; target=&quot;_blank&quot;&gt;阅读全文——共331字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/1a60428bb6a56fe1a29b8ebb720b26aa&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/1a60428bb6a56fe1a29b8ebb720b26aa/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=710cdc8646aa7708bd580b6ae2738304&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=710cdc8646aa7708bd580b6ae2738304&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=9aa310a13bec7b8879935abb511bbf3b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=9aa310a13bec7b8879935abb511bbf3b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=714c1a9ff7fdaf7db77f12287a37c84f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=714c1a9ff7fdaf7db77f12287a37c84f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=4e1ccf71ef9f2edbf6431cec9aad5e43&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=4e1ccf71ef9f2edbf6431cec9aad5e43&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=35d0eba5698c1f75b6f37241a5879866&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=35d0eba5698c1f75b6f37241a5879866&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=ccfa50df61fd65abbbe254fa7104c37b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=ccfa50df61fd65abbbe254fa7104c37b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=df59ef46bd315a84c5a90411f454764d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=df59ef46bd315a84c5a90411f454764d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=1be67484509cd9e213e616ac89faa1e7&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=1be67484509cd9e213e616ac89faa1e7&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>作品</category><category>.NET</category><category>编程开发</category><pubDate>Sun, 31 Aug 2008 17:01:46 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/90.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/blog/?p=90</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/90.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/111078010/1492496</fs:itemid></item><item><title>我的网站永远远离嘉禾</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/111078011/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　&lt;a href=&quot;http://www.jahee.com&quot;&gt;嘉禾&lt;/a&gt;是我买的第二个虚拟空间，公司在江苏镇江。因为网速慢、服务器不稳定等诸多原因，所以很早以前就打算重新换个空间。由于今年工作太忙，家庭事情太多一直没有搬家，甚至连日志也没有更新几篇。没想到这一拖就到了空间到期。&lt;/p&gt;
&lt;p&gt;　　以我以前买空的的经验，空间到期前一个星期，空间服务商就会发邮件提醒续费。所以着急备份数据，想着等邮件通知后再备份。就是因为这个常识性的想法，导致我的数据最终也没能备份回来。&lt;/p&gt;
&lt;p&gt;　　空间是8月22号到期，但网站大概从11号左右网站就不能正常访问了，一进网站wordpress就提示安装程序。检查了一下发现是数据库出了问题。想到空间还有一段时间才到期，就又常识性地认为可能是服务器出了问题，估计会和以前一样，过两天就会好。但到了21号时，网站仍然出错，检查了出错代码，发现是他们将我数据库表的访问权限删除了。给他们客服打了电话，是个男的接的，他承诺我会将数据打包放在ftp上。22号、23号仍然没能看到我的数据。&lt;span id=&quot;more-77&quot;&gt;&lt;/span&gt;在他们的网站上留言：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;你好，我的空间是昨天到期的，但是虽近两个星期数据库都是不能访问的，没有办法备份数据库。请尽快帮我检查一下。谢谢。 [2008-8-23 19:27:05]&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;您好，经过测试数据库可以链接&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;　　25号星期一，给他们客服打电话，接电话的是个女的，听声音似乎是三四十岁的中年妇女。当我告诉她我的空间22号到期，但数据没有备份下来的时，她居然直接挂了我的电话。气愤的我连续打了十多次竟然没有人接听了。26号继续在他们网上留言：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;nbsp;数据库是可以链接，但是数据导不下来，每次都出错。以下是错误信息：&lt;br /&gt;
Errorwhilereadinginformationsfromtablewp_commentsCantopenfile:&lt;br /&gt;
wp_comments.ibderrno:1请尽快帮我解决，很急，谢谢了。 [2008-8-26 11:19:30]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;您的空间已经过期,请尽快续费.&lt;/em&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;我到期前两个星期就已经有这个错误了，到期你们邮件也没有通知，导致不能把数据备份下来。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;我们在即将到期前45天就开始发信告知了. 给你的注册邮箱至少发了40多次.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;　　27号继续留言：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;我翻遍邮箱所有角落，甚至连被阻挡的垃圾邮件都翻过了，没收到你的们提醒邮件。&lt;br /&gt;
发没发邮件无所谓，关键我现在要把数据备份下来。可以吗？能不能正面回答这个问题？能还是不能？？？&lt;br /&gt;
我给你们客服打了很多次电话，他们说会打包放在ftp上的，请尽快。 [2008-8-27 17:03:18]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;客服当时不知道你的空间已经过期,不在服务期.明确:不能再提供数据库服务.如果需要,请尽快续费.&lt;br /&gt;
至于说邮件,我们做了整整6年,可以自豪地说:从未有过不提醒用户的疏漏.你检查一下你的注册邮箱.&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;　　到这里，我已经对嘉禾彻底失望了。到了最后明确告诉我不能提供数据库服务，除非续费。我怎么可能还续费？除非我脑子进水了。难道一个做了6年的公司，就是靠骗吗？若不是你们提前删除了数据库权限、若不是你们没有发邮件（说发了但我确实没有收到），若不是你们欺骗我说打包数据让我下载，我怎么会到了空间到期还没有打数据备份下来？还有多少用户因为没有邮件提醒而导致空间到期无法备份数据？又有多少用户花了钱续了费才拿回自己的数据？好了，我该庆幸自己这一年中比较忙没写多少日志，庆幸自己以前备份了大部分数据，更该庆幸认清了嘉和。我发誓，我的网站从今以后，永远不会放到他们的主机上。也要提醒网友，选择虚拟主机时要谨慎。&lt;/p&gt;
&lt;p&gt;ce63f890&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/?p=77&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_77&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/3d3bc4cc45e329be4523c08c669d7fdc&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/3d3bc4cc45e329be4523c08c669d7fdc/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=3a4676e38ef8e876de5a0ac15a5d069e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=3a4676e38ef8e876de5a0ac15a5d069e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=3ddcae460bd024e8b3bef963cca854d0&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=3ddcae460bd024e8b3bef963cca854d0&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=f6d13136311547e62ce68f1af1385564&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=f6d13136311547e62ce68f1af1385564&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=6268b589c6e2f75158f686486193641e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=6268b589c6e2f75158f686486193641e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a0d21a39b28dccc0b8b1884662200d4e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a0d21a39b28dccc0b8b1884662200d4e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=ffb50ad5c29d78999b38abd6bc08ac88&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=ffb50ad5c29d78999b38abd6bc08ac88&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=e582a85d5136699baab2bdb927b3364b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=e582a85d5136699baab2bdb927b3364b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=710d37e01b7df80226069c1fc808d142&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=710d37e01b7df80226069c1fc808d142&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/77.html/feed</wfw:commentRss><description>　　嘉禾是我买的第二个虚拟空间，公司在江苏镇江。因为网速慢、服务器不稳定等诸多原因，所以很早以前就打算重新换个空间。由于今年工作太忙，家庭事情太多一直没有搬家，甚至连日志也没有更新几篇。没想到这一拖就到了空间到期。

　　以我以前买空的的经验，空间到期前一个星期，空间服务商就会发邮件提醒续费。所以着急备份数据，想着等邮件通知后再备份。就是因为这个常识性的想法，导致我的数据最终也没能备份回来。

　　空间是8月22号到期，但网站大概从11号左右网站就不能正常访问了，一进网站wordpress就提示安装程序。检查了一下发现是数据库出了问题。想到空间还有一段时间才到期，就又常识性地认为可能是服务器出了问题，估计会和以前一样，过两天就会好。但到了21号时，网站仍然出错，检查了出错代码，发现是他们将我数据库表的访问权限删除了。给他们客服打了电话，是个男的接的，他承诺我会将数据打包放在ftp上。22号、23号仍然没能看到我的数据。在他们的网站上留言：

&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/77.html&quot; title=&quot;我的网站永远远离嘉禾&quot; target=&quot;_blank&quot;&gt;阅读全文——共1416字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/3d3bc4cc45e329be4523c08c669d7fdc&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/3d3bc4cc45e329be4523c08c669d7fdc/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=3a4676e38ef8e876de5a0ac15a5d069e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=3a4676e38ef8e876de5a0ac15a5d069e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=3ddcae460bd024e8b3bef963cca854d0&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=3ddcae460bd024e8b3bef963cca854d0&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=f6d13136311547e62ce68f1af1385564&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=f6d13136311547e62ce68f1af1385564&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=6268b589c6e2f75158f686486193641e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=6268b589c6e2f75158f686486193641e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a0d21a39b28dccc0b8b1884662200d4e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a0d21a39b28dccc0b8b1884662200d4e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=ffb50ad5c29d78999b38abd6bc08ac88&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=ffb50ad5c29d78999b38abd6bc08ac88&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=e582a85d5136699baab2bdb927b3364b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=e582a85d5136699baab2bdb927b3364b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=710d37e01b7df80226069c1fc808d142&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=710d37e01b7df80226069c1fc808d142&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>心情随笔</category><category>虚拟空间</category><pubDate>Sat, 30 Aug 2008 12:30:50 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/77.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/blog/?p=77</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/77.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/111078011/1492496</fs:itemid></item><item><title>程序设计不是这么简单</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/111078012/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　&amp;ldquo;使用面向对象的编程语言（例如java）进行程序开发，就是以面向对象的思想进行编程&amp;rdquo;。这是我听到的最傻的话。&lt;/p&gt;
&lt;p&gt;　　Java 是面向对象的语言，但它写出的程序并非都是面向对象的。我就见过将业务实现细节一股脑地扔到Swing的Component中的程序。也见过为了所谓的&amp;ldquo; 代码复用&amp;rdquo;，提出了几个不伦不类的共通class的项目。更有甚者，数据库操作的代码随处可见。这样的程序，只怕就连面向过程的编程语言也不会暴露的如此坦白吧。&lt;span id=&quot;more-61&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;　　那都是前几年的程序了。现在的程序结构大都讲究分层。几乎每个程序结构都会整出几个层来。表现层、控制层、业务逻辑层、数据持久层等。有了这些层，使得程序的结构更加清晰，每层的任务更加明确，实现细节也都封装到了class中。然而这样就面向对象了吗？这些层中的对象是真正的对象吗？&lt;/p&gt;
&lt;p&gt;　　例如web程序的登录功能，首先有个为用户提供友好交互界面的Jsp，还有一个用来取得用户在jsp页面上输入的用户名和密码的action，service用来处理登录的业务。最后再来个Dao操作数据库&amp;hellip;&amp;hellip;&lt;/p&gt;
&lt;p&gt;　　这样的程序结构我们见的太多了，看上去每一层都各司其职，工作的井然有序。然而，每一层所谓的&amp;ldquo;对象&amp;rdquo;并非真正意义上的对象。Action用来界面和后台交互，Service则根据界面的要求包装了其业务逻辑。以界面为中心进行设计的程序，我们称之为&amp;ldquo;智能UI&amp;rdquo;。每层的对象可以称之为&amp;ldquo;万能对象&amp;rdquo;。因为它们不单纯，它们可以根据界面的要求，不断地扩展自身的功能，直到包罗万象。&lt;/p&gt;
&lt;p&gt;　　这样的程序太容易写了，只要界面设计人员把界面设计出来，按照以上套路往上一套，项目就完工了。然而，这样的程序的对象之间高度偶合，任何一个变动都会导致程序的修改。相同的代码可能出现在不同的 Service中，有些被提到了Service的Super Class中，有些提到了共通class中（又是该死的共通）。&amp;ldquo;开闭原则&amp;rdquo;说的是对加功能开放，对修改关闭。也就是说，可以轻松地将新功能追加到程序中而不用修改现有的程序。按照上面的程序设计，不要说&amp;ldquo;开闭原则&amp;rdquo;，就连最为基础的面向对象都没有真正体现出来。&lt;/p&gt;
&lt;p&gt;　　软件就是为了模拟现实。例如将某项交易用程序来实现。程序设计时，应该围绕交易这个业务展开而不是交易所用的票具（程序界面）。&lt;/p&gt;
&lt;p&gt;　　未完&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/?p=61&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_61&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/8fb3b87b2cbcbac458d3fb3f135d652f&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/8fb3b87b2cbcbac458d3fb3f135d652f/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=7dd3b10a45e452f69bbb0a55f1b48f2b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=7dd3b10a45e452f69bbb0a55f1b48f2b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=1f148cbda2c86ddfb149886d6518312a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=1f148cbda2c86ddfb149886d6518312a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=e1381065887d547713334bacf42fb284&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=e1381065887d547713334bacf42fb284&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=5e9441a0ab57c42fc99647cd8fe932de&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=5e9441a0ab57c42fc99647cd8fe932de&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=bb96c5860793e81f4e948368602029d3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=bb96c5860793e81f4e948368602029d3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=771e08bb89c95e8a7941e50c1108ef8f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=771e08bb89c95e8a7941e50c1108ef8f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=f8149dcf6ef1959e8f3aac3df0b4009e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=f8149dcf6ef1959e8f3aac3df0b4009e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=99ced4e3794ad9f31ca29da20bb4b3c1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=99ced4e3794ad9f31ca29da20bb4b3c1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/61.html/feed</wfw:commentRss><description>　　&amp;#8220;使用面向对象的编程语言（例如java）进行程序开发，就是以面向对象的思想进行编程&amp;#8221;。这是我听到的最傻的话。

　　Java 是面向对象的语言，但它写出的程序并非都是面向对象的。我就见过将业务实现细节一股脑地扔到Swing的Component中的程序。也见过为了所谓的&amp;#8220; 代码复用&amp;#8221;，提出了几个不伦不类的共通class的项目。更有甚者，数据库操作的代码随处可见。这样的程序，只怕就连面向过程的编程语言也不会暴露的如此坦白吧。

　　那都是前几年的程序了。现在的程序结构大都讲究分层。几乎每个程序结构都会整出几个层来。表现层、控制层、业务逻辑层、数据持久层等。有了这些层，使得程序的结构更加清晰，每层的任务更加明确，实现细节也都封装到了class中。然而这样就面向对象了吗？这些层中的对象是真正的对象吗？

&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/61.html&quot; title=&quot;程序设计不是这么简单&quot; target=&quot;_blank&quot;&gt;阅读全文——共1040字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/8fb3b87b2cbcbac458d3fb3f135d652f&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/8fb3b87b2cbcbac458d3fb3f135d652f/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=7dd3b10a45e452f69bbb0a55f1b48f2b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=7dd3b10a45e452f69bbb0a55f1b48f2b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=1f148cbda2c86ddfb149886d6518312a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=1f148cbda2c86ddfb149886d6518312a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=e1381065887d547713334bacf42fb284&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=e1381065887d547713334bacf42fb284&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=5e9441a0ab57c42fc99647cd8fe932de&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=5e9441a0ab57c42fc99647cd8fe932de&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=bb96c5860793e81f4e948368602029d3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=bb96c5860793e81f4e948368602029d3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=771e08bb89c95e8a7941e50c1108ef8f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=771e08bb89c95e8a7941e50c1108ef8f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=f8149dcf6ef1959e8f3aac3df0b4009e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=f8149dcf6ef1959e8f3aac3df0b4009e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=99ced4e3794ad9f31ca29da20bb4b3c1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=99ced4e3794ad9f31ca29da20bb4b3c1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>JAVA</category><category>程序设计</category><category>编程开发</category><pubDate>Thu, 03 Jul 2008 23:24:34 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/61.html#comments</comments><guid isPermaLink="false">http://spectrum.websitewelcome.com/~mxjava/blog/?p=61</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/61.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/111078012/1492496</fs:itemid></item><item><title>java动态代理实现数据库事务拦截器</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/111078013/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　很多开源框架中都实现了拦截器功能，比如Spring、WebWork、Struts2等。例用拦截器，可以在对类方法进行调用的前后加入共通的操作，比如在调用方法的前后打印log等，使业务代码更加单纯。&lt;/p&gt;
&lt;p&gt;　　拦截器是利用java的动态代理技术来实现的。接下来我们就看一个例子，这个例子利用java动态代理，对所有insert、update、delete为前缀的方法进行事务处理。&lt;br /&gt;
&lt;span id=&quot;more-60&quot;&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;java java&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #008000; font-style: italic; font-weight: bold;&quot;&gt;/**
 * grape mxjava.com.grape.core.interceptor.Interceptor.java 2008-6-15
 */&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;package&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;mxjava.com.grape.core.interceptor&lt;/span&gt;;
&amp;nbsp;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;java.lang.reflect.InvocationHandler&lt;/span&gt;;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;java.lang.reflect.Proxy&lt;/span&gt;;
&amp;nbsp;
&lt;span style=&quot;color: #008000; font-style: italic; font-weight: bold;&quot;&gt;/**
 * 拦截器
 *
 * @author hiswing
 */&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;abstract&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; Interceptor &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;implements&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;InvocationHandler&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
	&lt;span style=&quot;color: #008000; font-style: italic; font-weight: bold;&quot;&gt;/** 被拦截的对象 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;protected&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;Object&lt;/span&gt; obj;
&amp;nbsp;
	&lt;span style=&quot;color: #008000; font-style: italic; font-weight: bold;&quot;&gt;/**
	 * 动态生成一个代理类对象
	 * @param obj
	 * @return 代理类对象
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;Object&lt;/span&gt; bind&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #003399;&quot;&gt;Object&lt;/span&gt; obj&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;obj&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; obj;
&amp;nbsp;
		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;Class&lt;/span&gt; cls &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;obj&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;getClass&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
		&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// 被代理类的ClassLoader&lt;/span&gt;
		&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// 要被代理的接口,本方法返回对象会自动声称实现了这些接口&lt;/span&gt;
		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;Proxy&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;newProxyInstance&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;cls.&lt;span style=&quot;color: #006633;&quot;&gt;getClassLoader&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;,
				cls.&lt;span style=&quot;color: #006633;&quot;&gt;getInterfaces&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;, &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #008000; font-style: italic; font-weight: bold;&quot;&gt;/**
 * grape mxjava.com.grape.core.interceptor.TransactionDynamicProxy.java
 * 2008-6-15
 */&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;package&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;mxjava.com.grape.core.interceptor&lt;/span&gt;;
&amp;nbsp;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;java.lang.reflect.Method&lt;/span&gt;;
&amp;nbsp;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;mxjava.com.grape.core.AppContext&lt;/span&gt;;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;mxjava.com.grape.core.db.Connection&lt;/span&gt;;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;mxjava.com.grape.core.db.DBException&lt;/span&gt;;
&amp;nbsp;
&lt;span style=&quot;color: #008000; font-style: italic; font-weight: bold;&quot;&gt;/**
 * 数据库事务拦截器
 * @author hiswing
 */&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; TransactionInterceptor &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;extends&lt;/span&gt; Interceptor &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #008000; font-style: italic; font-weight: bold;&quot;&gt;/** 数据库链接 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;Connection&lt;/span&gt; connect;
&amp;nbsp;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; method;
&amp;nbsp;
	&lt;span style=&quot;color: #008000; font-style: italic; font-weight: bold;&quot;&gt;/**
	 * 初期化数据库链接
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; TransactionInterceptor&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;connect&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; getConnection&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;method&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;amp;&lt;/span&gt;quot;insert&lt;span style=&quot;color: #339933;&quot;&gt;&amp;amp;&lt;/span&gt;quot;, &lt;span style=&quot;color: #339933;&quot;&gt;&amp;amp;&lt;/span&gt;quot;update&lt;span style=&quot;color: #339933;&quot;&gt;&amp;amp;&lt;/span&gt;quot;, &lt;span style=&quot;color: #339933;&quot;&gt;&amp;amp;&lt;/span&gt;quot;delete&lt;span style=&quot;color: #339933;&quot;&gt;&amp;amp;&lt;/span&gt;quot;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #008000; font-style: italic; font-weight: bold;&quot;&gt;/**
	 * 代理要调用的方法,并在方法调用前后调用连接器的方法
	 *
	 * @param proxy 代理对象
	 * @param method 被代理的接口方法
	 * @param args 被代理接口方法的参数
	 * @return 方法调用返回的结果
	 * @throws Throwable
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;Object&lt;/span&gt; invoke&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #003399;&quot;&gt;Object&lt;/span&gt; proxy, &lt;span style=&quot;color: #003399;&quot;&gt;Method&lt;/span&gt; method, &lt;span style=&quot;color: #003399;&quot;&gt;Object&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; args&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throws&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;Throwable&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #003399;&quot;&gt;Object&lt;/span&gt; result &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;null&lt;/span&gt;;
		&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;boolean&lt;/span&gt; flag &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;checkName&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;method.&lt;span style=&quot;color: #006633;&quot;&gt;getName&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;try&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
			&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;flag&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
				&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;connect&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;begin&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
				result &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; method.&lt;span style=&quot;color: #006633;&quot;&gt;invoke&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;super&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;obj&lt;/span&gt;, args&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
				&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;connect&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;commit&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
			&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
				result &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; method.&lt;span style=&quot;color: #006633;&quot;&gt;invoke&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;super&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;obj&lt;/span&gt;, args&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
			&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
		&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;DBException ex&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
			&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;flag&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
				&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;connect&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;rollBack&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
			&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
			&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; ex;
		&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;return&lt;/span&gt; result;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #008000; font-style: italic; font-weight: bold;&quot;&gt;/**
	 * 检查是否需要进行事务处理
	 * @param methodName
	 * @return
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;boolean&lt;/span&gt; checkName&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt; methodName&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;method&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;null&lt;/span&gt; || &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;method&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;length&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;==&lt;/span&gt; 0&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
			&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;false&lt;/span&gt;;
		&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt; mn &lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;method&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
			&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;!&amp;amp;&lt;/span&gt;quot;&amp;amp;quot;.&lt;span style=&quot;color: #006633;&quot;&gt;equals&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;mn.&lt;span style=&quot;color: #006633;&quot;&gt;trim&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;&amp;amp;&lt;/span&gt;amp;&amp;amp;amp; methodName.&lt;span style=&quot;color: #006633;&quot;&gt;indexOf&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;mn&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;==&lt;/span&gt; 0&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
				&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;true&lt;/span&gt;;
			&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
		&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;false&lt;/span&gt;;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/?p=60&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_60&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/87b0af8a9d7bcc13b4e6e20092221ab6&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/87b0af8a9d7bcc13b4e6e20092221ab6/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=91c40604a012152ba7496c79996eab03&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=91c40604a012152ba7496c79996eab03&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=2901644bc0ae9cb291da680ec3dcf1de&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=2901644bc0ae9cb291da680ec3dcf1de&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=e65dc63849e25ca93d69530f5650db24&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=e65dc63849e25ca93d69530f5650db24&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=84e8230c3b0e4bcc2ef76d4b3bd25998&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=84e8230c3b0e4bcc2ef76d4b3bd25998&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=add4078726979bae125b9f5e3225f7d1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=add4078726979bae125b9f5e3225f7d1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=f8d008961ed718853ca1a63c37895cf5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=f8d008961ed718853ca1a63c37895cf5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a6c7322b3446c308afe8f6c1e34486dd&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a6c7322b3446c308afe8f6c1e34486dd&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=2b1ff07cafe37c1355f54bc50196ea06&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=2b1ff07cafe37c1355f54bc50196ea06&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/60.html/feed</wfw:commentRss><description>　　很多开源框架中都实现了拦截器功能，比如Spring、WebWork、Struts2等。例用拦截器，可以在对类方法进行调用的前后加入共通的操作，比如在调用方法的前后打印log等，使业务代码更加单纯。

　　拦截器是利用java的动态代理技术来实现的。接下来我们就看一个例子，这个例子利用java动态代理，对所有insert、update、delete为前缀的方法进行事务处理。



&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/60.html&quot; title=&quot;java动态代理实现数据库事务拦截器&quot; target=&quot;_blank&quot;&gt;阅读全文——共1987字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/87b0af8a9d7bcc13b4e6e20092221ab6&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/87b0af8a9d7bcc13b4e6e20092221ab6/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=91c40604a012152ba7496c79996eab03&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=91c40604a012152ba7496c79996eab03&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=2901644bc0ae9cb291da680ec3dcf1de&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=2901644bc0ae9cb291da680ec3dcf1de&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=e65dc63849e25ca93d69530f5650db24&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=e65dc63849e25ca93d69530f5650db24&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=84e8230c3b0e4bcc2ef76d4b3bd25998&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=84e8230c3b0e4bcc2ef76d4b3bd25998&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=add4078726979bae125b9f5e3225f7d1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=add4078726979bae125b9f5e3225f7d1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=f8d008961ed718853ca1a63c37895cf5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=f8d008961ed718853ca1a63c37895cf5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a6c7322b3446c308afe8f6c1e34486dd&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a6c7322b3446c308afe8f6c1e34486dd&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=2b1ff07cafe37c1355f54bc50196ea06&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=2b1ff07cafe37c1355f54bc50196ea06&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>JAVA</category><category>Interceptor</category><category>编程开发</category><pubDate>Sun, 15 Jun 2008 19:05:37 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/60.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/weblog/?p=60</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/60.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/111078013/1492496</fs:itemid></item><item><title>用rome解析rss</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/111078014/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　之前一直在用RSSLib4J解析rss，不过RSSLib4J似乎不能解析rss v0.92，在初期化时就会报错。这可不是什么好消息，因为WordPress的rss就是v0.92的。&lt;/p&gt;
&lt;p&gt;　　rome是为RSS聚合而开发的开源包，它可以支持0.91、0.92、0.93、0.94、1.0、2.0，可以说rss的版本基本上都支持了。它的使用也非常简单，看下面的例子：&lt;br /&gt;
&lt;span id=&quot;more-54&quot;&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;java java&quot; style=&quot;font-family:monospace;&quot;&gt;SyndFeedInput input &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; SyndFeedInput&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
SyndFeed feed &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; input.&lt;span style=&quot;color: #006633;&quot;&gt;build&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; XmlReader&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;URL&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;url&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;feed.&lt;span style=&quot;color: #006633;&quot;&gt;getTitle&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
List&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;syndentry&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt; list &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;feed&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;getEntries&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&amp;lt;br &lt;span style=&quot;color: #339933;&quot;&gt;/&amp;gt;&lt;/span&gt;if &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;list &lt;span style=&quot;color: #339933;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;null&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;&amp;amp;&lt;/span&gt;amp;&amp;amp;amp; &lt;span style=&quot;color: #339933;&quot;&gt;!&lt;/span&gt;list.&lt;span style=&quot;color: #006633;&quot;&gt;isEmpty&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;br &lt;span style=&quot;color: #339933;&quot;&gt;/&amp;gt;&lt;/span&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;SyndEntry entry &lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt; list&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;br &lt;span style=&quot;color: #339933;&quot;&gt;/&amp;gt;&lt;/span&gt;		&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;entry.&lt;span style=&quot;color: #006633;&quot;&gt;getTitle&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&amp;lt;br &lt;span style=&quot;color: #339933;&quot;&gt;/&amp;gt;&lt;/span&gt;	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;br &lt;span style=&quot;color: #339933;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;br &lt;span style=&quot;color: #339933;&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;syndentry&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;　　你可以用以下语句得到它的所有方法：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;java java&quot; style=&quot;font-family:monospace;&quot;&gt;SyndFeedInput input &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; SyndFeedInput&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
SyndFeed feed &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; input.&lt;span style=&quot;color: #006633;&quot;&gt;build&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; XmlReader&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;URL&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;url&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;feed&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;　　下载：&lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/Rome&quot;&gt;http://wiki.java.net/bin/view/Javawsxml/Rome&lt;/a&gt;&lt;br /&gt;
&lt;img alt=&quot;rome&quot; src=&quot;http://pic.yupoo.com/hiswing/612175b74cfe/zyuf5asr.jpg&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/?p=54&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_54&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/3175304baec309d6c4c39114584b10ce&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/3175304baec309d6c4c39114584b10ce/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=be4f6f99cf70549453b55630b81b74c7&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=be4f6f99cf70549453b55630b81b74c7&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=9680ff92ba474cbd8cb5e4a812e494b1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=9680ff92ba474cbd8cb5e4a812e494b1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=222e386014a5020f03cb40e3f4bb7b48&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=222e386014a5020f03cb40e3f4bb7b48&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=3deee466c82fe96fbed3eb87ad29a296&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=3deee466c82fe96fbed3eb87ad29a296&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=c4dd3f80413ed277237a0594e4a7bcaf&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=c4dd3f80413ed277237a0594e4a7bcaf&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=6a09dc70a22b726508d554fcf84adb08&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=6a09dc70a22b726508d554fcf84adb08&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=e5576515d25d5674baf113b4fa9f03f8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=e5576515d25d5674baf113b4fa9f03f8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=8866e0c0b777b348f0379d4758602b26&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=8866e0c0b777b348f0379d4758602b26&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/54.html/feed</wfw:commentRss><description>　　之前一直在用RSSLib4J解析rss，不过RSSLib4J似乎不能解析rss v0.92，在初期化时就会报错。这可不是什么好消息，因为WordPress的rss就是v0.92的。

　　rome是为RSS聚合而开发的开源包，它可以支持0.91、0.92、0.93、0.94、1.0、2.0，可以说rss的版本基本上都支持了。它的使用也非常简单，看下面的例子：



&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/54.html&quot; title=&quot;用rome解析rss&quot; target=&quot;_blank&quot;&gt;阅读全文——共616字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/3175304baec309d6c4c39114584b10ce&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/3175304baec309d6c4c39114584b10ce/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=be4f6f99cf70549453b55630b81b74c7&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=be4f6f99cf70549453b55630b81b74c7&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=9680ff92ba474cbd8cb5e4a812e494b1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=9680ff92ba474cbd8cb5e4a812e494b1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=222e386014a5020f03cb40e3f4bb7b48&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=222e386014a5020f03cb40e3f4bb7b48&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=3deee466c82fe96fbed3eb87ad29a296&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=3deee466c82fe96fbed3eb87ad29a296&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=c4dd3f80413ed277237a0594e4a7bcaf&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=c4dd3f80413ed277237a0594e4a7bcaf&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=6a09dc70a22b726508d554fcf84adb08&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=6a09dc70a22b726508d554fcf84adb08&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=e5576515d25d5674baf113b4fa9f03f8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=e5576515d25d5674baf113b4fa9f03f8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=8866e0c0b777b348f0379d4758602b26&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=8866e0c0b777b348f0379d4758602b26&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>rome</category><category>JAVA</category><category>编程开发</category><category>rss</category><pubDate>Sat, 14 Jun 2008 22:47:18 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/54.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/weblog/?p=54</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/54.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/111078014/1492496</fs:itemid></item><item><title>奇怪的问题</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/111078015/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　最近的工作中发现了一个奇怪的问题，情况如下：&lt;/p&gt;
&lt;p&gt;　　A.jsp页面中有一个frameset，frame的src指向了B.jsp。B.jsp中用window.open弹出一个窗口，关闭该窗口后，按下提交按钮，将整个页面(包含A.jsp)提交到C.jsp。C.jsp中利用history.back返回前页面时，B.jsp的缓存丢失。&lt;/p&gt;
&lt;p&gt;　　说起来似乎挺复杂，请看下图。&lt;span id=&quot;more-53&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;　　&lt;img alt=&quot;奇怪的问题&quot; src=&quot;http://pic.yupoo.com/hiswing/855565ad3a74/fi9me5o7.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;　　浏览器：IE。firefox似乎没有这个问题。&lt;/p&gt;
&lt;p&gt;　　以上问题至今没有解决。&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/?p=53&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_53&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/1e28c12cf69219d1605140dce0be9fde&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/1e28c12cf69219d1605140dce0be9fde/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=aa468d0518822c135bd8c98af8eeff44&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=aa468d0518822c135bd8c98af8eeff44&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=697a37a1814f687fe4d6c3e268a2acb1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=697a37a1814f687fe4d6c3e268a2acb1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=294a14fb289e12ee7bb854ccb0a48fa8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=294a14fb289e12ee7bb854ccb0a48fa8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=3a68deeedf9ee097425f7ddaacd2eb43&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=3a68deeedf9ee097425f7ddaacd2eb43&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=56b0d99ee9824a6a5d191e8ade2f8393&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=56b0d99ee9824a6a5d191e8ade2f8393&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=4ce2e3d975422f77240c069eb399a5ad&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=4ce2e3d975422f77240c069eb399a5ad&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=68458524c5813cb650346efa84104101&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=68458524c5813cb650346efa84104101&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=6de1f2e0b14774e9da478a7bcc4e9ba0&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=6de1f2e0b14774e9da478a7bcc4e9ba0&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/53.html/feed</wfw:commentRss><description>　　最近的工作中发现了一个奇怪的问题，情况如下：

　　A.jsp页面中有一个frameset，frame的src指向了B.jsp。B.jsp中用window.open弹出一个窗口，关闭该窗口后，按下提交按钮，将整个页面(包含A.jsp)提交到C.jsp。C.jsp中利用history.back返回前页面时，B.jsp的缓存丢失。

　　说起来似乎挺复杂，请看下图。

&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/53.html&quot; title=&quot;奇怪的问题&quot; target=&quot;_blank&quot;&gt;阅读全文——共220字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/1e28c12cf69219d1605140dce0be9fde&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/1e28c12cf69219d1605140dce0be9fde/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=aa468d0518822c135bd8c98af8eeff44&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=aa468d0518822c135bd8c98af8eeff44&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=697a37a1814f687fe4d6c3e268a2acb1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=697a37a1814f687fe4d6c3e268a2acb1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=294a14fb289e12ee7bb854ccb0a48fa8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=294a14fb289e12ee7bb854ccb0a48fa8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=3a68deeedf9ee097425f7ddaacd2eb43&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=3a68deeedf9ee097425f7ddaacd2eb43&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=56b0d99ee9824a6a5d191e8ade2f8393&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=56b0d99ee9824a6a5d191e8ade2f8393&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=4ce2e3d975422f77240c069eb399a5ad&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=4ce2e3d975422f77240c069eb399a5ad&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=68458524c5813cb650346efa84104101&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=68458524c5813cb650346efa84104101&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=6de1f2e0b14774e9da478a7bcc4e9ba0&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=6de1f2e0b14774e9da478a7bcc4e9ba0&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>JAVA</category><category>编程开发</category><category>javascript</category><pubDate>Sat, 07 Jun 2008 07:23:41 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/53.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/weblog/?p=53</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/53.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/111078015/1492496</fs:itemid></item><item><title>用感动告诉全世界</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/111078016/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　2008对中国和中国人民来说注定是不平凡的一年。雪灾、拉萨打砸抢烧事件、CNN辱华事件、巴黎圣火事件、还有这次令人无比震惊和感动的四川特大地震。&lt;/p&gt;
&lt;p&gt;　　5月12日2点30分左右，我同往常一样在办公室里工作，突然感觉到脚下晃动，接着感觉到头有点晕，于是抬起头来一看，办公室里所有人都象我一样，东张西望，大家并不知道发生了什么。接着听到门外一阵急速的脚步声，大家才意识到，地震了，于是很多人也开始向门外跑去。&lt;/p&gt;
&lt;p&gt;　　我工作在距离四川将近2000公里的杭州，在一座21层大厦的20楼。虽然距离如此之远，但仍然感觉到大楼有明显的晃动，可想而知，这次的地震相当严重。&lt;br /&gt;
&lt;span id=&quot;more-51&quot;&gt;&lt;/span&gt;&lt;br /&gt;
这些天，从网上和电视上看到很多灾区的消息，也一次又一次地被无数个瞬间所感动。很多同事表示希望前往灾区，帮助那些需要帮助的人。公司也组织了捐款活动，大家纷纷踊跃捐款。还有一些同事，请假去献血。杭州的街头，随处可以看到情系灾区的条幅，捐款点。&lt;/p&gt;
&lt;p&gt;　　我们中国是由56个民族组成的大国，国外很多别有居心的人利用各种手段想要分裂我们。但每一次的阴谋都被中国人民的团结反击的抱头鼠窜。一次又一次的事件，使中国人民越发的坚强，团结。&lt;/p&gt;
&lt;p&gt;　　&amp;ldquo;一方有难，八方支援&amp;rdquo;，事发后，全国各地都在第一时间捐款捐物献血，很多捐款点和献血点都排起了长长的队伍，尽管人很多队伍很长，尽管太阳很大气温很高也无法阻止我们中国人的血脉之亲，因为全中国都是一家人。在第一时间，大批救援部队也前往灾区。温总理情系灾区，顾不得余震赶赴灾区，看望和鼓励灾区人民并亲自指导救援工作。物资源源不断地前往灾区。。。。。。&lt;/p&gt;
&lt;p&gt;　　中国人就是这样，从来不在灾难面前低头，也从来不会被外力所驱动，更不能和自己的亲人分开。对中国别有用心的人，你们看到了吗？中国用感动告诉全世界－－ONE CHINA FOREVER。&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/?p=51&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_51&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/57e1c2d33055fcd6bff2f05882cd99e8&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/57e1c2d33055fcd6bff2f05882cd99e8/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=2706778271997d893887c84d6d7c8f02&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=2706778271997d893887c84d6d7c8f02&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=fc127fc7c9ad3eb15b9ee1e1f01f673e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=fc127fc7c9ad3eb15b9ee1e1f01f673e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=01a9fd97df80e87483331683ae3e6957&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=01a9fd97df80e87483331683ae3e6957&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=0d27c4ede2df574d6863537b011a7c9c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=0d27c4ede2df574d6863537b011a7c9c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=337fbe7db3b80a48db5f7f2ae504a4b9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=337fbe7db3b80a48db5f7f2ae504a4b9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=ee403c61cb7db2f47b736e086f516483&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=ee403c61cb7db2f47b736e086f516483&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=5f233addb163e93bce859a8681d80d14&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=5f233addb163e93bce859a8681d80d14&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=ad66ec821bc3c8133a3e02d38c1da85d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=ad66ec821bc3c8133a3e02d38c1da85d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/51.html/feed</wfw:commentRss><description>　　2008对中国和中国人民来说注定是不平凡的一年。雪灾、拉萨打砸抢烧事件、CNN辱华事件、巴黎圣火事件、还有这次令人无比震惊和感动的四川特大地震。

　　5月12日2点30分左右，我同往常一样在办公室里工作，突然感觉到脚下晃动，接着感觉到头有点晕，于是抬起头来一看，办公室里所有人都象我一样，东张西望，大家并不知道发生了什么。接着听到门外一阵急速的脚步声，大家才意识到，地震了，于是很多人也开始向门外跑去。

　　我工作在距离四川将近2000公里的杭州，在一座21层大厦的20楼。虽然距离如此之远，但仍然感觉到大楼有明显的晃动，可想而知，这次的地震相当严重。

&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/51.html&quot; title=&quot;用感动告诉全世界&quot; target=&quot;_blank&quot;&gt;阅读全文——共759字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/57e1c2d33055fcd6bff2f05882cd99e8&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/57e1c2d33055fcd6bff2f05882cd99e8/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=2706778271997d893887c84d6d7c8f02&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=2706778271997d893887c84d6d7c8f02&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=fc127fc7c9ad3eb15b9ee1e1f01f673e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=fc127fc7c9ad3eb15b9ee1e1f01f673e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=01a9fd97df80e87483331683ae3e6957&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=01a9fd97df80e87483331683ae3e6957&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=0d27c4ede2df574d6863537b011a7c9c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=0d27c4ede2df574d6863537b011a7c9c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=337fbe7db3b80a48db5f7f2ae504a4b9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=337fbe7db3b80a48db5f7f2ae504a4b9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=ee403c61cb7db2f47b736e086f516483&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=ee403c61cb7db2f47b736e086f516483&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=5f233addb163e93bce859a8681d80d14&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=5f233addb163e93bce859a8681d80d14&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=ad66ec821bc3c8133a3e02d38c1da85d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=ad66ec821bc3c8133a3e02d38c1da85d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>心情随笔</category><category>china</category><pubDate>Sat, 17 May 2008 15:43:55 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/51.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/weblog/?p=51</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/51.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/111078016/1492496</fs:itemid></item><item><title>(L)CHINA支持奥运，反对藏独，愿祖国富强。</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/111078017/1492496/1/item.html</link><content:encoded>&lt;p&gt;&lt;img alt=&quot;爱中国&quot; src=&quot;http://cs.sina.com.cn/minisite/2008lining_torch/images/heart.gif&quot; /&gt;CHINA支持奥运，反对藏独，愿祖国富强。&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/?p=49&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_49&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/ba6d41089bf4e7718438a4bf5c772475&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/ba6d41089bf4e7718438a4bf5c772475/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=d9a265d1f898e4e220f8120294218cf6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=d9a265d1f898e4e220f8120294218cf6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a2dfc0ed9309c6eb2a97da4b41c1ffb4&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a2dfc0ed9309c6eb2a97da4b41c1ffb4&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=845c29cea882bc13c96ae83ff0e22411&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=845c29cea882bc13c96ae83ff0e22411&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=5bece70f3c7040d81725625373da011a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=5bece70f3c7040d81725625373da011a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=6fc7c51bce7bdd2809842430de5bf387&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=6fc7c51bce7bdd2809842430de5bf387&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=51a3e97ce866cd9544076de3f0181a2b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=51a3e97ce866cd9544076de3f0181a2b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=534e87221875896c2d20070f99713b71&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=534e87221875896c2d20070f99713b71&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=85313391e200629cc5977cf18a863897&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=85313391e200629cc5977cf18a863897&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/49.html/feed</wfw:commentRss><description>CHINA支持奥运，反对藏独，愿祖国富强。

分享收藏

阅读全文——共21字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/ba6d41089bf4e7718438a4bf5c772475&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/ba6d41089bf4e7718438a4bf5c772475/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=d9a265d1f898e4e220f8120294218cf6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=d9a265d1f898e4e220f8120294218cf6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a2dfc0ed9309c6eb2a97da4b41c1ffb4&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a2dfc0ed9309c6eb2a97da4b41c1ffb4&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=845c29cea882bc13c96ae83ff0e22411&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=845c29cea882bc13c96ae83ff0e22411&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=5bece70f3c7040d81725625373da011a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=5bece70f3c7040d81725625373da011a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=6fc7c51bce7bdd2809842430de5bf387&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=6fc7c51bce7bdd2809842430de5bf387&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=51a3e97ce866cd9544076de3f0181a2b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=51a3e97ce866cd9544076de3f0181a2b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=534e87221875896c2d20070f99713b71&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=534e87221875896c2d20070f99713b71&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=85313391e200629cc5977cf18a863897&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=85313391e200629cc5977cf18a863897&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>心情随笔</category><category>china</category><pubDate>Fri, 18 Apr 2008 23:48:12 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/49.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/weblog/?p=49</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/49.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/111078017/1492496</fs:itemid></item><item><title>最近比较忙，比较烦</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/111078018/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　已经有一个多月没有更新blog了，垃圾评论一堆一堆的，足足有6000多条啊！实在佩服那些整天发垃圾信息人的持之以恒、永不放弃的精神。我需要向他们学习，坚持更新blog。&lt;/p&gt;
&lt;p&gt;　　最近比较忙，也比较烦，有一个较大的项目需要和另外一家公司合作。我们作为外协去了家那公司，由于这家公司不让员工上网，且离我家又远，每天早上6:30起床挤公交，到8:10左右才能到。晚上18:00下班，回家后要到20点。身体上辛苦一点没关系，可精神上也&amp;ldquo;饱受折磨&amp;rdquo;。为什么这么说呢？虽说公司与公司的做事风格不同，原则不同，习惯也不同。但终归有相同的一点，那就是把项目做好。我想如果连这一点最起码的都作不到，那就不必谈任何事情了。而我现在所合作的这家公司，让我是越来越厌烦了。整个项目搞的乱七八糟，提出的合理化建议根本不会被考虑。项目的管理者一心只想着怎样能减少工数，怎样才能赚钱，却丢掉了更应该关心的东西。&lt;br /&gt;
&lt;span id=&quot;more-48&quot;&gt;&lt;/span&gt;&lt;br /&gt;
基本设计就是一团糟，详细设计就更不用说了。我曾经向详细设计的负责人提出过很多自认为比较不错的建议和意见，但全都被否决了，甚至不会公开到会上讨论。说实在的，我做过不少项目的详细设计，对详细原则自认比较了解。可此次项目的详细设计让我完全搞不明白了。连最基本的数据的进出在设计书中没有相关说明，制造者只能自己判断该取得哪些数据，测试者也无法得知数据的正确性。对此详细设计的负责人是这么对制造组解释的：&amp;ldquo;在画面上能找到的项目就保存，找不到的以null来处理。&amp;rdquo;我说详细设计一定要详细，最好能写到制造者几乎不需要花时间理解业务就可以照着设计书制造程序。那位负责人告诉我说：&amp;ldquo;谁会把设计写的那么详细？这样只会浪费时间。只要我们的设计能被check通过，越简单越好。&amp;rdquo;于是，详细设计书上出现了很多&amp;ldquo;请参考基本设计&amp;rdquo;等相关文字，令我哭笑不得。再后来，因为过于简单check没有通过，所有详细设计加班加点重新改过。甚至到了制造组已经制造了很多机能后，详细设计还没有能确定下来。仍然在加班，在修改。制造者对详细设计者都投向了很鄙视的目光，不为别的，只因为详设自己都搞不清业务。为什么作为一个详细设计者，自己都搞不清业务呢？我想原因还是在那位自以为是的负责人身上。我不知道这位负责人有没有详细设计的经验，我也不知道这位负责人有没有项目管理经验，我甚至对这位负责人的人品都产生了怀疑。因为他经常在详设全员会议上用鄙视地语气回答一些员工提出的问题，导致后来的会议几乎没有人提问了。由于详细设计的管理不善直接导致制造和测试的延期，需要从其他公司借人补充，于是他们联系到一家在杭州比较大的公司，从他们那里借到了几个人。虽然我不知道借到的这几个人到底是好是差，但毕竟也在这样的大公司工作。但那位详细设计的负责人这么在自己的员工面前评价他们：&amp;ldquo;我鄙视他们的出身。&amp;rdquo;我合作过的公司和管理者很多，他是我见过最为恶心的一个。和这样的人合作实在是很痛苦的，虽然我没有跟他发生过冲突，但直到现在我都想退出这个项目组。我想，如果继续这样下去，有必要时我会向公司提出退出申请。&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/?p=48&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_48&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/1f100c26954aca81ee3a7b7fc4ffdb25&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/1f100c26954aca81ee3a7b7fc4ffdb25/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=d87ce56f422529f04a938c03e620f407&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=d87ce56f422529f04a938c03e620f407&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=062677976aee00a7dcc9d13dc67c2dab&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=062677976aee00a7dcc9d13dc67c2dab&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a8c6785d123afe6f9a4a80a176b1e3b9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a8c6785d123afe6f9a4a80a176b1e3b9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=0d9a782b8fe9082b3534c5ac8c7005b8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=0d9a782b8fe9082b3534c5ac8c7005b8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=9c2293325c4d429fed9c54d02c70ab4a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=9c2293325c4d429fed9c54d02c70ab4a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=9ae4c11c2a8ab0cdee58723d7d73a8ea&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=9ae4c11c2a8ab0cdee58723d7d73a8ea&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=e086a0e29a1ee4ec74a24a070bb005f5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=e086a0e29a1ee4ec74a24a070bb005f5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a91c6f0631a4e6908dc9f92d74d6657a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a91c6f0631a4e6908dc9f92d74d6657a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/48.html/feed</wfw:commentRss><description>　　已经有一个多月没有更新blog了，垃圾评论一堆一堆的，足足有6000多条啊！实在佩服那些整天发垃圾信息人的持之以恒、永不放弃的精神。我需要向他们学习，坚持更新blog。

　　最近比较忙，也比较烦，有一个较大的项目需要和另外一家公司合作。我们作为外协去了家那公司，由于这家公司不让员工上网，且离我家又远，每天早上6:30起床挤公交，到8:10左右才能到。晚上18:00下班，回家后要到20点。身体上辛苦一点没关系，可精神上也&amp;#8220;饱受折磨&amp;#8221;。为什么这么说呢？虽说公司与公司的做事风格不同，原则不同，习惯也不同。但终归有相同的一点，那就是把项目做好。我想如果连这一点最起码的都作不到，那就不必谈任何事情了。而我现在所合作的这家公司，让我是越来越厌烦了。整个项目搞的乱七八糟，提出的合理化建议根本不会被考虑。项目的管理者一心只想着怎样能减少工数，怎样才能赚钱，却丢掉了更应该关心的东西。

&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/48.html&quot; title=&quot;最近比较忙，比较烦&quot; target=&quot;_blank&quot;&gt;阅读全文——共1313字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/1f100c26954aca81ee3a7b7fc4ffdb25&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/1f100c26954aca81ee3a7b7fc4ffdb25/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=d87ce56f422529f04a938c03e620f407&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=d87ce56f422529f04a938c03e620f407&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=062677976aee00a7dcc9d13dc67c2dab&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=062677976aee00a7dcc9d13dc67c2dab&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a8c6785d123afe6f9a4a80a176b1e3b9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a8c6785d123afe6f9a4a80a176b1e3b9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=0d9a782b8fe9082b3534c5ac8c7005b8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=0d9a782b8fe9082b3534c5ac8c7005b8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=9c2293325c4d429fed9c54d02c70ab4a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=9c2293325c4d429fed9c54d02c70ab4a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=9ae4c11c2a8ab0cdee58723d7d73a8ea&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=9ae4c11c2a8ab0cdee58723d7d73a8ea&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=e086a0e29a1ee4ec74a24a070bb005f5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=e086a0e29a1ee4ec74a24a070bb005f5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/mxjava?a=a91c6f0631a4e6908dc9f92d74d6657a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/mxjava?i=a91c6f0631a4e6908dc9f92d74d6657a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>心情随笔</category><category>烦</category><pubDate>Sun, 30 Mar 2008 10:52:05 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/48.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/weblog/?p=48</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/48.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/111078018/1492496</fs:itemid></item></channel></rss>