﻿<?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-J2EE剑侠行-随笔分类-J2EE开源学习</title><link>http://www.blogjava.net/heweiya/category/6067.html</link><description>直觉我的J2EE应用生涯，打造我心中的一把利剑。</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 18:57:20 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 18:57:20 GMT</pubDate><ttl>60</ttl><item><title>开源代码学习:Plone　CMS系统</title><link>http://www.blogjava.net/heweiya/archive/2005/12/21/24959.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Wed, 21 Dec 2005 08:06:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/21/24959.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24959.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/21/24959.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24959.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24959.html</trackback:ping><description><![CDATA[<p><strong>Plone</strong><br>Plone是一种开源的内容管理系统（CMS）。基于Zope，用Python写成。<br>最早由 Alan Runyan, Alexander Limi, and Vidar Andersen在1999年开始，之后迅速成为流行而又强大的内容管理系统。<br>Plone
基于 GNU General Public License 发布。它建立在应用服务器Zope和Zope Content Management
Framework（Zope 内容管理框架）之上。Plone的名字来源于一个来自英国伯明汉，叫做Plone的电声乐队<br>官方网站链接：<a href="http://plone.org/">http://plone.org/</a><br>
</p>
<p><br>
</p>
<p>很厉害，仅仅14M左右的东东，就有服务器和国际化的所有东东。佩服。CMS市场是不是做烂了，这么多的开源代码。不过操作方面比OPENCMS容易理解，权限管理不像OPENCMS那么复杂。<br>
</p>
<img src ="http://www.blogjava.net/heweiya/aggbug/24959.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-21 16:06 <a href="http://www.blogjava.net/heweiya/archive/2005/12/21/24959.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Compiere ERP&amp;CRM使用手册</title><link>http://www.blogjava.net/heweiya/archive/2005/12/21/24950.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Wed, 21 Dec 2005 06:54:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/21/24950.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24950.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/21/24950.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24950.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24950.html</trackback:ping><description><![CDATA[<!--StartFragment -->&nbsp;北京安特比软件技术公司倾情奉献。<BR>所有资源均来自于网上，本人收集整理，只供学习用途。<BR>如果你要转换其它阅读格式，请保留版本信息。<BR>&nbsp;<BR><!--StartFragment -->&nbsp;<!--StartFragment --> <A HREF="/Files/heweiya/Compiere%20ERP%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.part1.rar">Compiere ERP使用手册.part1.rar</A></TD> <TD>1423KB</TD></TR> <BR><TR><TD>&nbsp;<A HREF="/Files/heweiya/Compiere%20ERP%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.part2.rar">Compiere ERP使用手册.part2.rar</A></TD> <TD>1393KB</TD>&nbsp;<TD></TR><TR><TD>&nbsp;<img src ="http://www.blogjava.net/heweiya/aggbug/24950.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-21 14:54 <a href="http://www.blogjava.net/heweiya/archive/2005/12/21/24950.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源代码学习:COMPIERE</title><link>http://www.blogjava.net/heweiya/archive/2005/12/20/24805.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Tue, 20 Dec 2005 08:01:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/20/24805.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24805.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/20/24805.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24805.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24805.html</trackback:ping><description><![CDATA[康比尔的学习过程：<br>
难找的汉化地址：http://prdownloads.sourceforge.net/windowutil/<br>
<img src ="http://www.blogjava.net/heweiya/aggbug/24805.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-20 16:01 <a href="http://www.blogjava.net/heweiya/archive/2005/12/20/24805.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源代码学习:Lucane Groupware</title><link>http://www.blogjava.net/heweiya/archive/2005/12/19/24590.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Mon, 19 Dec 2005 03:23:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/19/24590.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24590.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/19/24590.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24590.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24590.html</trackback:ping><description><![CDATA[<span class="postdetails">
Lucane Groupware是一个用Java编写的免费的群件，设计具有高度的可扩展性。绑定的应用程序有即时消息，文件共享，聊天，论坛，个人注释，共享的日历...这个平台是开发网络应用程序的一种简单方法。
<br>
这两天用了一次lucane这个协同管理软件，感觉很不错，应该在项目管理当中是一个很值得推荐的实现方案，因为他是支持插件式的开发，我想假如把CITIA、PTC等3D制造软件的控件也加入，肯定是一个很好用的协同制造平台。
</span><img src ="http://www.blogjava.net/heweiya/aggbug/24590.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-19 11:23 <a href="http://www.blogjava.net/heweiya/archive/2005/12/19/24590.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源代码学习:Proteus/OpenQueue/eXtremeTable/Struts-Layout </title><link>http://www.blogjava.net/heweiya/archive/2005/12/19/24589.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Mon, 19 Dec 2005 03:21:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/19/24589.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24589.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/19/24589.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24589.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24589.html</trackback:ping><description><![CDATA[<span class="postdetails">这一段时间拼命学习了一些开源实现：
<br>
Proteus
<br>
Proteus是一个用于创建消息应用程序的框架和在这个框架上构建的一个消息代理(message broker).Proteus有一个允许把数据库,消息队列,ftp服务器,email和其它消息源汇集起来以一种简单,统一方式进行编址的适配器.
<br>
这个工具使用自定义的XML文件，可以使用JDBC方便的插入到指定的数据库记录，同样也可以与消息服务器连接使用。在XML文件使用时，可以考虑之，能够快速的完成业务过程（当然复杂的业务就不要用了）。
<br>
OpenQueue
<br>
OpenQueue是一个用于发布与订阅消息队列的开放协议。这使得运行在不同机器上的，采用不同语言开发的且没有联系的应用程序之间能够进行异步通信。
<br>
这个工具的思想很特别，作者把所有的事务都发布到TELNET当中去使用。使用的必备条件如下：
<br>
* Passamaquoddy -- an OpenQueue server, written in Java. 
<br>
* OQApplet -- an OpenQueue client, written as a Java applet. 
<br>
* oqsend.exp -- an Expect script for sending one OpenQueue message. 
<br>
但是我现在也不知道如何把oqsend.exp打包成为一个ACTIVEX控件，在WINDOWS下面使用，如果看官你看到了就和我联系共同学习，共同进步。
<br>
eXtremeTable
<br>
eXtremeTable是一个可扩展的用于以表格的形式来显示数据的一组JSP标签库.，这个标签库我没有配置成功，但是应该是比DISPLAYTAG好一些吧。因为DISPLAYTAG一次读取出所有数据，是比较费内存的，设计思想不是很好了。
<br>
eXtremeTable是新一代的标签库，设计思想比较好一些，但是感觉他的DEMO的CSS实在是难看。呵呵，有潜力，应该好好学习。
<br>
Struts-Layout
<br>
Struts-Layout是一个用在Struts的标签库.这个强大的标签库可以用来显示面板(panels),输入框,表格,treeviews,
sortable
lists,datagrids,popups,日历等.使用这些标签可以不用写HTML代码,甚至可以不用懂得HTML.这个项目还提供一个
Eclipse下的插件Kiwi帮助使用Struts和Struts-Layout来开发Jsp页面.。
<br>
我对之深入学习了一段时间，也做了一些示例，感觉作者想把在传统CS当中的思想应用在BS当中，虽然操作比较方便，但是业务安全性好象这样的需求很少，而且感觉它的性能也不是很好。
<br>
从这一次对标签库的　操作后，我感觉以后前台显示肯定会有一个软件坐很长时间的宝座，而eXtremeTable将很有可能冲击这个位置，那么以后的轻量级的J2EE应用会更广泛，集成度会更高。</span><img src ="http://www.blogjava.net/heweiya/aggbug/24589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-19 11:21 <a href="http://www.blogjava.net/heweiya/archive/2005/12/19/24589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源代码学习:Crispy/Red-Piranha /XMoon</title><link>http://www.blogjava.net/heweiya/archive/2005/12/19/24588.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Mon, 19 Dec 2005 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/19/24588.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24588.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/19/24588.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24588.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24588.html</trackback:ping><description><![CDATA[<span class="postdetails">Crispy
<br>

