﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-awp001</title><link>http://www.blogjava.net/awp001/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 16:16:19 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 16:16:19 GMT</pubDate><ttl>60</ttl><item><title>关于Java缺乏多继承机制的探讨</title><link>http://www.blogjava.net/awp001/archive/2010/06/02/322536.html</link><dc:creator>awp001</dc:creator><author>awp001</author><pubDate>Wed, 02 Jun 2010 03:49:00 GMT</pubDate><guid>http://www.blogjava.net/awp001/archive/2010/06/02/322536.html</guid><wfw:comment>http://www.blogjava.net/awp001/comments/322536.html</wfw:comment><comments>http://www.blogjava.net/awp001/archive/2010/06/02/322536.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/awp001/comments/commentRss/322536.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/awp001/services/trackbacks/322536.html</trackback:ping><description><![CDATA[&nbsp;
<p style="text-indent: 21pt"><span style="font-family: 宋体">最近笔者在软件产品研发过程中遇到一问题，解决起来相当的棘手。产品架构在规划阶段定位分布式多层架构，第一阶段采用</span>B/S<span style="font-family: 宋体">架构，同时研发出全部的服务端组件（</span>Servlet<span style="font-family: 宋体">和</span>Java beans<span style="font-family: 宋体">），在组件成熟并且</span>B/S<span style="font-family: 宋体">架构产品成熟的情况下，再研发</span>C/S<span style="font-family: 宋体">架构产品，这样一来，风险就大大降低了。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">在</span>B/S<span style="font-family: 宋体">架构产品研发的时候，使用了</span>Struts<span style="font-family: 宋体">框架，其中的两大基础对象是</span>ActionForm<span style="font-family: 宋体">和</span>Action<span style="font-family: 宋体">。自定义的</span>ActionForm<span style="font-family: 宋体">都要继承自</span>org.apache.struts.action.ActionForm<span style="font-family: 宋体">，例如：<br />
<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_69_134_Open_Image" onclick="this.style.display='none'; Codehighlighter1_69_134_Open_Text.style.display='none'; Codehighlighter1_69_134_Closed_Image.style.display='inline'; Codehighlighter1_69_134_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_69_134_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_69_134_Closed_Text.style.display='none'; Codehighlighter1_69_134_Open_Image.style.display='inline'; Codehighlighter1_69_134_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #000000">Public&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;MyClassForm&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;org.apache.struts.action.ActionForm&nbsp;</span><span id="Codehighlighter1_69_134_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;String&nbsp;a;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;String&nbsp;b;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&#8230;&#8230;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">getter&nbsp;和&nbsp;setter省略</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /></span><span style="color: #000000">}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span></div>
</span>&nbsp;
<p style="text-indent: 21pt"><span style="font-family: 宋体">这在</span>B/S<span style="font-family: 宋体">产品研发阶段没有任何问题，但是到了</span>C/S<span style="font-family: 宋体">产品研发阶段，问题就来了，客户端提交给服务器的数据不再是</span>ActionForm<span style="font-family: 宋体">，而是只包含字段的纯</span>JavaBean,<span style="font-family: 宋体">代码如下：<br />
<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_21_86_Open_Image" onclick="this.style.display='none'; Codehighlighter1_21_86_Open_Text.style.display='none'; Codehighlighter1_21_86_Closed_Image.style.display='inline'; Codehighlighter1_21_86_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_21_86_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_21_86_Closed_Text.style.display='none'; Codehighlighter1_21_86_Open_Image.style.display='inline'; Codehighlighter1_21_86_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #000000">Public&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;MyClass&nbsp;</span><span id="Codehighlighter1_21_86_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;String&nbsp;a;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;String&nbsp;b;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&#8230;&#8230;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">getter&nbsp;和&nbsp;setter省略</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /></span><span style="color: #000000">}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span></div>
<br />
<br />
&nbsp;
<p style="text-indent: 21pt"><span style="font-family: 宋体">于是乎，在原来的</span>B/S<span style="font-family: 宋体">架构研发成果上，对于</span>C/S<span style="font-family: 宋体">架构产品的研发，都多了这个纯</span>JavaBean<span style="font-family: 宋体">的封装，如果业务逻辑发生变化，要对</span>MyClassForm<span style="font-family: 宋体">和</span>MyClass<span style="font-family: 宋体">都进行修改。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">如果</span>Java<span style="font-family: 宋体">能支持多继承，那么就很省事情了。即自定义的</span>MyClassForm<span style="font-family: 宋体">能同时从</span>org.apache.struts.action.ActionForm<span style="font-family: 宋体">和</span>MyClass<span style="font-family: 宋体">继承：</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_77_79_Open_Image" onclick="this.style.display='none'; Codehighlighter1_77_79_Open_Text.style.display='none'; Codehighlighter1_77_79_Closed_Image.style.display='inline'; Codehighlighter1_77_79_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_77_79_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_77_79_Closed_Text.style.display='none'; Codehighlighter1_77_79_Open_Image.style.display='inline'; Codehighlighter1_77_79_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #000000">Public&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;MyClassForm&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;MyClass，org.apache.struts.action.ActionForm&nbsp;</span><span id="Codehighlighter1_77_79_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span></div>
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;可惜啊，JDK不支持多继承。<br />
</span>
 <img src ="http://www.blogjava.net/awp001/aggbug/322536.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/awp001/" target="_blank">awp001</a> 2010-06-02 11:49 <a href="http://www.blogjava.net/awp001/archive/2010/06/02/322536.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TileCache安装与配置全程攻略</title><link>http://www.blogjava.net/awp001/archive/2009/10/20/299028.html</link><dc:creator>awp001</dc:creator><author>awp001</author><pubDate>Tue, 20 Oct 2009 07:04:00 GMT</pubDate><guid>http://www.blogjava.net/awp001/archive/2009/10/20/299028.html</guid><wfw:comment>http://www.blogjava.net/awp001/comments/299028.html</wfw:comment><comments>http://www.blogjava.net/awp001/archive/2009/10/20/299028.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/awp001/comments/commentRss/299028.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/awp001/services/trackbacks/299028.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;前阵子想得到全国70个大中城市的Google地图，开始接触TileCache，TileCache在建立分块地图缓存，提高客户端访问速度方面绝对是一个好帮手，只不过官方文档比较的难看懂，搜索的关于安装配置方面的文章，通过摸索发现实际上不是大多数人说的那样，或多或少的漏掉一些东西了，由于本人刚接触，才疏学浅，有描述不当的地方请大家指正。<br />
