﻿<?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-成功与自信--TianJin</title><link>http://www.blogjava.net/deve/</link><description>上善若水。水善利万物而不争,处众人之所恶,故几于道。居善地,心善渊,与善仁,言善信,政善治,事善能,动善时。 
Where there is a will,there is a way.</description><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 05:59:48 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 05:59:48 GMT</pubDate><ttl>60</ttl><item><title>常用正则表达式</title><link>http://www.blogjava.net/deve/archive/2008/08/17/222606.html</link><dc:creator>EugeneCao</dc:creator><author>EugeneCao</author><pubDate>Sun, 17 Aug 2008 12:33:00 GMT</pubDate><guid>http://www.blogjava.net/deve/archive/2008/08/17/222606.html</guid><wfw:comment>http://www.blogjava.net/deve/comments/222606.html</wfw:comment><comments>http://www.blogjava.net/deve/archive/2008/08/17/222606.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/deve/comments/commentRss/222606.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/deve/services/trackbacks/222606.html</trackback:ping><description><![CDATA[<h2><a id="viewpost1_TitleUrl" href="http://www.blogjava.net/Vikings/archive/2006/01/06/26893.html">常用正则表达式</a> </h2>
<p>1。^\d+$　　//匹配非负整数（正整数&nbsp;+&nbsp;0）&nbsp;<br />
2。^[0-9]*[1-9][0-9]*$　　//匹配正整数&nbsp;<br />
3。^((-\d+)|(0+))$　　//匹配非正整数（负整数&nbsp;+&nbsp;0）&nbsp;<br />
4。^-[0-9]*[1-9][0-9]*$　　//匹配负整数&nbsp;<br />
5。^-?\d+$　　　　//匹配整数&nbsp;<br />
6。^\d+(\.\d+)?$　　//匹配非负浮点数（正浮点数&nbsp;+&nbsp;0）&nbsp;<br />
7。^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$　　//匹配正浮点数&nbsp;<br />
8。^((-\d+(\.\d+)?)|(0+(\.0+)?))$　　//匹配非正浮点数（负浮点数&nbsp;+&nbsp;0）&nbsp;<br />
9。^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$　　//匹配负浮点数&nbsp;<br />
10。^(-?\d+)(\.\d+)?$　　//匹配浮点数&nbsp;<br />
11。^[A-Za-z]+$　　//匹配由26个英文字母组成的字符串&nbsp;<br />
12。^[A-Z]+$　　//匹配由26个英文字母的大写组成的字符串&nbsp;<br />
13。^[a-z]+$　　//匹配由26个英文字母的小写组成的字符串&nbsp;<br />
14。^[A-Za-z0-9]+$　　//匹配由数字和26个英文字母组成的字符串&nbsp;<br />
15。^\w+$　　//匹配由数字、26个英文字母或者下划线组成的字符串&nbsp;<br />
16。^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$　　　　//匹配email地址&nbsp;<br />
17。^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$　　//匹配url&nbsp;<br />
18。匹配中文字符的正则表达式：&nbsp;[\u4e00-\u9fa5]&nbsp;<br />
19。匹配双字节字符(包括汉字在内)：[^\x00-\xff]<br />
20。应用：计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）<br />
String.prototype.len=function(){return&nbsp;this.replace([^\x00-\xff]/g,"aa").length;}&nbsp;<br />
21。匹配空行的正则表达式：\n[\s|&nbsp;]*\r&nbsp;<br />
22。匹配HTML标记的正则表达式：/&lt;(.*)&gt;.*&lt;\/\1&gt;|&lt;(.*)&nbsp;\/&gt;/&nbsp;<br />
23。匹配首尾空格的正则表达式：(^\s*)|(\s*$)<br />
<br />
* 正则表达式用例<br />
&nbsp; * 1、^\S+[a-z A-Z]$ 不能为空 不能有空格&nbsp; 只能是英文字母<br />
&nbsp; * 2、\S{6,}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不能为空 六位以上<br />
&nbsp; * 3、^\d+$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不能有空格 不能非数字<br />
&nbsp; * 4、(.*)(\.jpg|\.bmp)$ 只能是jpg和bmp格式<br />
&nbsp; * 5、^\d{4}\-\d{1,2}-\d{1,2}$ 只能是2004-10-22格式<br />
&nbsp; * 6、^0$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 至少选一项<br />
&nbsp; * 7、^0{2,}$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 至少选两项<br />
&nbsp; * 8、^[\s|\S]{20,}$ 不能为空 二十字以上<br />
&nbsp; * 9、^\+?[a-z0-9](([-+.]|[_]+)?[a-z0-9]+)*@([a-z0-9]+(\.|\-))+[a-z]{2,6}$邮件<br />
&nbsp; * 10、\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([,;]\s*\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)* 输入多个地址用逗号或空格分隔邮件<br />
&nbsp; * 11、^(\([0-9]+\))?[0-9]{7,8}$电话号码7位或8位或前面有区号例如（022）87341628<br />
&nbsp; * 12、^[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+(\,[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+)*$<br />
&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; 只能是字母、数字、下划线；必须有@和.同时格式要规范 邮件<br />
&nbsp; * 13 ^\w+@\w+(\.\w+)+(\,\w+@\w+(\.\w+)+)*$上面表达式也可以写成这样子，更精练。<br />
&nbsp;&nbsp;&nbsp; 14&nbsp;&nbsp; ^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$ </p>
<img src ="http://www.blogjava.net/deve/aggbug/222606.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/deve/" target="_blank">EugeneCao</a> 2008-08-17 20:33 <a href="http://www.blogjava.net/deve/archive/2008/08/17/222606.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Web 开发人员常用速查表</title><link>http://www.blogjava.net/deve/archive/2008/07/09/213543.html</link><dc:creator>EugeneCao</dc:creator><author>EugeneCao</author><pubDate>Wed, 09 Jul 2008 02:34:00 GMT</pubDate><guid>http://www.blogjava.net/deve/archive/2008/07/09/213543.html</guid><wfw:comment>http://www.blogjava.net/deve/comments/213543.html</wfw:comment><comments>http://www.blogjava.net/deve/archive/2008/07/09/213543.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/deve/comments/commentRss/213543.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/deve/services/trackbacks/213543.html</trackback:ping><description><![CDATA[<p>速查表(Cheet sheet)可以帮助开发人员记住一些语法,概念等,打印出来放在手边,方便实用.<br />
</p>
<h3>HTML/XHTML</h3>
<h4>1. <a href="http://www.gosquared.com/liquidicity/archives/51">HTML Help Sheet</a></h4>
<p><a href="http://www.gosquared.com/liquidicity/archives/51"><img height="200" alt="HTML Help Sheet Screenshot" src="http://images.sixrevisions.com/2008/07/07-01_html_help_sheet.png" width="550" /></a></p>
<p></p>
<ul>
    <li><a href="http://www.gosquared.com/images/help_sheets/HTML%20Help%20Sheet.pdf">PDF</a></li>
</ul>
<h4>2. <a href="http://www.addedbytes.com/cheat-sheets/html-cheat-sheet/">HTML Cheat Sheet</a></h4>
<p><a href="http://www.addedbytes.com/cheat-sheets/html-cheat-sheet/"><img height="200" alt="HTML Cheat Sheet - Screen shot." src="http://images.sixrevisions.com/2008/07/07-02_html_cheat_sheet.png" width="550" /></a></p>
<ul>
    <li><a href="http://www.addedbytes.com/download/html-cheat-sheet-v1/pdf/">PDF</a></li>
    <li><a href="http://www.addedbytes.com/download/html-cheat-sheet-v1/png/">PNG</a></li>
</ul>
<h4>3. <a href="http://www.addedbytes.com/cheat-sheets/html-character-entities-cheat-sheet/">HTML Character Entities Cheat Sheet</a></h4>
<p><a href="http://www.addedbytes.com/cheat-sheets/html-character-entities-cheat-sheet/"><img height="200" alt="HTML Character Entities Cheat Sheet - Screen shot." src="http://images.sixrevisions.com/2008/07/07-03_html_character_entities.png" width="550" /></a></p>
<ul>
    <li><a href="http://www.addedbytes.com/download/html-character-entities-cheat-sheet/pdf/">PDF</a></li>
    <li><a href="http://www.addedbytes.com/download/html-character-entities-cheat-sheet/png/">PNG</a></li>
</ul>
<h4>4. <a href="http://floele.flyspray.org/htmlcheatsheet.pdf">XHTML Cheat Sheet v. 1.03</a> &#8211; PDF</h4>
<p><a href="http://floele.flyspray.org/htmlcheatsheet.pdf"><img height="200" alt="XHTML Cheat Sheet v. 1.03 - screen shot." src="http://images.sixrevisions.com/2008/07/07-04_xhtml_cheat_sheet.png" width="550" /></a></p>
<h3>CSS</h3>
<h4>5. <a href="http://www.addedbytes.com/cheat-sheets/css-cheat-sheet/">CSS Cheat Sheet (V2)</a></h4>
<p><a href="http://www.addedbytes.com/cheat-sheets/css-cheat-sheet/"><img height="200" alt="CSS Cheat Sheet (V2) - screen shot." src="http://images.sixrevisions.com/2008/07/07-05_css_cheat_sheet.png" width="550" /></a></p>
<ul>
    <li><a href="http://www.addedbytes.com/download/css-cheat-sheet-v2/pdf/">PDF</a></li>
    <li><a href="http://www.addedbytes.com/download/css-cheat-sheet-v2/png/">PNG</a></li>
</ul>
<h4>6. <a href="http://lesliefranke.com/files/reference/csscheatsheet.html">CSS Cheat Sheet</a></h4>
<p><a href="http://lesliefranke.com/files/reference/csscheatsheet.html"><img height="200" alt="CSS Cheat Sheet - screen shot." src="http://images.sixrevisions.com/2008/07/07-06_css_version_2.png" width="550" /></a></p>
<ul>
    <li><a href="http://lesliefranke.com/sandbox/ref/csscheatsheet.pdf">PDF</a></li>
    <li><a href="http://lesliefranke.com/sandbox/ref/csscheatsheet.html">HTML</a></li>
</ul>
<h4>7. <a href="http://www.leigeber.com/2008/04/css-shorthand-cheat-sheet/">CSS Shorthand Cheat Sheet</a></h4>
<p><a href="http://www.leigeber.com/2008/04/css-shorthand-cheat-sheet/"><img height="200" alt="CSS Shorthand Cheat Sheet - screen shot." src="http://images.sixrevisions.com/2008/07/07-07_shorthand_cheat_sheet.png" width="550" /></a></p>
<ul>
    <li><a href="http://www.leigeber.com/wp-content/uploads/2008/04/css-cheat-sheet.pdf">PDF</a></li>
</ul>
<h4>8. <a href="http://refcards.com/docs/deepx/css1/CSS1.pdf">CSS Level 1 Quick Reference</a> &#8211; PDF</h4>
<p><a href="http://refcards.com/docs/deepx/css1/CSS1.pdf"><img height="200" alt="CSS Level 1 Quick Reference - screen shot." src="http://images.sixrevisions.com/2008/07/07-08_css_level_1.png" width="550" /></a></p>
<h4>9. <a href="http://refcards.com/docs/jungb/css2/css2.pdf">CSS Level 2 Quick Reference</a> &#8211; PDF</h4>
<p><a href="http://refcards.com/docs/jungb/css2/css2.pdf"><img height="200" alt="CSS Level 2 Quick Reference - screen shot." src="http://images.sixrevisions.com/2008/07/07-09_css_level_2.png" width="550" /></a></p>
<h4>10. <a href="http://www.explainth.at/downloads/cssquick.pdf">CSS2.1 Quick Reference Card</a> &#8211; PDF</h4>
<p><a href="http://www.explainth.at/downloads/cssquick.pdf"><img height="200" alt="CSS2.1 Quick Reference Card - screen shot." src="http://images.sixrevisions.com/2008/07/07-10_css21_quick_reference_card.png" width="550" /></a></p>
<h4>11. <a href="http://www.veign.com/downloads/guides/qrg0007.pdf">CSS2 Reference Guide</a> &#8211; PDF</h4>
<p><a href="http://www.veign.com/downloads/guides/qrg0007.pdf"><img height="200" alt="CSS2 Reference Guide - screen shot." src="http://images.sixrevisions.com/2008/07/07-11_css_quick_reference.png" width="550" /></a></p>
<h3>JavaScript</h3>
<h4>12. <a href="http://www.addedbytes.com/cheat-sheets/javascript-cheat-sheet/">JavaScript Cheat Sheet</a></h4>
<p><a href="http://www.addedbytes.com/cheat-sheets/javascript-cheat-sheet/"><img height="200" alt="JavaScript Cheat Sheet - screen shot." src="http://images.sixrevisions.com/2008/07/07-12_javascript_cheat_sheet.png" width="550" /></a></p>
<ul>
    <li><a href="http://www.addedbytes.com/download/javascript-cheat-sheet-v1/pdf/">PDF</a></li>
    <li><a href="http://www.addedbytes.com/download/javascript-cheat-sheet-v1/png/">PNG</a></li>
</ul>
<h4>13. <a href="http://wps.aw.com/wps/media/objects/2234/2287950/javascript_refererence.pdf">Addison-Wesley&#8217;s JavaScript Reference Card</a> &#8211; PDF</h4>
<p><a href="http://wps.aw.com/wps/media/objects/2234/2287950/javascript_refererence.pdf"><img height="200" alt="Addison-Wesley's JavaScript Reference Card - screen shot." src="http://images.sixrevisions.com/2008/07/07-13_javascript_reference_card.png" width="550" /></a></p>
<h4>14. <a href="http://www.dannyg.com/ref/jsquickref.html">JavaScript and Browser Objects Quick Reference</a></h4>
<p><a href="http://www.dannyg.com/ref/jsquickref.html"><img height="200" alt="JavaScript and Browser Objects Quick Reference - screen shot." src="http://images.sixrevisions.com/2008/07/07-14_javascript_and_browser_object.png" width="550" /></a></p>
<ul>
    <li><a href="http://www.dannyg.com/dl/JSB6RefBooklet.pdf">PDF</a></li>
</ul>
<h4>15. <a href="http://www.wait-till-i.com/stuff/JavaScript-DOM-Cheatsheet.pdf">The most common DOM methods at a glance</a> &#8211; PDF</h4>
<p><a href="http://www.wait-till-i.com/stuff/JavaScript-DOM-Cheatsheet.pdf"><img height="200" alt="The most common DOM methods at a glance - Screen shot." src="http://images.sixrevisions.com/2008/07/07-15_most_common_dom.png" width="550" /></a></p>
<h4>16. <a href="http://www.explainth.at/en/qr/jsqr.shtml">JavaScript Quick Reference Card/Cheatsheet</a></h4>
<p><a href="http://www.explainth.at/en/qr/jsqr.shtml"><img height="200" alt="avaScript Quick Reference Card/Cheatsheet - Screen shot." src="http://images.sixrevisions.com/2008/07/07-16_explainthat_reference_card.png" width="550" /></a></p>
<ul>
    <li><a href="http://www.explainth.at/downloads/jsquick.pdf">PDF</a></li>
</ul>
<h4>17. <a href="http://mediavrog.net/blog/2008/06/11/mootools/mootools-12-cheat-sheet/">mootools 1.2 cheat sheet</a></h4>
<p><a href="http://mediavrog.net/blog/2008/06/11/mootools/mootools-12-cheat-sheet/"><img height="200" alt="mootools 1.2 cheat sheet - screen shot." src="http://images.sixrevisions.com/2008/07/07-17_mootools_1_2_cheatsheet.png" width="550" /></a></p>
<ul>
    <li><a href="http://mediavrog.net/blog/wp-content/uploads/2008/06/mootools-12-cheat-sheet.pdf">PDF</a></li>
</ul>
<h4>18. <a href="http://colorcharge.com/jquery/">jQuery Cheatsheet</a></h4>
<p><a href="http://colorcharge.com/jquery/"><img height="200" alt="jQuery Cheatsheet - screen shot." src="http://images.sixrevisions.com/2008/07/07-18_jquery_cheatsheet.png" width="550" /></a></p>
<ul>
    <li><a href="http://colorcharge.com/wp-content/uploads/2007/12/jquery12_colorcharge.png">PNG</a></li>
</ul>
<h4>19. <a href="http://www.gscottolson.com/weblog/2008/01/11/jquery-cheat-sheet/">jQuery 1.2 Cheat Sheet</a></h4>
<p><a href="http://www.gscottolson.com/weblog/2008/01/11/jquery-cheat-sheet/"><img height="200" alt="jQuery 1.2 Cheat Sheet - screen shot." src="http://images.sixrevisions.com/2008/07/07-19_jquery_1_2_cheat_sheet.png" width="550" /></a></p>
<ul>
    <li><a href="http://www.gscottolson.com/jquery/jQuery1.2.cheatsheet.v1.0.pdf">PDF</a></li>
</ul>
<h4>20. <a href="http://jquery.com/images/jQuery-Map.png">jQuery Visual Map</a> &#8211; PNG</h4>
<p><a href="http://jquery.com/images/jQuery-Map.png"><img height="200" alt="jQuery Visual Map - screen shot." src="http://images.sixrevisions.com/2008/07/07-20_jquery_visual_map.jpg" width="550" /></a></p>
<h3>Miscellaneous</h3>
<h4>21. <a href="http://www.addedbytes.com/cheat-sheets/colour-chart/">RGB Hex Colour Chart</a></h4>
<p><a href="http://www.addedbytes.com/cheat-sheets/colour-chart/"><img height="200" alt="RGB Hex Colour Chart - screen shot." src="http://images.sixrevisions.com/2008/07/07-21_rgb_colour_codes.png" width="550" /></a></p>
<ul>
    <li><a href="http://www.addedbytes.com/download/rgb-hex-cheat-sheet-v1/pdf/">PDF</a></li>
    <li><a href="http://www.addedbytes.com/download/rgb-hex-cheat-sheet-v1/png/">PNG</a></li>
</ul>
<h4>22. <a href="http://www.seomoz.org/blog/the-web-developers-seo-cheat-sheet">The Web Developer&#8217;s SEO Cheat Sheet</a></h4>
<p><a href="http://www.seomoz.org/blog/the-web-developers-seo-cheat-sheet"><img height="200" alt="The Web Developer's SEO Cheat Sheet - screen shot" src="http://images.sixrevisions.com/2008/07/07-22_web_developer_seo.png" width="550" /></a></p>
<ul>
    <li><a href="http://www.seomoz.org/user_files/SEO_Web_Developer_Cheat_Sheet.pdf">PDF</a></li>
</ul>
<h4>23. <a href="http://wpcandy.com/articles/tutorials/the-wordpress-help-sheet.html">The WordPress Help Sheet</a></h4>
<p><a href="http://wpcandy.com/articles/tutorials/the-wordpress-help-sheet.html"><img height="200" alt="The WordPress Help Sheet - screen shot." src="http://images.sixrevisions.com/2008/07/07-23_wordpress_help_sheet.png" width="550" /></a></p>
<ul>
    <li><a href="http://wpcandy.com/wp-content/uploads/WordPress-Help-Sheet.pdf">PDF</a></li>
</ul>
<p>一个驻扎在天津的普通程序员，当个PM,TL,CODER 就是没有当过CEO。<br />
<span style="color: #0000ff"><strong>My idiom:Where there is a will,there is a way!</strong></span><br />
注：加班写作，转载请著名出处！！ </p>
<img src ="http://www.blogjava.net/deve/aggbug/213543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/deve/" target="_blank">EugeneCao</a> 2008-07-09 10:34 <a href="http://www.blogjava.net/deve/archive/2008/07/09/213543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>James Email Server 概念--1.摘要。</title><link>http://www.blogjava.net/deve/archive/2008/04/24/195648.html</link><dc:creator>EugeneCao</dc:creator><author>EugeneCao</author><pubDate>Thu, 24 Apr 2008 09:15:00 GMT</pubDate><guid>http://www.blogjava.net/deve/archive/2008/04/24/195648.html</guid><wfw:comment>http://www.blogjava.net/deve/comments/195648.html</wfw:comment><comments>http://www.blogjava.net/deve/archive/2008/04/24/195648.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/deve/comments/commentRss/195648.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/deve/services/trackbacks/195648.html</trackback:ping><description><![CDATA[<p>Java Apache 企业邮件服务(又名:Apache James) 是利用纯java编写的，支持SMTP和POP3邮件服务和NNTP新闻服务，是完整和便携的企业级邮件引擎解决方案。James当前基于可用的开放协议。</p>
<p>James Server也是一个邮件应用平台。James工程同时开发Apache Mailet API,并且James Server 是一个Mailet容器，这点使得邮件处理更容易设计，编写和部署自定义的应用程序。模块化和自定义是James的优点，它允许管理员去创建强大易用的应用程序。</p>
<p>James构建在Avalon Application Framework，这个框架促进了许多开发实践，例如面向组件开发和IOC。James囊括了Phoenix Avalon Framework container，它为James server奠定了强大和稳定的基础。</p>
<p>这篇文档介绍了James的概念和James的实现，还有安装、配置手册，为开发人员build James Server。</p>
<p><br />
I. James 概念<br />
<strong>摘要(summary):</strong><br />
<strong>--The James Server</strong><br />
James 是一个开源项目,为了创建一个坚固,灵活,强大的企业类服务,并可提供邮件和邮件相关的服务.也被设计为高可定制性,允许管理员去灵活配置James.<br />
James Server 是构建在Avalon Framework上的.标准的James发行版本包括了Phoenix Avalon Framework 容器.除了为James提供坚固的服务架构,Phoenix 的使用允许James管理员去部署它们自己的应用程序到容器中.这些应用程序在邮件处理过程中能被调用.</p>
<p>James server的实现由一些完整的服务集合和相关的组件构成,集成在一起,实现邮件解决方案.这些组件描述如下.</p>
<p><strong>--POP3 Service</strong><br />
POP3 协议允许用户去获取邮件消息,普遍用于客户端下载和管理邮件信息.</p>
<p>James是POP3服务的一个简单直接实现,它与规范一致并且最大化兼容通用的POP3客户端.此外,James能让POP3客户端使用SSL/TLS连接.</p>
<p><strong>--SMTP Service</strong><br />
SMTP是在internet上发送和转移emali的标准方法.James提供基于SMTP规范所有功能的实现,支持一些可选特性,例如消息大小限制,SMTP验证,加密的 客户/服务器 通信.</p>
<p><strong>--NNTP Service<br />
</strong>NNTP用于客户端从新闻服务器存储和获取消息.James通过实现NNTP规范实现了服务的交互,还有为存储新闻消息所提供的仓库.James简单和直接的实现,但支持一些额外的特性,例如NNTP验证,加密的 客户/服务器 通信.</p>
<p><strong>--FetchMail</strong><br />
FetchMail ,不像其他的James组件,这不是一个RFC的实现.然而,这个组件允许管理去配置James,能够从更多的POP3服务获取Email和转移邮件到本地.这方便在不同的机器上的多个账户合并邮件转移到一个用户(This is useful for consolidating mail delivered to a number of accounts on different machines to a single account.)</p>
<p><strong>---The SpoolManager, Matchers, and Mailets</strong><br />
当James处理收来的邮件时,James从引擎上区分不同的服务(SMTP,FecthMail)来转移邮件.SpoolManager 组件是James的邮件处理引擎.James的SpoolManager组件是一个Mailet容器,It is these mailets and matchers that actually carry out mail processing.</p>
<p><strong>--Repositories<br />
</strong>James有许多不同的仓库去存储消息数据(email,news messages) 和用户信息.用户仓库存储用户信息,包括用户名验证信息和别名.邮件仓库存储已被转移的消息.Spool仓库存储正在被处理的消息.最后,新闻仓库被用作存储新闻消息.另外,他们存储什么类型的数据,仓库以数据存储在什么地方来区分.有3种存储类型--File,Database 和DBFile.</p>
<p><strong>--RemoteManager<br />
</strong>James提供一个简单的telnet-base 控制接口,通过这个接口你能添加和删除用户,配置每个用户的别名和forward addresses和停止服务.</p>
 <img src ="http://www.blogjava.net/deve/aggbug/195648.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/deve/" target="_blank">EugeneCao</a> 2008-04-24 17:15 <a href="http://www.blogjava.net/deve/archive/2008/04/24/195648.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>五项沟通原则 Interaction Guidelines</title><link>http://www.blogjava.net/deve/archive/2008/04/20/194393.html</link><dc:creator>EugeneCao</dc:creator><author>EugeneCao</author><pubDate>Sun, 20 Apr 2008 14:55:00 GMT</pubDate><guid>http://www.blogjava.net/deve/archive/2008/04/20/194393.html</guid><wfw:comment>http://www.blogjava.net/deve/comments/194393.html</wfw:comment><comments>http://www.blogjava.net/deve/archive/2008/04/20/194393.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/deve/comments/commentRss/194393.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/deve/services/trackbacks/194393.html</trackback:ping><description><![CDATA[<p>五项沟通原则 Interaction Guidelines <br />
（一）、维护自尊 加强自信； KP1：Maintain or enhance self-esteem<br />
（二）、仔细聆听 善意回应； KP2：Listen and respond with empathy<br />
（三）、谋求协助 促进参与； KP3：Ask for help and encourage involvement<br />
（四）、分享感受 传情达理； KP4：Share thoughts, feelings, and rationale<br />
（五）、给予支持 鼓励承担； KP5：Provide support without removing responsibility</p>
<p>目标管理的SMART原则，即是： </p>
<p>　　1. 目标必须是具体的（Specific）； </p>
<p>　　2. 目标必须是可以衡量的（Measurable）； </p>
<p>　　3. 目标必须是可以达到的（Attainable）； </p>
<p>　　4. 目标必须和其他目标具有相关性（Relevant）； </p>
<p>　　5. 目标必须具有明确的截止期限（Time-based）；</p>
<img src ="http://www.blogjava.net/deve/aggbug/194393.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/deve/" target="_blank">EugeneCao</a> 2008-04-20 22:55 <a href="http://www.blogjava.net/deve/archive/2008/04/20/194393.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>你对世界了解多少？</title><link>http://www.blogjava.net/deve/archive/2008/04/18/194117.html</link><dc:creator>EugeneCao</dc:creator><author>EugeneCao</author><pubDate>Fri, 18 Apr 2008 14:27:00 GMT</pubDate><guid>http://www.blogjava.net/deve/archive/2008/04/18/194117.html</guid><wfw:comment>http://www.blogjava.net/deve/comments/194117.html</wfw:comment><comments>http://www.blogjava.net/deve/archive/2008/04/18/194117.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/deve/comments/commentRss/194117.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/deve/services/trackbacks/194117.html</trackback:ping><description><![CDATA[一共12个level，你能了解多少？<br />
<br />
<div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; width: 625px; color: #ffffff; padding-top: 0px; font-family: tahoma,verdana,arial,sans-serif; background-color: #000000; text-align: right"><embed name="TravelerIQ" pluginspage="http://www.macromedia.com/go/getflashplayer" align="center" src="http://tiq.travelpod.com/bin/flash/container.swf" width="625" height="500" type="application/x-shockwave-flash" flashvars="gamexml=http://tiq.travelpod.com/cgi-bin/witw?SessionID=00-traveleriq-game1&amp;gameswf=http://tiq.travelpod.com/bin/flash/witw-00.swf" allowscriptaccess="always" wmode="opaque" bgcolor="#000000" quality="high"></embed><br />
<!-- Use of this widget is subject to the terms stated here: http://www.travelpod.com/cgi-bin/help.pl?tweb_helpID=widget_terms -->
<div style="font-size: 10px; width: 625px; color: #ffffff; font-family: tahoma,verdana,arial,sans-serif; background-color: #000000; text-align: right">brought to you by <a href="http://www.travelpod.com" rel="nofollow"><font style="color: #ffff00">TravelPod</font></a>, the Web's First <a href="http://www.travelpod.com"><font style="color: #ffff00">Travel Blog</font></a> ( A <a href="http://www.tripadvisor.com"><font style="color: #ffff00">TripAdvisor</font></a> Media Network partner )&nbsp; </div>
</div>
<img src ="http://www.blogjava.net/deve/aggbug/194117.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/deve/" target="_blank">EugeneCao</a> 2008-04-18 22:27 <a href="http://www.blogjava.net/deve/archive/2008/04/18/194117.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>What do you think about it!??</title><link>http://www.blogjava.net/deve/archive/2007/10/09/151414.html</link><dc:creator>EugeneCao</dc:creator><author>EugeneCao</author><pubDate>Tue, 09 Oct 2007 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/deve/archive/2007/10/09/151414.html</guid><wfw:comment>http://www.blogjava.net/deve/comments/151414.html</wfw:comment><comments>http://www.blogjava.net/deve/archive/2007/10/09/151414.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/deve/comments/commentRss/151414.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/deve/services/trackbacks/151414.html</trackback:ping><description><![CDATA[<span style="color: red"><strong><span style="font-size: 18pt"><span style="color: red"><strong>What do you think about it!??!</strong></span><br />
</span></strong></span>
<object height="440" width="580" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" xcodebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
<param name="Movie" value="http://www.poodwaddle.com/earthclock.swf"    /><param name="Quality" value="high"   /><param name="wmode" value="transparent"   /><param name="bgcolor" value="#ffffff"   /><embed src="http://www.poodwaddle.com/earthclock.swf" width="580" height="440" quality="high" wmode="transparent" bgcolor="#ffffff" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"   ></embed>
</object>
<img src ="http://www.blogjava.net/deve/aggbug/151414.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/deve/" target="_blank">EugeneCao</a> 2007-10-09 15:32 <a href="http://www.blogjava.net/deve/archive/2007/10/09/151414.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>猪肉终于翻身了！！！</title><link>http://www.blogjava.net/deve/archive/2007/08/06/134663.html</link><dc:creator>EugeneCao</dc:creator><author>EugeneCao</author><pubDate>Mon, 06 Aug 2007 03:42:00 GMT</pubDate><guid>http://www.blogjava.net/deve/archive/2007/08/06/134663.html</guid><wfw:comment>http://www.blogjava.net/deve/comments/134663.html</wfw:comment><comments>http://www.blogjava.net/deve/archive/2007/08/06/134663.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/deve/comments/commentRss/134663.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/deve/services/trackbacks/134663.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/deve/archive/2007/08/06/134663.html'>阅读全文</a><img src ="http://www.blogjava.net/deve/aggbug/134663.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/deve/" target="_blank">EugeneCao</a> 2007-08-06 11:42 <a href="http://www.blogjava.net/deve/archive/2007/08/06/134663.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>小心你笔记本的螺丝！！！</title><link>http://www.blogjava.net/deve/archive/2007/08/04/134438.html</link><dc:creator>EugeneCao</dc:creator><author>EugeneCao</author><pubDate>Sat, 04 Aug 2007 13:41:00 GMT</pubDate><guid>http://www.blogjava.net/deve/archive/2007/08/04/134438.html</guid><wfw:comment>http://www.blogjava.net/deve/comments/134438.html</wfw:comment><comments>http://www.blogjava.net/deve/archive/2007/08/04/134438.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/deve/comments/commentRss/134438.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/deve/services/trackbacks/134438.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/deve/archive/2007/08/04/134438.html'>阅读全文</a><img src ="http://www.blogjava.net/deve/aggbug/134438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/deve/" target="_blank">EugeneCao</a> 2007-08-04 21:41 <a href="http://www.blogjava.net/deve/archive/2007/08/04/134438.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用AOP实现性能管理[译]</title><link>http://www.blogjava.net/deve/archive/2007/08/04/134412.html</link><dc:creator>EugeneCao</dc:creator><author>EugeneCao</author><pubDate>Sat, 04 Aug 2007 09:13:00 GMT</pubDate><guid>http://www.blogjava.net/deve/archive/2007/08/04/134412.html</guid><wfw:comment>http://www.blogjava.net/deve/comments/134412.html</wfw:comment><comments>http://www.blogjava.net/deve/archive/2007/08/04/134412.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/deve/comments/commentRss/134412.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/deve/services/trackbacks/134412.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 应用开发人员使用一些传统的技术去监控性能管理。使用像PotimizeIt,JProbe 等通用的调试工具。另一个传统的方法是在代码的特殊地方插入时间和有用的信息。商业的性能管理工具同样使用不同的技术，例如 在类装载时的字节码探测，或者使用应用服务器的拦截器去修饰类。在此文中，我们介绍 一种 使用 Aspect Oriented Programming (AOP)的灵活多变的机制来处理应用程序性能管理。&nbsp;&nbsp;<a href='http://www.blogjava.net/deve/archive/2007/08/04/134412.html'>阅读全文</a><img src ="http://www.blogjava.net/deve/aggbug/134412.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/deve/" target="_blank">EugeneCao</a> 2007-08-04 17:13 <a href="http://www.blogjava.net/deve/archive/2007/08/04/134412.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>家！！！</title><link>http://www.blogjava.net/deve/archive/2007/08/04/134397.html</link><dc:creator>EugeneCao</dc:creator><author>EugeneCao</author><pubDate>Sat, 04 Aug 2007 07:13:00 GMT</pubDate><guid>http://www.blogjava.net/deve/archive/2007/08/04/134397.html</guid><wfw:comment>http://www.blogjava.net/deve/comments/134397.html</wfw:comment><comments>http://www.blogjava.net/deve/archive/2007/08/04/134397.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/deve/comments/commentRss/134397.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/deve/services/trackbacks/134397.html</trackback:ping><description><![CDATA[房子不等于家。构成房子的是物质材料，构成&#8220;家&#8221; 既需要物质的更需要精神的&#8220;材料&#8221;。<br>家----信任是基地，爱是支柱，理解是屋顶，包容是墙。在这个空间里面，融汇着亲情，交流着悲欢，孕育着希望，创造着能量。<br>家，物质是外壳，精神是实质。<br><br>以前的blog地址:&nbsp; <a href="http://deve.blogdriver.com/">http://deve.blogdriver.com</a> 
<img src ="http://www.blogjava.net/deve/aggbug/134397.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/deve/" target="_blank">EugeneCao</a> 2007-08-04 15:13 <a href="http://www.blogjava.net/deve/archive/2007/08/04/134397.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>