<br>
利用Crispy提供的一个统一接口,你可以调用
RMI,WebService,REST,XML-RPC,EJB,Burlap,Hessian等其它服务.你不需要知道这些服务是怎样工作的,要调用
的服务类型可在properties文件中定义.远程调用就像简单Java对象调用一样,你可以把Crispy集成到一个SOA(Service
Oriented Architecture)或RCP(Rich Client Platform)中.
<br>初步看了本网站的资料，感觉作者的思维比较先进，是主要的把他的思想融入到SOA当中，而且为远程服务提供统一的接口，虽然说能够让用户可以不
理解远程服务就直接去调用相关服务，但是说这样傻瓜式的引用会不会把相应服务的异常，比如SHIT　DOWN或者服务障碍等做出相应的处理，等等。应该是
一个比较超强的软件，并且是为了提供WEB服务的统一规范而做的工作。
<br>
因为我现在只使用RMI一种服务，所以没有考虑使用之，假如要使用至少两种以上的远程调用服务时，可以考虑使用这种工具。
<br>
Red-Piranha
<br>

<br>Red-Piranha是一个开源搜索系统,它能够真正"学习"你所要查找的是什么.Red-Piranha可作为你桌面系统(Windows,
Linux与Mac)的个人搜索引擎,或企业内部网搜索引擎,或为你的网站提供搜索功能,或作为一个P2P搜索引擎,或与wiki结合作为一个知识/文档
管理解决方案,或搜索你要的RSS聚合信息,或搜索你公司的系统(包括SAP,Oracle或其它任何Database/Data
source),或用于管理PDF,Word和其它文档,或作为一个提供搜索信息的WebService或为你的应用程序(Web,Swing,SWT,
Flash,Mozilla-XUL,PHP, Perl或c#/.Net)提供搜索后台等等.
<br>
你使用这种工具呀，绝对感觉是GOOGLE的翻版，应该来说它的功能比较强大，现还不知道他的性能如何，应该多多研究，最少这种解决方案可以一用。呵呵，开源就是好。
<br>
另外，本软件暂时不支持中文目录，还有在执行一次本地查询时，CPU使用率竟然达到100%，他的性能应该考虑了。
<br>
XMoon
<br>

<br>
XMoon扩展自Jakarta Struts框架用于开发处理基于XML或一些脚本语言(如: BeanShell, JRuby, JudoScript, Jython,Rhino)的Web应用程序.它还提供一个用于展示该框架宠物店Demo.
<br>
<img src="http://xmoon.sourceforge.net/images/workflow-xmoon-web.gif" border="0">
<br>如上支持的除XML外，均可以做为二次开发时附加的程序片段，我想作者的思路可以是基于一个稳定产品上的二次产品开发吧。或者集成不同语言版本的
产品，比如DYNAPDM（韩国的一家PDM提供商）就是使用BEANSHELL来做二次开发的，我想DYNAPDM可以使用XMOOM把自己的产品进行
扩展，从而从CS方式的操作放在网页上来做。等等。</span><img src ="http://www.blogjava.net/heweiya/aggbug/24588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-19 11:20 <a href="http://www.blogjava.net/heweiya/archive/2005/12/19/24588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对OPENCMS汉化的总结，超准确</title><link>http://www.blogjava.net/heweiya/archive/2005/12/16/24270.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Fri, 16 Dec 2005 10:14:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/16/24270.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24270.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/16/24270.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24270.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24270.html</trackback:ping><description><![CDATA[<span class="postdetails">说明：
<br>
本部是你完全部署好OPENCMS时才可操作。
<br>
1、COPY　org.opencms.locales.zh_1.2.zip　至目录D:\Tomcat5272\webapps\opencms\
WEB-INF\packages\modules，哈哈，你不知道D:\Tomcat5272\webapps\吧，可能你的硬盘上没有，但是你应该知
道这个是一个变量，而我现在常量。
<br>
2、打开OPENCMS，在Administrator浏览界面里，使用“模块”功能，然后“导入一个模块”，选择org.opencms.locales.zh_1.2.zip，然后导入。呵呵，是不是很爽　呢？
<br>
现在最少你能够在“参数设置”里找到中文了。
<br>
然后呢，是不是就是结束了？
<br>
呵呵，刚刚开始。
<br>
假设你上面的工作都做完了，就应该是下面的操作了。
<br>
1、另外应修改
<br>
/system/workplace/resources/commons/explorer.js
<br>
中的行:
<br>
 "&lt;td&gt;"+vr.langadress+"&amp;&lt;/td&gt;\n"
<br>
 为:"&lt;td nowrap&gt;"+vr.langadress+"&lt;/td&gt;\n"
<br>
2、这是一个循环。
<br>
　　FOR　I＝1　TO　解压开org.opencms.locales.zh_1.2.zip包.所有目录,I++
<br>
{
<br>
   COPY D:\2005年9月份\org.opencms.locales.zh_1.2\system\workplace\locales\zh\messages下所有文件
<br>
  TO D:\Tomcat5272\webapps\opencms\WEB-INF\classes
<br>
　COPY　D:\2005年9月份\org.opencms.locales.zh_1.2\system\workplace\locales\zh\messages\org\opencms\workplace　下所有文件
<br>
　TO　D:\Tomcat5272\webapps\opencms\WEB-INF\classes\org\opencms\workplace
<br>
//下面的由读者自己加入。直到加完为止。
<br>

<br>
}
<br>
3、重新启动TOMCAT，然后再登录。
<br>
我敢保证百分百准确，呵呵。
<br>
汉化包下载地址：[url＝http://www.ganko.com.cn/exports/sites/ganko/down/org.opencms.locales.zh_1.2.zip]下载下载[/url]</span><img src ="http://www.blogjava.net/heweiya/aggbug/24270.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-16 18:14 <a href="http://www.blogjava.net/heweiya/archive/2005/12/16/24270.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源项目学习:XINS</title><link>http://www.blogjava.net/heweiya/archive/2005/12/16/24269.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Fri, 16 Dec 2005 10:13:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/16/24269.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24269.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/16/24269.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24269.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24269.html</trackback:ping><description><![CDATA[<span class="postdetails">XINS是一项规范技术用于定义，创建和调用远程
APIs。当API规范在XML文档中定义好之后，XINS将会把它们转换成包括客户端与服务端的HTML文档与Java代码．XINS将与复杂的
SOAP技术竞争，因为它被设计得具有简单性，可扩缩性与可测试性。简要地说就是：SOA+Java+XML+ 代码生成－复杂性 =&gt;
XINS。
<br>
<img src="http://www.open-open.com/image/xins.jpg" border="0">
<br>

<br>
初步看看这个开源项目，感觉很有意思，
<br>
首先说：这个开源项目的领导者对商业有所研究，知道向M￥靠近，也就成功了一步，至于能不能向SOA挑战，我还拭目以待。不过这个思想真是很简单，我同样感觉现行的WEB服务没有太多的实用价值。就是有实用价值，他的入门也比较高。
<br>
但愿这个技术能够成熟起来。</span><img src ="http://www.blogjava.net/heweiya/aggbug/24269.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-16 18:13 <a href="http://www.blogjava.net/heweiya/archive/2005/12/16/24269.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源代码学习：e-Gen Developer</title><link>http://www.blogjava.net/heweiya/archive/2005/12/16/24268.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Fri, 16 Dec 2005 10:12:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/16/24268.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24268.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/16/24268.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24268.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24268.html</trackback:ping><description><![CDATA[<span class="postdetails">e-Gen Developer
<br>

<br>
e-Gen Developer是一个快速应用程序开发(RAD)环境。利用它能够进行Web应用程序的高产开发。e-Gen
Developer完全采用Java开发并基于JSF2.8与Struts框架。e-Gen的主要目的是克服IT管理所面对的一些相关挑战如：提高开发效
率，减少维护成本与减少训练团队成员所需要的时间。
<br>

<br>初步使用了一下e-gen,首先这个开源项目最别致的地方就是使用WEB方式进行开发，可见J2EE的强大功能，好象没有一套程序能够有这么大的
扩展性。对这个工具爱不释手，从上午到下午一直在看见他的Tutorials，不过最让人遗憾的就是没有加入SPRING进行处理事务。整个项目很有新
意，想作者也是化了不少心思在这个项目上。
<br>
还是先感谢一下这个开源项目的作者。我感觉这个项目完成了一些技术上的难题，作者完全可以包装一下做为比如IBM产品里的一个模块，绝对能够给开发者带来全新的开发体验。
</span><img src ="http://www.blogjava.net/heweiya/aggbug/24268.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-16 18:12 <a href="http://www.blogjava.net/heweiya/archive/2005/12/16/24268.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> OpenToro学习笔记</title><link>http://www.blogjava.net/heweiya/archive/2005/12/16/24266.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Fri, 16 Dec 2005 10:11:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/16/24266.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24266.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/16/24266.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24266.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24266.html</trackback:ping><description><![CDATA[<span class="postdetails">OpenToro  【Java开源 Web框架】
<br>

<br>
OpenToro
是一个可以让我们以灵活和自动的方式来开发web数据库应用程序的工具．利用OpenToro可以省掉在开发一个Web数据库应用程序时编写JSP与
SQL代码这样辛苦乏味的工作．利用它就可以很容易地列出数据库中的表格与其它内容并生成可以新增,修改,删除的数据.OpenToro兼容所有支持
SQL-92标准语法的数据库如:MySQL,Oracle,Access,与SQL-Server. <br>

<br>
这个软件是代替哪些对数据库快速操作，而不分析其业务逻辑的JAVA实现。整个Tutorial的定制性特别强，你一定要看完他的DEMO再来操作，尤其
是MYSQL的哪个表，最终对这个东东的评价是半自动化的完成了对数据库表的简单操作。而且还需要你手工修改已经生成的XML文件等。总则说吧，这个东东
有点像PB的哪个意思，先不管业务逻辑就能够快速的生成一个对数据库操作的WEB实现，呵呵，假如项目要求不高的前提下，可以考虑给用户一个甜饼。</span><img src ="http://www.blogjava.net/heweiya/aggbug/24266.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-16 18:11 <a href="http://www.blogjava.net/heweiya/archive/2005/12/16/24266.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C-JDBC学习总结</title><link>http://www.blogjava.net/heweiya/archive/2005/12/16/24267.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Fri, 16 Dec 2005 10:11:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/16/24267.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24267.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/16/24267.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24267.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24267.html</trackback:ping><description><![CDATA[<span class="postdetails">首先说：学习会这个软件可以马上得到第一桶金。也就是说这个软件可以应用到现应用当中，立即取得效益，产品成熟度：已经成熟。
<br>

<br>
C-JDBC是一个数据库集成方式，包括同步、复制、备份和集群等，Sequoia的出现 也说明了C-JDBC的成熟性，在这里万分感觉INRIA公司，一个法兰西的公司。
<br>

<br>
难度是在Console的配置和Controller的配置等，我在这个软件学习当中绕了个弯，就是JDK必顺为1.4以上，假如你要安装ORACLE9以下的版本，一定要在PATH环境变量当中改变一下顺序了。
<br>

<br>
C-JDDBC是一个优秀的廉价集成方案，可以集成几乎所有的数据库，我想这个工具的认真学习将会给我提供一个赚钱的机会。呵呵。
<br>

<br>
一定要好好学习，看官有兴趣就加我。
<br>
<a href="http://demos.objectweb.org/c-jdbc/flash-demo.swf" target="_blank" class="postlink">DEMO下载</a>
<br>
<a href="http://c-jdbc.objectweb.org/" target="_blank" class="postlink">公司网站</a></span><img src ="http://www.blogjava.net/heweiya/aggbug/24267.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-16 18:11 <a href="http://www.blogjava.net/heweiya/archive/2005/12/16/24267.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 超适用的EAI集成工具：OpenSyncro</title><link>http://www.blogjava.net/heweiya/archive/2005/12/16/24265.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Fri, 16 Dec 2005 10:10:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/16/24265.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24265.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/16/24265.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24265.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24265.html</trackback:ping><description><![CDATA[<span class="postdetails">今天看了OpenSyncro这个小工具，感觉他很好用，而且方便简单。
<br>
OpenSyncro是一个轻量级，开源企业应用集成工具。它运行在Apache
Tomcat服务器上并把它的配置信息存储在MySQL数据库中.它的特性包括内嵌数据转换器能够把CSV表格和其它基于文本的数据格式转换成XML,支
持XSL转换(XSLT),支持访问FTP服务器上的文件。OpenSyncro可通过组件来进行扩展从而使得它连接到SAP Business
One与HansaWorld这样的ERP/CRM系统.
<br>
<a href="http://opensyncro.org/" target="_blank" class="postlink">OpenSyncro</a>
<br>
它的思想比较简单，就是传输文件，在传输文件的过程当中，可以对文件进行轮换，转换成标准的XML格式，应该来说这是一个比较简单的实现。
<br>
说说它的功能：
<br>
1、文件格式转换
<br>
     4.2.1 ASCIItoXMLConverter
<br>
     4.2.2 CSVtoXMLConverter
<br>
     4.2.3 JoinConverter
<br>
     4.2.4 SplitConverter
<br>
     4.2.5 XMLGroupExpander
<br>
     4.2.6 XSLTConverter
<br>
     4.2.7 XSLT20Converter 
<br>
2、文件传输方式
<br>
    4.1.1 DirectorySource
<br>
    4.1.2 FTPSource
<br>
    4.1.3 RemoteOrderSource
<br>
    4.1.4 LocalFileSource
<br>
    4.1.5 TimestampFileSource 
<br>
3、简单日志功能
<br>
目前我使用绝对路径的方式已经测试过第一种方式的传递，总之感觉还是比较简单的，假如对其进行更加强大的扩展，可能将成为一种非常适用简单的初级的EAI集成工具。</span><img src ="http://www.blogjava.net/heweiya/aggbug/24265.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-16 18:10 <a href="http://www.blogjava.net/heweiya/archive/2005/12/16/24265.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>粗糙的开源CMS：corinis</title><link>http://www.blogjava.net/heweiya/archive/2005/12/16/24264.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Fri, 16 Dec 2005 10:09:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/16/24264.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24264.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/16/24264.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24264.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24264.html</trackback:ping><description><![CDATA[<span class="postdetails">Corinis CCM  【Java开源 内容管理系统(CMS)】
<br>

<br>
Corinis CCM是一个基于Java/XML的开源内容管理系统.它结合了一个专业内容管理系统所应具备的功能如:WYSIWIG编辑,基于角色的QA等.整个系统采用模块设计使得系统变得易于扩展与重复利用,它包含的模块有论坛,投票和相册等
<br>

<br>
这个CMS应该来说技术架构也使用了AJAX，但是有很多的BUG，而且图标和实际功能不能符合，虽然基本布局很让人喜欢，但是功能操作上不很好用，包括其内容是FRANCE语言也算打折的理由。
<br>
应该来说，作者是想做一个简单易用的CMS系统，而且还有很弱的论坛和相册（照片）管理程序等
<br>
我配置了半天也没有配置好，虽然有很好的WEB安装界面，就是数据库连接时发生错误，作者也不提供SQL代码，防止万一有错误产生。现在只是对其DEMO做了一些操作。如果看客你知SQL代码，不防也吱我一声。</span><img src ="http://www.blogjava.net/heweiya/aggbug/24264.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-16 18:09 <a href="http://www.blogjava.net/heweiya/archive/2005/12/16/24264.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源代码：edtFTPj学习总结</title><link>http://www.blogjava.net/heweiya/archive/2005/12/16/24262.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Fri, 16 Dec 2005 10:05:00 GMT</pubDate><guid>http://www.blogjava.net/heweiya/archive/2005/12/16/24262.html</guid><wfw:comment>http://www.blogjava.net/heweiya/comments/24262.html</wfw:comment><comments>http://www.blogjava.net/heweiya/archive/2005/12/16/24262.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heweiya/comments/commentRss/24262.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heweiya/services/trackbacks/24262.html</trackback:ping><description><![CDATA[<span class="postdetails">edtFTPj
<br>

<br>
edtFTPj是一个FTP客户端包它可以嵌入到应用程序中以便以提供FTP的功能.它提供一些方法如:put(),get(),chdir(),dir()与pwd()等来完成FTP的功能.
<br>

<br>
通过对其的学习，尤其是取FILENAME是一个大的挑战，我曾经为这个走了很多的冤枉路，我对其代码总结。
<br>
</span>

 	  <span class="genmed"><b>java代码: <br>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">package</span><span style="color: rgb(0, 0, 0);">&nbsp;com.throuhout.j2eemodel.util;<br><br></span><span style="color: rgb(0, 128, 0);">/**</span><span style="color: rgb(0, 128, 0);"><br>*&nbsp;&nbsp;保留Enterprisedt公司信息<br>*&nbsp;&nbsp;Copyright&nbsp;(C)&nbsp;2000-2004&nbsp;Enterprise&nbsp;Distributed&nbsp;Technologies&nbsp;Ltd<br>*<br>*&nbsp;&nbsp;www.enterprisedt.com<br>*<br>*&nbsp;&nbsp;This&nbsp;library&nbsp;is&nbsp;free&nbsp;software;&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or<br>*&nbsp;&nbsp;modify&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;Lesser&nbsp;General&nbsp;Public<br>*&nbsp;&nbsp;License&nbsp;as&nbsp;published&nbsp;by&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation;&nbsp;either<br>*&nbsp;&nbsp;version&nbsp;2.1&nbsp;of&nbsp;the&nbsp;License,&nbsp;or&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>*<br>*&nbsp;&nbsp;This&nbsp;library&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>*&nbsp;&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>*&nbsp;&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the&nbsp;GNU<br>*&nbsp;&nbsp;Lesser&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>*<br>*&nbsp;&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;Lesser&nbsp;General&nbsp;Public<br>*&nbsp;&nbsp;License&nbsp;along&nbsp;with&nbsp;this&nbsp;library;&nbsp;if&nbsp;not,&nbsp;write&nbsp;to&nbsp;the&nbsp;Free&nbsp;Software<br>*&nbsp;&nbsp;Foundation,&nbsp;Inc.,&nbsp;59&nbsp;Temple&nbsp;Place,&nbsp;Suite&nbsp;330,&nbsp;Boston,&nbsp;MA&nbsp;&nbsp;02111-1307&nbsp;&nbsp;USA<br>*<br>*&nbsp;&nbsp;Bug&nbsp;fixes,&nbsp;suggestions&nbsp;and&nbsp;comments&nbsp;should&nbsp;be&nbsp;sent&nbsp;to&nbsp;support@enterprisedt.com<br>*　nether&nbsp;add&nbsp;by&nbsp;heweiya<br>*&nbsp;&nbsp;对FTP服务器的通用操作<br>*&nbsp;&nbsp;ConnFTPServer(String&nbsp;host,String&nbsp;username,String&nbsp;password)<br>*&nbsp;&nbsp;Upload(String&nbsp;localfile,String&nbsp;filename)<br>*&nbsp;&nbsp;Download(String&nbsp;localpath)<br>*<br></span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br><br></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;java.io.File;<br></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;java.io.FileInputStream;<br></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;java.io.FileOutputStream;<br></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;java.io.IOException;<br></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;java.net.URL;<br><br></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;com.enterprisedt.net.ftp.FTPClient;<br></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;com.enterprisedt.net.ftp.FTPConnectMode;<br></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;com.enterprisedt.net.ftp.FTPException;<br></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;com.enterprisedt.net.ftp.FTPMessageCollector;<br></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;com.enterprisedt.net.ftp.FTPTransferType;<br></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;com.enterprisedt.util.debug.Logger;<br><br></span><span style="color: rgb(0, 128, 0);">/**</span><span style="color: rgb(0, 128, 0);"><br>*&nbsp;&nbsp;Simple&nbsp;test&nbsp;class&nbsp;for&nbsp;FTPClient<br>*<br>*&nbsp;&nbsp;</span><span style="color: rgb(128, 128, 128);">@author</span><span style="color: rgb(0, 128, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hans&nbsp;Andersen<br>*&nbsp;&nbsp;</span><span style="color: rgb(128, 128, 128);">@author</span><span style="color: rgb(0, 128, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bruce&nbsp;Blackshaw<br></span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br></span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">&nbsp;FtpClient&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">/**</span><span style="color: rgb(0, 128, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;Log&nbsp;stream<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">static</span><span style="color: rgb(0, 0, 0);">&nbsp;Logger&nbsp;log&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;Logger.getLogger(FtpClient.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);">&nbsp;FTPClient&nbsp;ftp&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;ConnFTPServer(String&nbsp;host,&nbsp;String&nbsp;username,&nbsp;String&nbsp;password)&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;set&nbsp;up&nbsp;client&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;FTPClient();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.setRemoteHost(host);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FTPMessageCollector&nbsp;listener&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;FTPMessageCollector();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.setMessageListener(listener);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">ftp.setAutoPassiveIPSubstitution(true);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;connect</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log.info(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Connecting</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.connect();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;login</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log.info(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Logging&nbsp;in</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.login(username,&nbsp;password);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;set&nbsp;up&nbsp;passive&nbsp;ASCII&nbsp;transfers</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log.debug(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Setting&nbsp;up&nbsp;passive,&nbsp;ASCII&nbsp;transfers</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.setConnectMode(FTPConnectMode.ACTIVE);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.setType(FTPTransferType.ASCII);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">&nbsp;(Exception&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log.error(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Demo&nbsp;failed</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,&nbsp;e);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;Upload(String&nbsp;localfile,&nbsp;URL&nbsp;url)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;host&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;url.getHost();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;port&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;url.getPort();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;filePath&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;File(url.getPath());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;directory&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;filePath.getParent().substring(</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;filename&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;filePath.getName();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">connect(host,&nbsp;port);</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.chdir(directory);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.put(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;FileInputStream(localfile),&nbsp;filename);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">&nbsp;(Exception&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log.error(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Demo&nbsp;failed</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,&nbsp;e);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;Upload(String&nbsp;localpath,String&nbsp;filename)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.put(localpath,&nbsp;filename);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">&nbsp;(Exception&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log.error(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Demo&nbsp;failed</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,&nbsp;e);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;DownloadAll(String&nbsp;localpath){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.chdir(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">xml</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;files&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;ftp.dir(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);">&nbsp;(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;i&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">;&nbsp;i&nbsp;</span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">&nbsp;files.length;&nbsp;i</span><span style="color: rgb(0, 0, 0);">++</span><span style="color: rgb(0, 0, 0);">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;testfile&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;files[i].substring(</span><span style="color: rgb(0, 0, 0);">39</span><span style="color: rgb(0, 0, 0);">);</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">大家可以看到这里，testfile取µ貌皇Çfilename而是一个字条串，我Ö皇谴涌¼的位置取得FILENAME，方法可能很笨，但是我不知道如何来取得真正的FILENAME。</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log.debug(files[i]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.get(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;FileOutputStream(localpath</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">testfile),testfile);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">ftp.get(localpath&nbsp;+&nbsp;testfile,&nbsp;testfile);</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">&nbsp;(IOException&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;TODO&nbsp;自动生成&nbsp;catch&nbsp;块</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">&nbsp;(FTPException&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;TODO&nbsp;自动生成&nbsp;catch&nbsp;块</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;DisConn(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp.quit();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">&nbsp;(IOException&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;TODO&nbsp;自动生成&nbsp;catch&nbsp;块</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">&nbsp;(FTPException&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;TODO&nbsp;自动生成&nbsp;catch&nbsp;块</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br><br>}&nbsp;</span></div><br>
</b></span><img src ="http://www.blogjava.net/heweiya/aggbug/24262.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heweiya/" target="_blank">@家军</a> 2005-12-16 18:05 <a href="http://www.blogjava.net/heweiya/archive/2005/12/16/24262.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>