&nbsp;&nbsp;&nbsp;&nbsp;TileCache可以作为IIS和Apache的CGI插件，由于我的应用是Windows环境下的MapServer配合Apache服务器运行，所以以下都是在Windows环境下Apache服务器完成的安装配置过程的描述。理论上IIS也可以，至于在Linux平台下，应该区别不是很大。<br />
&nbsp;&nbsp;&nbsp;&nbsp; TileCache的官方网站是<a tabindex="-1" href="http://tilecache.org/">http://tilecache.org/</a>，在这里可以下载到最新版本的TileCache。<br />
&nbsp;&nbsp;&nbsp; 我的Apache服务器版本是2.2.8，接下来安装Python，我选择的2.3版本，建议安装在驱动器根目录下（如C:\Python23 ）。<br />
&nbsp;&nbsp;&nbsp;&nbsp;要在Apache服务器上启用Python还要下载安装一个Module，下载地址<a href="http://www.modpython.org/" target="_blank">http://www.modpython.org/</a>&nbsp; ，在下载页面选择合适的版本，由于我的环境是Apache2.2.8和Python2.3，于是我选择了mod_python-3.3.1.win32-py2.3-Apache2.2.exe，安装完成后在Apache\modules目录下可以看到mod_python.so文件。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在Apache安装目录下找到conf/httpd.conf文件，编辑该文件，在LoadModule部分增加如下设置：<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">LoadModule&nbsp;python_module&nbsp;modules</span><span style="color: #000000">/</span><span style="color: #000000">mod_python.so</span></div>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;同时，还要为TileCache在Apache服务器建立虚拟目录，同样在conf/httpd.conf文件增加以下设置：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #008000">#</span><span style="color: #008000">TileCache虚拟目录</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">Alias&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">tilecache</span><span style="color: #000000">/</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">F:/GIS/TileCache/2.10/</span><span style="color: #800000">"</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">Directory&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">F:/GIS/TileCache/2.10/</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;AddHandler&nbsp;mod_python&nbsp;.py<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;AddHandler&nbsp;python</span><span style="color: #000000">-</span><span style="color: #000000">program&nbsp;.py<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;PythonHandler&nbsp;TileCache.Service<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;PythonOption&nbsp;TileCacheConfig&nbsp;F:</span><span style="color: #000000">/</span><span style="color: #000000">GIS</span><span style="color: #000000">/</span><span style="color: #000000">TileCache</span><span style="color: #000000">/</span><span style="color: #000000">2.10</span><span style="color: #000000">/</span><span style="color: #000000">tilecache.cfg<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;PythonDebug&nbsp;On<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;PythonPath&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">['F:/GIS/TileCache/2.10/']+sys.path</span><span style="color: #800000">"</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp; AllowOverride&nbsp;None<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp; Options&nbsp;Indexes&nbsp;FollowSymLinks&nbsp;Multiviews&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp; Order&nbsp;allow,deny&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;Allow&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;all<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">Directory</span><span style="color: #000000">&gt;</span></div>
<br />
这一部分是目前相关参考资料都没有完整的说明白的地方，<br />
第2行将虚拟目录指向TileCache的安装目录，请根据你的TileCache安装目录进行调整；<br />
注意第4行和第5行，mod_python .py和python-program .py中&#8220;.py&#8221;前面有空格；<br />
第7行指定TileCache配置文件路径；<br />
第9行很重要，指定PythonPath为安装目录和系统目录，不加上sys.path通常会出现&#8220;ImportError: No module named TileCache.Service&#8221;错误；<br />
同事为了允许匿名访问还要加上第12行。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;这样，Apache服务器的配置就完成了。<br />
&nbsp;&nbsp;&nbsp;&nbsp;接下来要配置TileCache了，在TileCache安装目录编辑tilecache.cgi，将第一行更改成：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #008000">#</span><span style="color: #008000">!C:/Python23/python.exe&nbsp;-u</span></div>
<br />
保存后，将扩展名改成.py<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;同样在TileCache安装目录编辑tilecache.cfg，进行以下配置：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">[cache]<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />type</span><span style="color: #000000">=</span><span style="color: #000000">Disk<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />base</span><span style="color: #000000">=</span><span style="color: #000000">E:</span><span style="color: #000000">/</span><span style="color: #000000">TileCache</span></div>
其中，base就是分块地图的缓存物理位置。<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;这样，整个配置过程就完成了，重新启动Apache看看效果吧。用以下地址进行测试，如果出错的话，可以看到详细的出错提示，<br />
http://127.0.0.1/tilecache/tilecache.py?LAYERS=basic&amp;FORMAT=image%2Fpng&amp;SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetMap&amp;STYLES=&amp;EXCEPTIONS=application%2Fvnd.ogc.se_inimage&amp;SRS=EPSG%3A4326&amp;BBOX=-180,0,-90,90&amp;WIDTH=256&amp;HEIGHT=256<br />
一切正常以后可以访问http://127.0.0.1/tilecache/index.html进行浏览。 
<img src ="http://www.blogjava.net/awp001/aggbug/299028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/awp001/" target="_blank">awp001</a> 2009-10-20 15:04 <a href="http://www.blogjava.net/awp001/archive/2009/10/20/299028.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Observer模式使用：由日志管理想到的</title><link>http://www.blogjava.net/awp001/archive/2007/05/24/119529.html</link><dc:creator>awp001</dc:creator><author>awp001</author><pubDate>Wed, 23 May 2007 17:42:00 GMT</pubDate><guid>http://www.blogjava.net/awp001/archive/2007/05/24/119529.html</guid><wfw:comment>http://www.blogjava.net/awp001/comments/119529.html</wfw:comment><comments>http://www.blogjava.net/awp001/archive/2007/05/24/119529.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/awp001/comments/commentRss/119529.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/awp001/services/trackbacks/119529.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/awp001/archive/2007/05/24/119529.html'>阅读全文</a><img src ="http://www.blogjava.net/awp001/aggbug/119529.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/awp001/" target="_blank">awp001</a> 2007-05-24 01:42 <a href="http://www.blogjava.net/awp001/archive/2007/05/24/119529.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate源代码分析(二)：设计属于我的SessionFactory和ConnectionProvider</title><link>http://www.blogjava.net/awp001/archive/2007/05/20/118626.html</link><dc:creator>awp001</dc:creator><author>awp001</author><pubDate>Sun, 20 May 2007 00:00:00 GMT</pubDate><guid>http://www.blogjava.net/awp001/archive/2007/05/20/118626.html</guid><wfw:comment>http://www.blogjava.net/awp001/comments/118626.html</wfw:comment><comments>http://www.blogjava.net/awp001/archive/2007/05/20/118626.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/awp001/comments/commentRss/118626.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/awp001/services/trackbacks/118626.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/awp001/archive/2007/05/20/118626.html'>阅读全文</a><img src ="http://www.blogjava.net/awp001/aggbug/118626.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/awp001/" target="_blank">awp001</a> 2007-05-20 08:00 <a href="http://www.blogjava.net/awp001/archive/2007/05/20/118626.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate源代码分析(一)：设计属于我的SessionFactory和ConnectionProvider</title><link>http://www.blogjava.net/awp001/archive/2007/05/13/117109.html</link><dc:creator>awp001</dc:creator><author>awp001</author><pubDate>Sun, 13 May 2007 06:26:00 GMT</pubDate><guid>http://www.blogjava.net/awp001/archive/2007/05/13/117109.html</guid><wfw:comment>http://www.blogjava.net/awp001/comments/117109.html</wfw:comment><comments>http://www.blogjava.net/awp001/archive/2007/05/13/117109.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/awp001/comments/commentRss/117109.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/awp001/services/trackbacks/117109.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;过完五一长假，花了四天的时间来学习Hibernate框架的使用，作为门外汉，先是从sourceforg.net下载Hibernate3.2，先看官方文档，只有一个提纲，了解了一下各个包的结构，便开始根据Toturial实践，基本掌握了它的使用方法之后，盟生了实现自己的SessionFacto...&nbsp;&nbsp;<a href='http://www.blogjava.net/awp001/archive/2007/05/13/117109.html'>阅读全文</a><img src ="http://www.blogjava.net/awp001/aggbug/117109.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/awp001/" target="_blank">awp001</a> 2007-05-13 14:26 <a href="http://www.blogjava.net/awp001/archive/2007/05/13/117109.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>