﻿<?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-假啊假(JAAJ)-JavaAjax开发团队</title><link>http://JAAJ.blogjava.net/</link><description>致力于JavaAjax技术等开发</description><language>zh-cn</language><lastBuildDate>Mon, 15 Jun 2026 09:28:26 GMT</lastBuildDate><pubDate>Mon, 15 Jun 2026 09:28:26 GMT</pubDate><ttl>60</ttl><item><title>代替过期的getSession.connection()方法,在hibernate中用jdbc连接数据源</title><link>http://www.blogjava.net/itvincent/archive/2008/01/30/178490.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Wed, 30 Jan 2008 03:54:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2008/01/30/178490.html</guid><description><![CDATA[<p>今天一同事要在struts + spring + hibernate下使用jdbc,但发现在HibernateDaoSupport 的getSession.connection()已经deprecated了,<br />
public Connection connection() throws HibernateException;上有句说明</p>
<dt>@deprecated
<dd>To be replaced with a SPI for performing work against the connection; scheduled for removal in 4.x</dd>
<p>上去查了一下资料,竟然现在是没有替代方法的...-0-汗<br />
虽然使用connection()还是可以的,但是考虑到今后的变化,还是得找个代替方法.<br />
spring中有个工具类支持了这样一个功能,并且不是依赖connection()方法的,如下:<br />
SessionFactoryUtils.getDataSource(getSessionFactory());</p>
  <img src ="http://JAAJ.blogjava.net/aggbug/178490.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2008-01-30 11:54 <a href="http://www.blogjava.net/itvincent/archive/2008/01/30/178490.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自己写的一个log4j.xml</title><link>http://www.blogjava.net/itvincent/archive/2007/08/07/135029.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Tue, 07 Aug 2007 10:21:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2007/08/07/135029.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 介绍log4j.xml文件的一些配置写法<br>appender file html console&nbsp;&nbsp;<a href='http://www.blogjava.net/itvincent/archive/2007/08/07/135029.html'>阅读全文</a><img src ="http://JAAJ.blogjava.net/aggbug/135029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2007-08-07 18:21 <a href="http://www.blogjava.net/itvincent/archive/2007/08/07/135029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSF html标签(2)</title><link>http://www.blogjava.net/itvincent/archive/2007/04/27/114077.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Fri, 27 Apr 2007 06:29:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2007/04/27/114077.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 命令类标签包括commandButton与commandLink&nbsp;&nbsp;<a href='http://www.blogjava.net/itvincent/archive/2007/04/27/114077.html'>阅读全文</a><img src ="http://JAAJ.blogjava.net/aggbug/114077.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2007-04-27 14:29 <a href="http://www.blogjava.net/itvincent/archive/2007/04/27/114077.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSF html标签(1)</title><link>http://www.blogjava.net/itvincent/archive/2007/04/27/114074.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Fri, 27 Apr 2007 06:23:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2007/04/27/114074.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Jsf提供了一套标准的html标签。可以让您搭配JSF组件输出HTML文件，标准的HTML Renderer Kit主要包括了......&nbsp;&nbsp;<a href='http://www.blogjava.net/itvincent/archive/2007/04/27/114074.html'>阅读全文</a><img src ="http://JAAJ.blogjava.net/aggbug/114074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2007-04-27 14:23 <a href="http://www.blogjava.net/itvincent/archive/2007/04/27/114074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSF技术研究——第一个JSF程序</title><link>http://www.blogjava.net/itvincent/archive/2006/12/26/90139.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Tue, 26 Dec 2006 09:05:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/12/26/90139.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 开门第一篇，当然是要做一个JSF程序，增强点信心和兴趣吧，学习JSF第一步&nbsp;&nbsp;<a href='http://www.blogjava.net/itvincent/archive/2006/12/26/90139.html'>阅读全文</a><img src ="http://JAAJ.blogjava.net/aggbug/90139.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-12-26 17:05 <a href="http://www.blogjava.net/itvincent/archive/2006/12/26/90139.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSF技术研究——几个JSF流行名词的解释</title><link>http://www.blogjava.net/itvincent/archive/2006/12/21/89224.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Thu, 21 Dec 2006 02:55:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/12/21/89224.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 解答一个初学者的困惑，大家听得比较多的是，JSF1.1，JSF1.2，myfaces,oracle ADF,ajax4jsf，facelets,它们究竟是什么，有什么关系呢？<br><br>&nbsp;&nbsp;<a href='http://www.blogjava.net/itvincent/archive/2006/12/21/89224.html'>阅读全文</a><img src ="http://JAAJ.blogjava.net/aggbug/89224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-12-21 10:55 <a href="http://www.blogjava.net/itvincent/archive/2006/12/21/89224.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>试用JDK 6.0的兼容情况</title><link>http://www.blogjava.net/itvincent/archive/2006/12/14/87637.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Thu, 14 Dec 2006 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/12/14/87637.html</guid><description><![CDATA[   昨天看到JDK6.0 Release了,上SUN去下载回来安装,跑eclipse,tomcat,jboss均没问题,大部分项目编译没问题,出现一个类编译出错,因为类里用到了一个com.sun的包,新版本里没有这个包了，兼容性还可以。<br />   然后再用6.0的编译器编译,需eclipse3.2支持,也是一样通过编译。关键时刻到了，运行我的一个JSF项目时，一开始没什么问题，不过后来偶然报出程序的异常，只有重复再编译几次，重新deploy或者重启服务器才行，之前这个程序在5.0下是没有问题的。看来兼容性又打了一些折扣，建议现有项目不要使用6.0编译器编译。<img src ="http://JAAJ.blogjava.net/aggbug/87637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-12-14 10:30 <a href="http://www.blogjava.net/itvincent/archive/2006/12/14/87637.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Dojo笔记一</title><link>http://www.blogjava.net/itvincent/archive/2006/12/07/86105.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Thu, 07 Dec 2006 07:52:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/12/07/86105.html</guid><description><![CDATA[
		<p>Dojo 是一个具有许多功能的丰富库，包括：</p>
		<ul>
				<li>处理 html、字符串、样式、dom、正则表达式和若干其他实用工具的通用库。 
</li>
				<li>包括字典、ArraryLists、队列、SortedList、设置和堆栈的数据结构。 
</li>
				<li>用于添加动画效果、验证、拖放和若干其他功能的可视化 Web 实用工具。 
</li>
				<li>数学和加密库。 
</li>
				<li>存储组件。 
</li>
				<li>XML 解析 </li>
		</ul>
		<p>   它有个非常好用的widget库,纯净html标签,只须加入dojoType属性,就可使原本的html标签变成它自己的dojo widget。widget的CSS完全可自定制，掌握初步的使用方法，可参照test/widget目录下的例子，如果要全面掌握所有参数，还是要自己看看src了，里面有一些注释可以参照一下。<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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">button </span>
				<span style="COLOR: #ff0000">dojoType</span>
				<span style="COLOR: #0000ff">="Button"</span>
				<span style="COLOR: #ff0000"> onclick</span>
				<span style="COLOR: #0000ff">='dojo.debug("clicked </span>
				<span style="COLOR: #ff0000">simple")'</span>
				<span style="COLOR: #0000ff">/&gt;</span>
		</div>
		<p>
				<br />
				<br />   dojo.io.bind实现了XMLHttpRequest里的大部分功能<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_13_152_Open_Image" onclick="this.style.display='none'; Codehighlighter1_13_152_Open_Text.style.display='none'; Codehighlighter1_13_152_Closed_Image.style.display='inline'; Codehighlighter1_13_152_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
				<img id="Codehighlighter1_13_152_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_13_152_Closed_Text.style.display='none'; Codehighlighter1_13_152_Open_Image.style.display='inline'; Codehighlighter1_13_152_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				<span style="COLOR: #000000">dojo.io.bind(</span>
				<span id="Codehighlighter1_13_152_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
				</span>
				<span id="Codehighlighter1_13_152_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            url: </span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">http://localhost:8080/test/test</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">,<br /><img id="Codehighlighter1_98_118_Open_Image" onclick="this.style.display='none'; Codehighlighter1_98_118_Open_Text.style.display='none'; Codehighlighter1_98_118_Closed_Image.style.display='inline'; Codehighlighter1_98_118_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_98_118_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_98_118_Closed_Text.style.display='none'; Codehighlighter1_98_118_Open_Image.style.display='inline'; Codehighlighter1_98_118_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            load: function(type, data, evt)</span>
						<span id="Codehighlighter1_98_118_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						</span>
						<span id="Codehighlighter1_98_118_Open_Text">
								<span style="COLOR: #000000">{ dojo.debug(data); }</span>
						</span>
						<span style="COLOR: #000000">,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            mimetype: </span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">text/plain</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />        }</span>
				</span>
				<span style="COLOR: #000000">);</span>
		</div>
		<p>
				<br />
				<br />   dojo.event.connect就如AOP机制那样，动态将方法添加到对象上<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">
				<span style="COLOR: #008080">1</span>
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">dojo.event.connect(button, 'onClick', 'submitFunction');<br /></span>
				<span style="COLOR: #008080">2</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
		<p>
				<br />
				<br />   </p>
<img src ="http://JAAJ.blogjava.net/aggbug/86105.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-12-07 15:52 <a href="http://www.blogjava.net/itvincent/archive/2006/12/07/86105.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在ＣＳＤＮ上看到个关于String的问题</title><link>http://www.blogjava.net/itvincent/archive/2006/12/04/85286.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Mon, 04 Dec 2006 02:22:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/12/04/85286.html</guid><description><![CDATA[
		<p>在ＣＳＤＮ上看到个String的问题,趁机会自己总结一下,问题是这样的：<br />String a = "JAVA";<br />String b = "JAVA";<br />String c = new String("JAVA");<br />String d = "JA";<br />String e = "VA";<br />String f = "JA"+"VA";<br />String g = d+e;<br />String h = c; <br />System.out.println(a==b);//TRUE<br />System.out.println(a==c);//FALSE<br />System.out.println(a==f);//TRUE<br />System.out.println(a==g);//FALSE<br />System.out.println(c==f);//FALSE<br />System.out.println(c==g);//FALSE<br />System.out.println(c==h);//TRUE<br />//为什么a==g是FALSE呢？</p>
		<p>下面逐一的说:</p>
		<p>System.out.println(a==b);//TRUE   通过String str=""这种方式获得的相同内容的String指向同一个intern对象,不会重复创建新的对象<br />       <br />System.out.println(a==c);//FALSE  通过new String(）方式生成的是一个新的对象，可通过intern()方法指向同一个intern对象</p>
		<p>System.out.println(a==f);//TRUE     "JA"+"VA";会在编译期换为"JAVA"</p>
		<p>System.out.println(a==g);//FALSE　d+e后，是新的String了，不会在编译期完成<br />System.out.println(c==f);//FALSE　这个很简单，地球人都知道<br />System.out.println(c==g);//FALSE　这个很简单，地球人都知道<br />System.out.println(c==h);//TRUE　这个很简单，地球人都知道</p>
		<p> </p>
<img src ="http://JAAJ.blogjava.net/aggbug/85286.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-12-04 10:22 <a href="http://www.blogjava.net/itvincent/archive/2006/12/04/85286.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>又拿起被遗忘很久的正则表达式</title><link>http://www.blogjava.net/UkingLli/archive/2006/11/16/81540.html</link><dc:creator>展昭</dc:creator><author>展昭</author><pubDate>Thu, 16 Nov 2006 07:46:00 GMT</pubDate><guid>http://www.blogjava.net/UkingLli/archive/2006/11/16/81540.html</guid><description><![CDATA[近来需要写一些JSF的Validator，于是想起来用正则表达式，果然是书到用时方恨少，居然除了[a-z] ,\d 这些以外什么都想不起来了。<br />上网找寻了一些资料如下：<br /><br /><font style="BACKGROUND-COLOR: #ffff00"> 匹配中文字符的正则表达式： [\u4e00-\u9fa5]<br /><br />匹配双字节字符(包括汉字在内)：[^\x00-\xff]<br /><br />应用：计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）<br /><br />String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}<br /><br />匹配空行的正则表达式：\n[\s| ]*\r<br /><br />匹配HTML标记的正则表达式：/&lt;(.*)&gt;.*&lt;\/\1&gt;|&lt;(.*) \/&gt;/ <br /><br />匹配首尾空格的正则表达式：(^\s*)|(\s*$)<br /><br />应用：javascript中没有像vbscript那样的trim函数，我们就可以利用这个表达式来实现，如下：<br /><br />String.prototype.trim = function()<br />{<br />return this.replace(/(^\s*)|(\s*$)/g, "");<br />}<br /><br />利用正则表达式分解和转换IP地址：<br /><br />下面是利用正则表达式匹配IP地址，并将IP地址转换成对应数值的Javascript程序：<br /><br />function IP2V(ip)<br />{<br />re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式<br />if(re.test(ip))<br />{<br />return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1<br />}<br />else<br />{<br />throw new Error("Not a valid IP address!")<br />}<br />}<br /><br />不过上面的程序如果不用正则表达式，而直接用split函数来分解可能更简单，程序如下：<br /><br />var ip="10.100.20.168"<br />ip=ip.split(".")<br />alert("IP值是："+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))<br /><br />匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*<br /><br />匹配网址URL的正则表达式：http://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?<br /><br />利用正则表达式去除字串中重复的字符的算法程序：[注：此程序不正确，原因见本贴回复]<br /><br />var s="abacabefgeeii"<br />var s1=s.replace(/(.).*\1/g,"$1")<br />var re=new RegExp("["+s1+"]","g")<br />var s2=s.replace(re,"") <br />alert(s1+s2) //结果为：abcefgi<br /><br />我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法，最终没有找到，这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符，再以重复的字符建立第二个表达式，取到不重复的字符，两者串连。这个方法对于字符顺序有要求的字符串可能不适用。<br /><br />得用正则表达式从URL地址中提取文件名的javascript程序，如下结果为page1<br /><br />s="http://www.9499.net/page1.htm"<br />s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")<br />alert(s)<br /><br />利用正则表达式限制网页表单里的文本框输入内容：<br /><br />用正则表达式限制只能输入中文：onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"<br /><br />用正则表达式限制只能输入全角字符： onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"<br /><br />用正则表达式限制只能输入数字：onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"<br /><br />用正则表达式限制只能输入数字和英文：onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"</font><br /><br />同时找到一个可以测试正则表达式的正确性的小软件，很不错，居然可以语法高亮。不过说实话正则表达式写出来乱七八糟的，就算有分色显示看起来也好不到哪里去。。。。。。<br /><br /><a href="/Files/UkingLli/MTracer.rar">MTracer 下载</a><img src ="http://JAAJ.blogjava.net/aggbug/81540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/UkingLli/" target="_blank">展昭</a> 2006-11-16 15:46 <a href="http://www.blogjava.net/UkingLli/archive/2006/11/16/81540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源=免费?</title><link>http://www.blogjava.net/itvincent/archive/2006/11/16/81426.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Thu, 16 Nov 2006 00:50:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/11/16/81426.html</guid><description><![CDATA[
		<p>        当今很多人把自由软件误解为免费软件，但开源不代表全免费，我看了下面的这篇文章，作者是中国开源软件推进联盟主席——陆首群，文中详细的讲解了开源的含义，以及企业利用开源软件营利的几种模式。</p>
		<p> </p>
		<hr />
		<p>下面是转自csdn的一篇文章。</p>
		<p>　　“Free/Libre Software &amp;Open Source”译成中文是：“自由软件和开源软件”。有人却错译为：“免费软件和开源软件”。实际上，把自由/开源软件当作免费软件的，大有人在。所谓自由软件指允许任何人可以自由使用、复制、修改、分发的软件，但它不能保证免费获得的自由。自由软件在分发/获得方面是双模式的，就是说，可以免费共享，也可以商业买卖。所谓开源软件指软件的源代码(软件程序的原始文件)是对任何人都完全开放的，即任何人在有关许可协议方式的规范下，具有获得、使用、复制、修改、分发源代码的自由，但为了保护初始源代码的完整性，有关许可协议规定：原创者对源代码修改者的后续行为的自由有一定限制。自由软件和开源的软件具有广泛的共同点，在一般情况下我们统称为“自由开源软件”；考虑到当今它们愈来愈广泛地参与务实的商业活动，我们也可将共简称为“开源软件”。</p>
		<p>　　为了保证开源软件的持续发展或推动开源软件产业化，探索开源软件的商业模式到关重要。有人认为：“自由开源软件是免费软件”，“自由开源软件不收费”。这在自由开源软件发展早期，作为“玩家”、“黑客”们“偏爱的作业”，不惜以亏损来作秀，曾出现过这种现象；但时至今日开源软件正在走向产业化，再说这样的话，不是无知就是用来骗人的。</p>
		<p>　　有人说：“开源软件系统全部软件模块的源代码都开放，或开源软件系统的全部技术都公开，这时开源软件系统已经没有了价值，软件卖不了钱，只能免费，也只能依靠服务来收费。”我们认为这种说法显然是错误的。事实上，开源软件的全部技术并不完全寓于开放的源代码之中，在开源软件系统中还隐含着与开放源代码所表征的技术无关的不开放的工程化技术，也就是说开源软件技术的全部技术并没有完全开放，说明它还是具有价值的，软件本身也是可以卖钱的(并非一定要依赖于服务)。</p>
		<p>　　下面我们开列一个定义软件的公式，即：软件＝程序+文档+支持+培训+专业服务</p>
		<p>　　当前国际上出现了“把软件看成一种服务(Software as a Service，SaaS)”的潮流，软件收费也出现从其各个业务环节(即程序、文档、支持、培训、专业服务等业务环节)向后面移动的倾向，即变成了所谓“软件免费、服务收费”的“定购服务(Subscription)”的商业模式。对于开源软件来说，因其具有“集体开发”的特点，没有一个销售开源软件发布版的企业可宣称“它拥有开源软件的所有权”(即它不拥有软件专利许可证)，因此更适合于实行“定购服务”。</p>
		<p>　　其实我们对“定购服务”这种模式进行分析后可以这样认为：不是整个软件都免费，而是软件“程序”或者“源代码”免费。软件的其他业务环节，诸如“文档、支持、培训、专业服务”均可纳入广义的“服务”一类，一般是要收费的(当然有的企业把“文档”也从“服务”中分离出来，如提供安装使用说明书CD盘，也免费)。这样在出现“软件程序免费、服务收费”或“软件程序和文档免费、服务收费”的情况时，整个软件还是收费的。因此，当有人说的“软件免费、服务收费”或只说“软件免费”时，如果不作上面的解释，可能会引起人们的误解。</p>
		<p>　　无疑，开源软件要取得成功，首先要开发并推出一个好产品，其次要建立一个好社区，还要找到一个好的商业模式。</p>
		<p>　　迄今为止，开源软件还没有单一的商业模式，国外推出的一批模式可供借鉴。这些商业模式概括起来有：</p>
		<p>　　如Red Hat(开源软件公司)那样，实行如上所述的“软件免费、服务收费”的“定购服务”模式。</p>
		<p>　　针对一些开源软件在其整个层次组合(Stack)中，大多数开源的层次与某个闭源层次混生，或与某个附加的闭源组件集成时(这时的闭源层次或附加闭源组件具有私权软件的性质)，企业可实行“开源软件主体部分免费、闭源软件附加部分收费”的模式。</p>
		<p>　　一些开源企业实行双授权模式。双授权模式有如下两种形式：</p>
		<p>　　如上面所谈的形式，即“一部分软件开放、免费，另一部分软件不开放、收费。”像SugerCRM、JBOSS那样的开源企业就采用这样的商业模式。</p>
		<p>　　“对一部分用户免费，向另一部分用户收费”(如向中、小客户免费提供开放的源代码，但要求他们在对源代码进行修改时，其修改部分要必需要全部返回；对大客户允许他们不返回其修改的源代码，但要收费)，像MySQL那样的开源企业就采用这样的商业模式。</p>
		<p>　　Google正在掀起一波订价模式的革命，Google提供的程序是免费的，其服务也免费，靠广告或“辛迪加(Syndication)”支持收费，从而也向微软提出了挑战，最近微软推出Live.com“网络直播服务”，表示再也不能固守依赖软件专利授权合同收费的模式。这些动向也是值得开源软件在探索商业模式时借鉴的。</p>
		<p>　　有人认为“Ubuntu的自由机制排斥任何商业模式”，这显然是不对的。Ubuntu自己也认承，它正在探索但至今尚未找到成熟的商业模式(Canonical公司可能会变成它的总销售商)。</p>
		<p>　　Ubuntu已明确：软件程序是免费的，其文档(包括提供安装使用说明书的CD盘)也实行免费。看来Ubuntu对其向客户提供的服务(软件的其他业务环节)也是要收费的。Ubuntu还规定：“任何人对Ubuntu源代码所作的变动、修改，必须获得Ubuntu核心团队(由60人组成)批准才行”。这条规定，使Ubuntu具有向客户提供支持、培训、专业服务的特权和从这些软件的业务环节收费的保障。</p>
		<p>　　在国际上，开源软件正在涌现出一批商业模式，在未来的岁月中，其中一些模式可能会成功，一些模式也可能会失败，这说明全球开源软件的商业模式还在探索之中，未臻完全成熟。在中国，我们也要在这方面进行积极的探索。</p>
<img src ="http://JAAJ.blogjava.net/aggbug/81426.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-11-16 08:50 <a href="http://www.blogjava.net/itvincent/archive/2006/11/16/81426.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为我的老机装个杀毒软件(新增更新升级服务器)</title><link>http://www.blogjava.net/itvincent/archive/2006/11/04/79082.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Sat, 04 Nov 2006 09:01:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/11/04/79082.html</guid><description><![CDATA[<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 18pt; COLOR: blue; FONT-FAMILY: 黑体; mso-hansi-font-family: 宋体" twffan="done">为我的老机装个杀毒软件<span lang=EN-US twffan="done"><o:p></o:p></span></span> </strong></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><strong style="mso-bidi-font-weight: normal"><span lang=EN-US style="FONT-SIZE: 18pt; COLOR: blue; FONT-FAMILY: 华文中宋" twffan="done"><o:p>&nbsp;</o:p> </span></strong></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">近来为了选一个好的杀毒软件，费了一个多星期的晚上时间，因为家里的老爷机，很难服侍，所以我选择的杀软必须不能太耗资源的，分别试用了卡巴</span> <span lang=EN-US twffan="done">6</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">互联网套装，</span> <span lang=EN-US twffan="done">BitDefender9/10</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">，卖咖啡</span> <span lang=EN-US twffan="done">8.0I</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">企业版，</span> <span lang=EN-US twffan="done">Nod32 2.5</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">，下面谈谈我的一些使用感受，将一些经验与大家分享一下，也希望大家也谈谈看法。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span lang=EN-US twffan="done"><o:p>&nbsp;</o:p> </span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span style="COLOR: red; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">卡巴</span> <span lang=EN-US style="COLOR: red" twffan="done">6<span style="mso-spacerun: yes" twffan="done">&nbsp;&nbsp; </span></span><span style="COLOR: red; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">评分：</span> <span lang=EN-US style="COLOR: red" twffan="done">9</span> <span style="COLOR: red; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">分</span> <span lang=EN-US style="COLOR: red" twffan="done"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">1．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">感觉使用简单，杀毒能力很强，经常有事没事就提示你一个有危险软件或者说某某程序要访问网络等等，感觉这样挺安心的，起码告诉你他正在时刻监控你的机器</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">2．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">更新快而且容易</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">3．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">唯一的麻烦是要选择一个稳定的版本，我现在用的是</span> <st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><span lang=EN-US twffan="done">6.0.1</span> </st1:chsdate><span lang=EN-US twffan="done">.392</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">，还算稳定</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US twffan="done"><o:p>&nbsp;</o:p> </span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US style="COLOR: red" twffan="done">BitDefender9/10 </span><span style="COLOR: red; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">评分：</span> <span lang=EN-US style="COLOR: red" twffan="done">8.5</span> <span style="COLOR: red; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">分</span> <span lang=EN-US style="COLOR: red" twffan="done"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo2; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">1．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">这个杀毒软件是从那个</span> <span lang=EN-US twffan="done">2006</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">的世界杀毒软件排行榜中才认识的，来自罗马尼亚。安装挺方便，操作也很容易，每个模块很清晰</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo2; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">2．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">杀毒能力很强，我用他检查那个&#8220;</span> <span lang=EN-US twffan="done">7168</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">个病毒样本&#8221;他是杀得最多的。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo2; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">3．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">更新速度很快，一天更新几次</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo2; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">4．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">问题也在更新上，</span> <span lang=EN-US twffan="done">9.0</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">版本输入注册机的序号就可以无限更新了，不过用了一些新的版本</span> <span lang=EN-US twffan="done">9.5/10</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">，就不能无限更新了，以后每次你想要更新，必须要换一个序号才行。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US twffan="done"><o:p>&nbsp;</o:p> </span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span style="COLOR: red; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">卖咖啡</span> <span lang=EN-US style="COLOR: red" twffan="done">8.0I</span> <span style="COLOR: red; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">企业版</span> <span style="COLOR: red" twffan="done"></span><span style="COLOR: red; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">评分：</span> <span lang=EN-US style="COLOR: red" twffan="done">8</span> <span style="COLOR: red; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">分</span> <span lang=EN-US style="COLOR: red" twffan="done"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l3 level1 lfo3; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">1．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">卖咖啡这个软件的界面我不怎么喜欢，每个模块好似分得不是很清楚，想修改参数也不知从哪里找</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l3 level1 lfo3; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">2．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">杀毒能力也很强，其实跟卡巴差不多。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l3 level1 lfo3; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">3．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">更新就不怎么样，也不知怎么说，我这里很慢。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US twffan="done"><o:p>&nbsp;</o:p> </span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US style="COLOR: red" twffan="done">Nod32 2.5 </span><span style="COLOR: red; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">评分：</span> <span lang=EN-US style="COLOR: red" twffan="done">9</span> <span style="COLOR: red; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">分</span> <span lang=EN-US style="COLOR: red" twffan="done"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo4; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">1．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">看到很多网站</span> <span lang=EN-US twffan="done">BBS</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">讲到杀毒软件的时候，只会有人提起这个它，不过对于大部分人来说还是比较陌生。我也是一种尝试的态度找到了他的下载。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo4; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">2．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">杀毒能力挺强，跟卡巴都差不多。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo4; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">3．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">更新速度挺快，一天两三次吧</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo4; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">4．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">最后它有点怪，就在于他的更新上，一般杀毒软件都不能让你选择要更新的病毒数据库，但是这个软件允许你这样做，好似有开源这样的意思，所以从一些网上就能找到不少这样的免费升级病毒数据库的网站，只要在</span> <span lang=EN-US twffan="done">Nod32</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">里配置一下，就能使用这个免费的升级网站，更新你的病毒库，而且是不用序列号的，是不是很爽？</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US twffan="done"><o:p>&nbsp;</o:p> </span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US twffan="done"><o:p>&nbsp;</o:p> </span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">最后总结了一下，我选择为我的老机装上</span> <span lang=EN-US twffan="done">Nod32</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l4 level1 lfo5; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">1．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">只有用</span> <span lang=EN-US twffan="done">Nod32</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">的时候，才不觉得机器有卡或者读硬盘慢的现象，而且看看他的进程也不多，才两个，</span> <span lang=EN-US twffan="done">20 </span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">、</span> <st1:chmetcnv w:st="on" unitname="m" sourcevalue="30" hasspace="False" negative="False" numbertype="1" tcsc="0"><span lang=EN-US twffan="done">30M</span> </st1:chmetcnv><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">左右，这样我的老机才能跑得上，这是最重要的原因。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l4 level1 lfo5; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">2．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">在杀毒能力都差不多的情况下，都没什么所谓</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l4 level1 lfo5; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">3．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">更新很爽，不用序列号。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US twffan="done"><o:p>&nbsp;</o:p> </span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US twffan="done">PS.</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">介绍一下怎么装</span> <span lang=EN-US twffan="done">Nod32</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo6; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">1．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span lang=EN-US twffan="done"><a href="http://www.nod32cn.com/"><font color=#800080>http://www.nod32cn.com/</font> </a></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">中国官方网下载一个简体版</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo6; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">2．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">安装完重启（安装时提示你选择更新服务器与用户名密码，你就下面那个勾，跳过选择就可以，这样就不用序列号了）。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo6; tab-stops: list 18.0pt"><span lang=EN-US style="mso-fareast-font-family: 'Times New Roman'" twffan="done"><span style="mso-list: Ignore" twffan="done">3．<span style="FONT: 7pt 'Times New Roman'" twffan="done">&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">打开控制中心——更新——设定——服务器——新增——输入：</span> <span lang=EN-US twffan="done"><a href="http://u2.safeexpert.net/">http://u2.safeexpert.net/</a> </span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">然后确定。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US twffan="done">4</span> <span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'" twffan="done">．点击立即更新，就等得更新结束吧。爽！</span> </p>
<p>---------------------<br>声明我不是抢手啊,上面的杀毒软件我用过都是很好的,我选NOD32只是觉得适合我的老机.我在公司还是喜欢装卡巴....所以选什么,还是要根据自己的实际情况</p>
<img src ="http://JAAJ.blogjava.net/aggbug/79082.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-11-04 17:01 <a href="http://www.blogjava.net/itvincent/archive/2006/11/04/79082.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>值得重视的Comparable接口</title><link>http://www.blogjava.net/UkingLli/archive/2006/11/02/78642.html</link><dc:creator>展昭</dc:creator><author>展昭</author><pubDate>Thu, 02 Nov 2006 04:16:00 GMT</pubDate><guid>http://www.blogjava.net/UkingLli/archive/2006/11/02/78642.html</guid><description><![CDATA[
		<p>前提是该范型中包含的对象Object已经实现了Collections.sort()要求的接口： <br />public int compareTo(Object o) </p>
		<p>这个compareTo的方法应当直接的表现出你想要以Object的哪个字段进行排序<br />我们可以这样写：<br />public int compareTo(Object o) {<br />        DbPoJo po = null;<br />        if(o instanceof DbPoJo)<br />            po = (DbPoJo)o;<br />        return po.getId().compareTo(this.getId());<br />}<br />假设我们的List中包含的每个元素都是 DbPoJo 这个对象，在这里需要先将Object强制转换为DbPoJo<br />然后就可以利用String的compareTo()方法来进行返回</p>
		<p>最后，对我们的List ：List&lt;DbPoJo&gt; returnList = new ArrayList&lt;DbPoJo&gt;();<br />通过调用Collections的静态方法 sort() 进行排序：<br />Collections.sort(returnList);</p>
		<p>通过上例，可以看出一个类一旦实现Comparable接口，那么它就可以跟很多依赖于该接口的集合进行协作。<br />用《Effective JAVA 》的话来说：你可以以很小的努力，来获得非常强大的功能</p>
<img src ="http://JAAJ.blogjava.net/aggbug/78642.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/UkingLli/" target="_blank">展昭</a> 2006-11-02 12:16 <a href="http://www.blogjava.net/UkingLli/archive/2006/11/02/78642.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从JSF1.2的例子,发现Tomcat版本兼容的问题</title><link>http://www.blogjava.net/itvincent/archive/2006/11/02/78591.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Thu, 02 Nov 2006 01:23:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/11/02/78591.html</guid><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从官网下的</span>
				<span lang="EN-US">JSF1.2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包</span>
				<span lang="EN-US">,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里面的例子一直不能在我的</span>
				<span lang="EN-US">Tomcat<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">5.5.17</st1:chsdate></span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下运行</span>
				<span lang="EN-US">,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">但是我自己做的程序没有出现问题，后来上网找到原来是</span>
				<span lang="EN-US">Tomcat</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版本问题。</span>
				<span lang="EN-US">JSF1.2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用的是</span>
				<span lang="EN-US">JSP2.1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标准</span>
				<span lang="EN-US">,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从下面列表中可看出</span>
				<span lang="EN-US">,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要运行</span>
				<span lang="EN-US">JSF1.2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需要</span>
				<span lang="EN-US">6.0.x</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
				<span lang="EN-US">JSF1.2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的例子中用到</span>
				<span lang="EN-US">JSP1.2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US">API</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，所以在我的</span>
				<span lang="EN-US">Tomcat5</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行就会报错，而我的程序用的是</span>
				<span lang="EN-US">facelets</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有用到</span>
				<span lang="EN-US">JSP1.2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US">API</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所以没有问题，但是</span>
				<span lang="EN-US">deploy</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候会报出一些关于</span>
				<span lang="EN-US">jsp</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的警告(2006-11-2 9:34:23 com.sun.faces.config.ConfigureListener isJspTwoOne<br />警告: Incorrect JSP version found, method getJspApplicationContext does not exist.)，也是这样的原因。<br />   所以要在</span>
				<span lang="EN-US">Tomcat5</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下运行</span>
				<span lang="EN-US">JSF</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，为了稳定起见，应该使用</span>
				<span lang="EN-US">JSF1.1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版本。现在用回JSF1.1,原来一些XML没有验证,和页面提交表单后,返回再提交会出现的丢失数据的问题也解决了（我之前的文章<a class="titlelink" id="Editor_Results_rprSelectionList_ctl02_Hyperlink1" href="/itvincent/archive/2006/11/01/78481.html"><font color="#000000">《javax.faces.STATE_SAVING_METHOD的设置问题</font></a>》 。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<table class="MsoNormalTable" style="mso-cellspacing: 1.5pt" cellpadding="0" border="0">
				<tbody>
						<tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
								<td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #039acc; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left">
												<b>
														<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">Servlet/JSP Spec</span>
												</b>
												<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">
												</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #039acc; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left">
												<b>
														<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">Apache Tomcat version</span>
												</b>
												<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">
												</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 1">
								<td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left">
												<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">2.5/2.1</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left">
												<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">6.0.x</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 2">
								<td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left">
												<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">2.4/2.0</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left">
												<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">5.5.x</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 3">
								<td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left">
												<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">2.3/1.2</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left">
												<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">4.1.x</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes">
								<td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left">
												<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">2.2/1.1</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left">
												<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">3.3.x</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
				</tbody>
		</table>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
<img src ="http://JAAJ.blogjava.net/aggbug/78591.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-11-02 09:23 <a href="http://www.blogjava.net/itvincent/archive/2006/11/02/78591.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javax.faces.STATE_SAVING_METHOD的设置问题</title><link>http://www.blogjava.net/itvincent/archive/2006/11/01/78481.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Wed, 01 Nov 2006 07:43:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/11/01/78481.html</guid><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt">
				<span lang="EN-US">javax.faces.STATE_SAVING_METHOD</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置为</span>
				<span lang="EN-US">server</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候（默认），发现点击浏览器</span>
				<span lang="EN-US">“</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后退</span>
				<span lang="EN-US">”</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">按钮会导致退回的页面不可用，重新提交的表单不生效，服务器端不刷新，但页面会跳转，必须刷新一次才能解决。</span>
				<span lang="EN-US">
						<br />
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我想到两个解决办法：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">1、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把</span>
				<span lang="EN-US">javax.faces.STATE_SAVING_METHOD</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设为</span>
				<span lang="EN-US">client</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以解决，但是客户端页面中会出现很长的隐藏信息，虽然不影响客户使用，但是页面会变得很冗长。而且看到有人说页面中夹入的</span>
				<span lang="EN-US">javascript</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印的中文提示变成了乱码。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">2、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US">faces-config.xml</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<span style="mso-tab-count: 1">    </span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&lt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&gt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<span style="mso-tab-count: 2">       </span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&lt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-name</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&gt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">hello</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&lt;/</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-name</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&gt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<span style="mso-tab-count: 2">       </span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&lt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-class</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&gt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<span style="mso-tab-count: 3">           </span>facelets.Hello</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<span style="mso-tab-count: 2">       </span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&lt;/</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-class</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&gt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<span style="mso-tab-count: 2">       </span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&lt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-scope</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&gt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">session</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&lt;/</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-scope</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&gt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<span style="mso-tab-count: 1">    </span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&lt;/</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&gt;</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&lt;</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-scope</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">&gt;</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">改为</span>
				<span lang="EN-US">session</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也可以解决，但例如新增修改是做在同一个页面的时候，之前做过修改操作，新增的时也会存在修改时的内容</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">       </span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">请教有什么方法可以更好的解决这个问题？</span>
		</p>
<img src ="http://JAAJ.blogjava.net/aggbug/78481.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-11-01 15:43 <a href="http://www.blogjava.net/itvincent/archive/2006/11/01/78481.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]用JSF和MyFaces上传文件</title><link>http://www.blogjava.net/itvincent/archive/2006/11/01/78472.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Wed, 01 Nov 2006 06:25:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/11/01/78472.html</guid><description><![CDATA[
		<div class="title" twffan="done">
				<h2>用JSF和MyFaces上传文件</h2>
				<a href="http://www.matrix.org.cn/resource/article/43/user.shtml?userid=85935">RR00</a> 发表于 2005-08-31 00:12:00<br />作者:Andrei Cioroianu;RR00     来源:Onjava<br />评论数:1 点击数:4,703     投票总得分:5 投票总人次:1<br />关键字:JSF MyFaces Upload </div>
		<!-- end of div title -->
		<div class="summary" twffan="done">
				<div class="left" twffan="done">
				</div>
				<div class="center" twffan="done">
						<h4>摘要:</h4>用户可以很方便使用浏览器上传文件，但是当前的Java Web标准（如servlets, JSP, and JSF）并没有提供任何上传的功能。幸好第三方框架，比如 Apache Commons File Upload, Apache MyFaces, and Oracle ADF Faces，提供了简单的API和客户标签，实现了这个功能。文章的前半部分将介绍上传组件是如何工作的，在文章的后半部分，介绍了一个让用户通过浏览器上传文件的例子。 </div>
				<div class="right" twffan="done">
						<div class="help" twffan="done">
								<h4>工具箱</h4>
								<a href="http://www.matrix.org.cn/favorite.shtml?type=article&amp;title=%25E7%2594%25A8JSF%25E5%2592%258CMyFaces%25E4%25B8%258A%25E4%25BC%25A0%25E6%2596%2587%25E4%25BB%25B6&amp;url=resource%2Farticle%2F43%2F43703_JSF_MyFaces_Upload.html">本站收藏</a>
								<br />
								<a onclick="javascript:location.href='http://del.icio.us/post?&amp;url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title)" href="http://www.matrix.org.cn/resource/article/43/43703_JSF_MyFaces_Upload.html#">美味书签</a>
								<br />
								<a href="http://www.matrix.org.cn/resource/article/43/43703_JSF_MyFaces_Upload.html#avote">投票评分</a>
								<br />
								<a href="http://www.matrix.org.cn/resource/article/43/43703_JSF_MyFaces_Upload.html#areview">发表评论</a>
								<br />
								<a title="点击后直接粘贴即可" onclick="copyLink();" href="http://www.matrix.org.cn/resource/article/43/43703_JSF_MyFaces_Upload.html#">复制链接</a>
								<br />
						</div>
				</div>
		</div>
		<!-- end of summary line -->
		<div class="overflow" id="text" twffan="done">
				<center>
						<b>
								<span style="FONT-SIZE: 20px" twffan="done">用JSF和MyFaces上传文件</span>
						</b>
				</center>
				<br />
				<center>作者：Andrei Cioroianu</center>
				<br />
				<center>翻译：<span style="COLOR: purple" twffan="done"><a href="http://www.matrix.org.cn/user.shtml?username=RR00" target="_new">RR00</a></span></center>
				<br />
				<center>email:di_feng_ro@hotmail.com</center>
				<br />
				<br />
				<span style="COLOR: purple" twffan="done">版权声明</span>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明<br />英文原文地址:<br /><a href="http://www.onjava.com/pub/a/onjava/2005/07/13/jsfupload.html" target="_new">http://<span id="TheWorldKeyWord" style="BACKGROUND: #ffff00; COLOR: #000000">www</span>.onjava.com/pub/a/onjava/2005/07/13/jsfupload.html</a><br />中文地址:<br /><a href="http://www.matrix.org.cn/resource/article/43/43703_JSF_MyFaces_Upload.html" target="_new">http://<span id="TheWorldKeyWord" style="BACKGROUND: #ffff00; COLOR: #000000">www</span>.matrix.org.cn/resource/article/43/43703_JSF_MyFaces_Upload.html</a><br />关键词： JSF MyFaces Upload<br /><br /><br /><br />用户可以很方便使用浏览器上传文件，但是当前的Java Web标准（如servlets, JSP, and JSF）并没有提供任何上传的功能。幸好第三方框架，比如 Apache Commons File Upload, Apache MyFaces, and Oracle ADF Faces，提供了简单的API和客户标签，实现了这个功能。文章的前半部分将介绍上传组件是如何工作的，你将看到MyFaces and Commons File Upload 的部分源码（实际上，前者采用的是后者的代码）。了解这些源码的内在机制将使我们更有效的使用这些框架，并且可以根据需要修改他们！在文章的后半部分，介绍了一个让用户通过浏览器上传文件的例子。<br /><br /><b><span style="FONT-SIZE: 16px" twffan="done">基于WEB的文件上传</span></b><br />“上传”这个词的使用比较广泛。一个web管理员在他的主页发布了一个文件，他可以说他上传了一个文件；当一个网络工程师创建了一个HTML form和一些脚本使普通用户可以通过浏览器上传文件，他说他实现了上传的功能。<br />这两种方式之中有些共同的地方，因为一个web管理员可以通过一个基于web的接口来发布文件（页面，图像，脚本等等）。那些免费提供个人主页的公司，比如yahoo，实现了基于web的文件上传功能，因为客户需要上传页面。这样任何人只要接入网络，就可以通过浏览器发布他的个人站点。但是，还有许多更好的方式让你发布你的网页内容，比如FTP或secure FTP。在这种情况下，你就需要一个对应的应用程序，比如FTP客户端，而不是浏览器来发布你的网站。<br /><br />这篇文章将从网络开发者的角度来讨论文件上传。一个基于web的mail应用程序，比如yahoo mail,实现了上传功能，这样用户才能发送信息和附件。另一个好的例子是一个job网站必须让你能够发送简历给招聘人员。在你的应用程序中，你可以对上传的文件作任何你想做的事情，比如把这些文件的内容储存到数据库中或者把他们当作附件发送出去。这篇文章的例子计算了上传文件的hash值。现在，让我们看看如何在一个web应用程序中实现上传功能。<br /><br />一个html表单包含一个或多个&lt;input type="file"&gt; 元素，这个元素将在页面上生成文件输入框，用户可以在这里填写文件路径。用户点击输入字段后面的浏览(browse)按钮后，会弹出一个对话框让用户选择路径：<br /><br /><img style="DISPLAY: inline" onclick="javascript:imgClick(this);" alt="image" src="http://www.matrix.org.cn/resource/upload/content/2005_08_31_000221_eqIVukESmm.gif" onload="javascript:imgLoad(this);" border="0" twffan="done" resized="0" /><br /><br />当用户点击表单的Sumbit按钮，浏览器对表单数据进行编码，其中包括文件的内容，名字，路径以及其他的表单参数。然后，浏览器把编码过的数据传递给web服务器，服务器再把这些数据传递给相应的页面，比如&lt;form&gt;标签里的action属性值。如果是java网络应用程序，action属性值可能是个servlet或者是个jsp页面。<br />因为默认的表单编码和get方法不适合上传文件，所以一个包含文件输入框的表单必须定义编码为multipart/form-data ，并且在&lt;form&gt;标签里使用POST方法：<br /><pre class="overflow">&lt;form enctype="multipart/form-data" method="POST" action="..."&gt;<br />    ...<br />    &lt;input type="file" name="..."&gt;<br />    ...<br />&lt;/form&gt;</pre><br /><br />但是，事情并不象看起来那么简单，实现了servlet and JSP 标准的应用服务器并没有被要求处理 multipart/form-data编码。所以你需要一个解析器来处理请求的输入流,比如Apache Commons File Upload组件，它是个java包，能从已编码的数据中读取出上传文件的内容。这个包的API很灵活，允许你把小文件存在内存里而大文件储存在磁盘上一个临时文件夹里。你不但可以定义大文件和小文件的界限，还可以定义上传文件所占空间的最大值。<br /><br />org.apache.commons.fileupload里有个DiskFileUpload类，它的parseRequest()函数获得一个HttpServletRequest，返回一个List，其中包含了org.apache.commons.fileupload.FileItem的实例。servlet请求的getInputStream()函数返回一个数据流，已编译的表单数据就是从这里读取出来的。FileItem很容易让人误解，因为这个接口的实例不仅包括上传文件,还有其他的请求参数。<br /><br />Commons File Upload 包提供的API可以解析数据，但是servlet请求的getParameter()函数和getParameterValues()函数却不能工作。因为这两个函数被运行在常用的输入框, 复选框, 单选按钮, 和下拉列表后面的标准JSF组件调用，所以这个问题需要解决。Servlets API提供的两个功能(filters和request wrappers) 可以解决这个问题。下面的章节描述了在没有破坏原有JSF结构的情况下，Apache MyFaces 如何实现了一个filter功能，从而添加了更多需要的支持。另外，MyFaces提供的API可以创建javaBean，和生成&lt;input type="file"&gt;元素的JSF组件相对应。<br /><br /><b><span style="FONT-SIZE: 16px" twffan="done">配置 JSF 和MyFaces Extensions</span></b><br />目前最主要的实现JSF规范的框架有JSF Reference Implementation (RI)以及Apache提供的MyFaces。虽然还有别的，但这两个是最流行的。很多开发者更倾向于JSF RI，因为这是来自于sun的官方产品。但MyFaces有一些有趣的扩展的功能，比如上传文件。如果你喜欢，你可以同时使用MyFaces的扩展功能和JSF RI。你只需要把myfaces-extensions.jar和JSF RI的jar文件以及 commons-fileupload-1.0.jar 放在web应用程序的WEB-INF/lib 目录下即可。下面是你需要的jar文件：<br /><br /><img style="DISPLAY: inline" onclick="javascript:imgClick(this);" alt="image" src="http://www.matrix.org.cn/resource/upload/content/2005_08_31_000513_aHBUokhKcp.jpg" onload="javascript:imgLoad(this);" border="0" twffan="done" resized="0" /><br /><br />org.apache.myfaces.component.html.util包的MultipartRequestWrapper类创建了MyFaces和Commons File Upload连接的桥梁。这个类继承了HttpServletRequestWrapper，重写了getParameterMap(), getParameterNames(), getParameter(), 和getParameterValues() 函数，所以他们能正确处理multipart/form-data 编码数据。另外，MultipartRequestWrapper提供的两个函数，getFileItem() 和getFileItems(),使你可以通过org.apache.commons.fileupload.FileItem 接口访问上传文件。<br /><br />MyFaces的 ExtensionsFilter 类在org.apache.myfaces.component.html.util 包里，当它发现multipart/form-data编码的时候，它会创建 MultipartRequestWrapper 的实例。所以你不需理会他是如何解析表单数据的，但是知道它是如何开始解析对你想要修改上传文件的处理方式是有用的。在一个传统的应用程序中，你只需要在web.xml描述符中配置好ExtensionsFilter ，它就能在JSF的FacesServlet之前截获HTTP请求：<br /><br /><pre class="overflow">&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;!DOCTYPE web-app PUBLIC<br />    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"<br />    "http://java.sun.com/dtd/web-app_2_3.dtd"&gt;<br />&lt;web-app&gt;<br />    &lt;context-param&gt;<br />        &lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt;<br />        &lt;param-value&gt;client&lt;/param-value&gt;<br />    &lt;/context-param&gt;<br />    &lt;servlet&gt;<br />        &lt;servlet-name&gt;FacesServlet&lt;/servlet-name&gt;<br />        &lt;servlet-class&gt;<br />            javax.faces.webapp.FacesServlet<br />        &lt;/servlet-class&gt;<br />        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br />    &lt;/servlet&gt;<br />    &lt;servlet-mapping&gt;<br />        &lt;servlet-name&gt;FacesServlet&lt;/servlet-name&gt;<br />        &lt;url-pattern&gt;/faces/*&lt;/url-pattern&gt;<br />    &lt;/servlet-mapping&gt;<br />    &lt;servlet-mapping&gt;<br />        &lt;servlet-name&gt;FacesServlet&lt;/servlet-name&gt;<br />        &lt;url-pattern&gt;*.faces&lt;/url-pattern&gt;<br />    &lt;/servlet-mapping&gt;<br />    &lt;filter&gt;<br />        &lt;filter-name&gt;ExtensionsFilter&lt;/filter-name&gt;<br />        &lt;filter-class&gt;<br />            org.apache.myfaces.component.html.util.ExtensionsFilter<br />        &lt;/filter-class&gt;<br />        &lt;init-param&gt;<br />            &lt;param-name&gt;uploadMaxFileSize&lt;/param-name&gt;<br />            &lt;param-value&gt;10m&lt;/param-value&gt;<br />        &lt;/init-param&gt;<br />        &lt;init-param&gt;<br />            &lt;param-name&gt;uploadThresholdSize&lt;/param-name&gt;<br />            &lt;param-value&gt;100k&lt;/param-value&gt;<br />        &lt;/init-param&gt;<br />    &lt;/filter&gt;<br />    &lt;filter-mapping&gt;<br />        &lt;filter-name&gt;ExtensionsFilter&lt;/filter-name&gt;<br />        &lt;servlet-name&gt;FacesServlet&lt;/servlet-name&gt;<br />    &lt;/filter-mapping&gt;<br />    &lt;welcome-file-list&gt;<br />        &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br />    &lt;/welcome-file-list&gt;<br />&lt;/web-app&gt;</pre><br /><br />前面例子中，filter的两个参数告诉MyFaces把小于100K的文件保存在内存中，而对于大于10M的文件则忽略。大小在uploadThresholdSize值和uploadMaxFileSize值之间的文件则作为临时文件存在硬盘上。如果你上传很大的文件，当前的MyFaces版本会忽略所有的表单数据，就好象你提交了一个空表单。如果你想把上传失败的消息告诉用户，你就得修改MyFaces中MultipartRequestWrapper类的源码。让我们找到捕获SizeLimitExceededException的地方，并使用FacesContext.getCurrentInstance().addMessage()来警告用户。<br />正如前面所说的，MyFaces Extensions 里有个能在JSF页面里使用的上传组件。下面的章节将说明如何使用。<br /><br />为了在web页面里使用JSF和MyFaces，你必须使用&lt;%@taglib%&gt;指令声明他们的标签库。<br /><br /><pre class="overflow">&lt;%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%&gt;<br />&lt;%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%&gt;<br />&lt;%@ taglib uri="http://myfaces.apache.org/extensions" prefix="x"%&gt;</pre><br /><br />JSF的&lt;h:form&gt;标签没有method属性，因为它只支持post方法，但他有enctype属性，当你想上传文件时，你可以用它来定义表单数据的编码类型：<br /><pre class="overflow">&lt;f:view&gt;<br />    &lt;h:form id="MyForm" enctype="multipart/form-data" &gt;<br />        ...<br />        &lt;x:inputFileUpload id="myFileId"<br />            value="#{myBean.myFile}"<br />            storage="file"<br />            required="true"/&gt;<br />        ...<br />    &lt;/h:form&gt;<br />&lt;/f:view&gt;</pre><br /><br />MyFaces的&lt;x:inputFileUpload&gt; 标签让你定义UI组件的属性，它将在前台生成&lt;input type="file"&gt; 元素。包org.apache.myfaces.custom.fileupload 包含了控制UI结构的HtmlInputFileUpload类，它的renderer (HtmlFileUploadRenderer), 处理用户标签的类 (HtmlInputFileUploadTag),  UploadedFile 接口, 以及别的帮助类。 HtmlInputFileUpload 类 继承了标准的JSF HtmlInputText 组件 ，重写了几个函数。HtmlFileUploadRenderer负责创建 HTML 标签以及从MultipartRequestWrapper类返回FileItem(前面提过)。<br /><br />MyFaces提供了自己的UploadedFile接口读取上传文件的内容，文件类型，名字以及大小，而不是让你直接访问由Commons File Upload组件创建的FileItem实例。你的JSF表单背后的bean必须有一个UploadedFile属性。下面的例子中，UI组件的值通过JSF表达式(#{myBean.myFile})绑定到一个bean属性中。JSF框架将取得HtmlInputFileUpload 组件的值，这是个UploadedFile实例，并把它传送到背后bean的属性中。<br /><br /><pre class="overflow">import org.apache.myfaces.custom.fileupload.UploadedFile;<br />...<br />public class MyBean {<br />    private UploadedFile myFile;<br />    public UploadedFile getMyFile() {<br />        return myFile;<br />    }<br />    public void setMyFile(UploadedFile myFile) {<br />        this.myFile = myFile;<br />    }<br />    ...<br />}</pre><br /><br />我们应该知道MyFaces有两个实现 UploadedFile接口的类:UploadedFileDefaultMemoryImpl和UploadedFileDefaultFileImpl。当&lt;x:inputFileUpload&gt;标签没有storage属性或这个属性值为memory时，使用前一个类。当storage属性值为file时用后一个。<br /><br />类UploadedFileDefaultMemoryImp从一个FileItem实例中取得上传文件的内容以及它的名字，大小，文件类型，并把这些信息储存在一个私有属性里。所以即使Commons File Upload 把文件存在磁盘上，这个实现UploadedFile接口的类仍把上传文件的内容储存在内存里，浪费系统资源。<br />类UploadedFileDefaultFileImpl使用一个非序列化域(transient field)来保存一个对FileItem实例的引用。只有当getInputStream()被调用时，才通过这个引用读取上传文件的内容。这个类节省了内存空间，但如果它被序列化了，当其被反序列化后，你无法取得文件的内容。所以，支持上传文件表单的bean不应保存在session 域中，因为应用服务器在应用程序重起或服务器关闭时要对session bean序列化。<br /><br />如果你想让它们高效的工作，可以把背后的bean保存在request域并且在&lt;x:inputFileUpload&gt;中定义 storage="file"节省内存资源。你可以在UploadedFileDefaultFileImpl添加一个序列化上传文件的函数writeObject()，这样可以解决序列化的问题。为了使这个类更有效率，相应的readObject() 应该创建临时文件而不是从内存中读取它的内容。<br /><br /><b><span style="FONT-SIZE: 16px" twffan="done">应用程序例子</span></b><br /><br />前面的章节中，我们描述了MyFaces如何使用Commons File Upload支持上传文件功能。现在让我们来看一个使用这个功能的例子。一个JSF表单(MyForm.jsp）让用户选择文件以及message-digest algorithm，支持的bean(MyBean.java)计算要在别的页面(MyResult.jsp)显示的hash值。这些页面以及支持的bean和一个JSF配置文件(faces-config.xml)相关联。<br /><br /><b>MyForm.jsp页面</b><br />这里的JSF表单使用MyFaces的&lt;x:inputFileUpload&gt;标签，以及一些标准JSF标签,这些JSF标签将在页面生成labels,messages,以及一个包含message-digest algorithms的下拉列表，还有一个使用了JSF表达式的命令按钮，这个按钮用来定义处理上传文件的action方法。<br /><br /><pre class="overflow">&lt;%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%&gt;<br />&lt;%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%&gt;<br />&lt;%@ taglib uri="http://myfaces.apache.org/extensions" prefix="x"%&gt;<br />&lt;f:view&gt;<br />&lt;h:form id="MyForm" enctype="multipart/form-data" &gt;<br />    &lt;h:messages globalOnly="true" styleClass="message"/&gt;<br />    &lt;h:panelGrid columns="3" border="0" cellspacing="5"&gt;<br />        &lt;h:outputLabel for="myFileId" value="File: "/&gt;<br />        &lt;x:inputFileUpload id="myFileId"<br />            value="#{myBean.myFile}"<br />            storage="file"<br />            required="true"/&gt;<br />        &lt;h:message for="myFileId"/&gt;<br />        &lt;h:outputLabel for="myParamId" value="Param: "/&gt;<br />        &lt;h:selectOneMenu id="myParamId"<br />                value="#{myBean.myParam}"<br />                required="true"&gt;<br />            &lt;f:selectItem itemLabel="" itemValue=""/&gt;<br />            &lt;f:selectItem itemLabel="MD5" itemValue="MD5"/&gt;<br />            &lt;f:selectItem itemLabel="SHA-1" itemValue="SHA-1"/&gt;<br />            &lt;f:selectItem itemLabel="SHA-256" itemValue="SHA-256"/&gt;<br />            &lt;f:selectItem itemLabel="SHA-384" itemValue="SHA-384"/&gt;<br />            &lt;f:selectItem itemLabel="SHA-512" itemValue="SHA-512"/&gt;<br />        &lt;/h:selectOneMenu&gt;<br />        &lt;h:message for="myParamId"/&gt;<br />        &lt;h:outputText value=" "/&gt;<br />        &lt;h:commandButton value="Submit"<br />            action="#{myBean.processMyFile}"/&gt;<br />        &lt;h:outputText value=" "/&gt;<br />    &lt;/h:panelGrid&gt;<br />&lt;/h:form&gt;<br />&lt;/f:view&gt;</pre><br /><br />processMyFile() 函数通过一个输入流取得上传文件的内容，这个输入流是通过调用myFile.getInputStream()函数返回的。hash值是使用java.security.MessageDigest计算出来的，然后这个值被转换成一个string,用myResult属性储存。<br /><br /><pre class="overflow">package com.devsphere.articles.jsfupload;<br />...<br />import javax.faces.application.FacesMessage;<br />import javax.faces.context.FacesContext;<br />import java.security.MessageDigest;<br />import java.security.NoSuchAlgorithmException;<br />import java.io.*;<br />public class MyBean {<br />    ...<br />    public String processMyFile() {<br />        try {<br />            MessageDigest md<br />                = MessageDigest.getInstance(myParam);<br />            InputStream in = new BufferedInputStream(<br />                myFile.getInputStream());<br />            try {<br />                byte[] buffer = new byte[64 * 1024];<br />                int count;<br />                while ((count = in.read(buffer)) &gt; 0)<br />                    md.update(buffer, 0, count);<br />            } finally {<br />                in.close();<br />            }<br />            byte hash[] = md.digest();<br />            StringBuffer buf = new StringBuffer();<br />            for (int i = 0; i &lt; hash.length; i++) {<br />                int b = hash[i] &amp; 0xFF;<br />                int c = (b &gt;&gt; 4) &amp; 0xF;<br />                c = c &lt; 10 ? '0' + c : 'A' + c - 10;<br />                buf.append((char) c);<br />                c = b &amp; 0xF;<br />                c = c &lt; 10 ? '0' + c : 'A' + c - 10;<br />                buf.append((char) c);<br />            }<br />            myResult = buf.toString();<br />            return "OK";<br />        } catch (Exception x) {<br />            FacesMessage message = new FacesMessage(<br />                FacesMessage.SEVERITY_FATAL,<br />                x.getClass().getName(), x.getMessage());<br />            FacesContext.getCurrentInstance().addMessage(<br />                null, message);<br />            return null;<br />        }<br />    }<br />}</pre><br /><br /><b>faces-config.xml 文件</b><br />这个JSF配置文件定义了支持的bean在request域以及一个导航规则：<br /><br /><pre class="overflow">&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;!DOCTYPE faces-config PUBLIC<br />    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"<br />    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"&gt;<br />&lt;faces-config&gt;<br />    &lt;managed-bean&gt;<br />        &lt;managed-bean-name&gt;myBean&lt;/managed-bean-name&gt;<br />        &lt;managed-bean-class&gt;<br />            com.devsphere.articles.jsfupload.MyBean<br />        &lt;/managed-bean-class&gt;<br />        &lt;managed-bean-scope&gt;request&lt;/managed-bean-scope&gt;<br />    &lt;/managed-bean&gt;<br />    &lt;navigation-rule&gt;<br />        &lt;from-view-id&gt;/MyForm.jsp&lt;/from-view-id&gt;<br />        &lt;navigation-case&gt;<br />            &lt;from-outcome&gt;OK&lt;/from-outcome&gt;<br />            &lt;to-view-id&gt;/MyResult.jsp&lt;/to-view-id&gt;<br />        &lt;/navigation-case&gt;<br />    &lt;/navigation-rule&gt;<br />&lt;/faces-config&gt;</pre><br /><br /><b>MyResult.jsp 页面</b><br />这个web页面显示了关于上传文件和hash值的一些信息：<br /><br /><pre class="overflow">&lt;%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%&gt;<br />&lt;%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%&gt;<br />&lt;f:view&gt;<br />    &lt;h:panelGrid columns="2" border="0" cellspacing="5"&gt;<br />        &lt;h:outputText value="FileName:"/&gt;<br />        &lt;h:outputText value="#{myBean.myFile.name}"/&gt;<br />        &lt;h:outputText value="FileSize:"/&gt;<br />        &lt;h:outputText value="#{myBean.myFile.size}"/&gt;<br />        &lt;h:outputText value="Param:"/&gt;<br />        &lt;h:outputText value="#{myBean.myParam}"/&gt;<br />        &lt;h:outputText value="Result:"/&gt;<br />        &lt;h:outputText value="#{myBean.myResult}"/&gt;<br />    &lt;/h:panelGrid&gt;<br />&lt;/f:view&gt;</pre><br /><br />事实上，显示的文件名字可能是在客户端文件系统的完整路径，正如在下面的浏览器中看到的：<br /><br /><img style="DISPLAY: inline" onclick="javascript:imgClick(this);" alt="image" src="http://www.matrix.org.cn/resource/upload/content/2005_08_31_000854_MDcPlSyiju.gif" onload="javascript:imgLoad(this);" border="0" twffan="done" resized="0" /><br />图2. 结果图<br /><br /><b><span style="FONT-SIZE: 16px" twffan="done">总结</span></b><br />在很多情况下，用户需要通过他们的浏览器上传文件，但在服务器方面并没有处理这些文件的良好方式。把小文件保存在内存里是可以接受的，但把大文件保存在临时文件里会让情况复杂。MyFaces让你选择的解决方法对你的应用程序很有帮助，但这个框架有几个小问题：当你已不再需要某个临时文件时，它却不让你删除；文件名有时候是文件路径；并且用户上传过大文件时它没有任何警告信息。但这些bug是可以修复的，因为源码可以修改的。这篇文章已经说明哪些地方的代码可以提高。不过，你可能会发现，对于很多应用程序来说，原有的MyFaces就已经足够了。这篇文章的例子是在JSF 1.1.01, MyFaces 1.0.9,和 Commons File Upload 1.0下测试的。<br /><br /><br /><b><span style="FONT-SIZE: 16px" twffan="done">资源</span></b><br />本文的范例代码: 
<div id="download" twffan="done"><a href="http://www.matrix.org.cn/resource/upload/content/2005_08_31_000934_hblnvSfdCa.zip">Download File</a></div><br />JavaServer Faces :http://java.sun.com/j2ee/javaserverfaces/<br />Apache MyFaces (参见: CodeZoo: MyFaces) :http://myfaces.apache.org/<br />Oracle ADF Faces:http://<span id="TheWorldKeyWord" style="BACKGROUND: #ffff00; COLOR: #000000">www</span>.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/jsf/index.html <br />Commons FileUpload:http://jakarta.apache.org/commons/fileupload/ <br /><br />Andrei Cioroianu 是Devsphere的创始人，分别在ONJava, JavaWorld, 及 Java Developer's Journal  上发表了许多文章。 <br /><br /></div>
<img src ="http://JAAJ.blogjava.net/aggbug/78472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-11-01 14:25 <a href="http://www.blogjava.net/itvincent/archive/2006/11/01/78472.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]Facelets 非常适合 JSF  </title><link>http://www.blogjava.net/itvincent/archive/2006/11/01/78400.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Wed, 01 Nov 2006 01:09:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/11/01/78400.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Facelets 非常适合 JSF 																						最终形成了专为 JSF 设计的视图技术！																																																																																																								...&nbsp;&nbsp;<a href='http://www.blogjava.net/itvincent/archive/2006/11/01/78400.html'>阅读全文</a><img src ="http://JAAJ.blogjava.net/aggbug/78400.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-11-01 09:09 <a href="http://www.blogjava.net/itvincent/archive/2006/11/01/78400.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>7168个病毒样本下载 </title><link>http://www.blogjava.net/itvincent/archive/2006/10/26/77498.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Thu, 26 Oct 2006 15:08:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/10/26/77498.html</guid><description><![CDATA[A-Z开头病毒样本打包下载，压缩文件内约7159个文件，约3573个病毒！看看各种杀毒软件能查出几个。验证一下查杀病毒的真正能力吧。仅供研究之用！<br /><br />压缩包里面全部是病毒程序，千万不要解压运行。<br />用你的杀毒软件查这个压缩包，如果查出的病毒数少于3542个的话，你还是换换杀毒软件吧。<br /><br /><a href="http://www.365mf.com/soft/6293.htm">7168个病毒样本下载 </a><br /><br />==========================================================================<br /><br />我用卡巴6.0互联网套装查过,查出3512个病毒<br /><br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /><br />Nod32 2.5 已发现的病毒数目：3459<img src ="http://JAAJ.blogjava.net/aggbug/77498.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-10-26 23:08 <a href="http://www.blogjava.net/itvincent/archive/2006/10/26/77498.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Facade模式笔记—Facade的优点</title><link>http://www.blogjava.net/itvincent/archive/2006/10/26/77341.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Thu, 26 Oct 2006 02:10:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/10/26/77341.html</guid><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="COLOR: blue; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">Facade</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="COLOR: blue; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">模式笔记</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="COLOR: blue; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">—Facade</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="COLOR: blue; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">的优点</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="COLOR: blue; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
								<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">1.Facade class</span>
				<span twffan="done">
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">是无状态的类</span>
				</span>
				<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<span lang="EN-US">
								<span twffan="done">(</span>
						</span>
				</span>
				<span twffan="done">
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">也就是说它里面不保存任何和状态有关的量</span>
				</span>
				<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<span lang="EN-US">
								<span twffan="done">)</span>
						</span>
				</span>
				<span twffan="done">
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">，一个</span>
				</span>
				<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<span lang="EN-US">
								<span twffan="done">Facade</span>
						</span>
				</span>
				<span twffan="done">
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">的对象可以同时被多个其他的对象使用。</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">2.Facade</span>
				<span twffan="done">
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">模式给我们一个普遍的使用方法。在本模式中的</span>
				</span>
				<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<span lang="EN-US">
								<span twffan="done">Facade</span>
						</span>
				</span>
				<span twffan="done">
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">类的实质就是我们为客户端创建新的接口，而不是去继续使用原有的接口。我们可以这样做，是因为我们不需要使用原始系统中的所有方法。</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">3.</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">可以对系统进行封装</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">,</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">只暴露给客户端使用的接口</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">4.</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">可以在不同系统间进行切换</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">,</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">只需要修改</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">Facade</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">类里所能调用的实际执行任务的类和方法</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">,</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">虽然这样的工作还是很多</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">,</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">但只需要修改一个</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">Facade</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">类</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">5.</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">方便在添加新功能</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">,</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">只需要在</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">Facade</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">里添加新的方法</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">,</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">然后调用拥有新功能的类或方法就可以了</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">,</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Tahoma">原来实际执行任务的类不需改变</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">.<o:p></o:p></span>
		</p>
<img src ="http://JAAJ.blogjava.net/aggbug/77341.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-10-26 10:10 <a href="http://www.blogjava.net/itvincent/archive/2006/10/26/77341.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>正则表达式笔记</title><link>http://www.blogjava.net/itvincent/archive/2006/10/26/77337.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Thu, 26 Oct 2006 01:57:00 GMT</pubDate><guid>http://www.blogjava.net/itvincent/archive/2006/10/26/77337.html</guid><description><![CDATA[
		<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
				<font face="Tahoma">
						<font size="2">
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="center">
										<font size="3">
												<span>
														<strong>正则表达式笔记 <span lang="EN-US" style="COLOR: #000099"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></strong>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span>
														<strong>1.[] 与 <span lang="EN-US" style="COLOR: #000099">()</span><span lang="EN-US"></span>的区别 <span lang="EN-US" style="COLOR: #000099"><o:p></o:p></span></strong>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">[a-zA-Z0-9]</span>
												<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Verdana; mso-bidi-font-family: Tahoma">在包含的字符中</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Verdana; mso-bidi-font-family: Tahoma">匹配其中一个</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Verdana; mso-bidi-font-family: Tahoma">可匹配</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">”!a!”</span>
														<span lang="EN-US">
																<span style="COLOR: black">
																		<o:p>
																		</o:p>
																</span>
														</span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">(abc)</span>
												<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Verdana; mso-bidi-font-family: Tahoma">在包含的字符中</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Verdana; mso-bidi-font-family: Tahoma">都要逐一匹配</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Verdana; mso-bidi-font-family: Tahoma">而且有顺序</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Verdana; mso-bidi-font-family: Tahoma">其实就是说</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,()</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Verdana; mso-bidi-font-family: Tahoma">里面就是一个字正则式</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
																<span style="COLOR: black">
																		<o:p>
																		</o:p>
																</span>
														</span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Verdana; mso-bidi-font-family: Tahoma">可匹配</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">”3abc<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="93" unitname="”">93”</st1:chmetcnv></span>
														<span lang="EN-US">
																<span style="COLOR: black">
																		<o:p>
																		</o:p>
																</span>
														</span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<span>
												<strong>
														<font size="3">2. 表达式之间千万不能有空格 <span lang="EN-US" style="COLOR: #000099"><o:p></o:p></span></font>
												</strong>
										</span>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<span lang="EN-US" style="COLOR: #000099; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<o:p>
														<strong>
																<font size="3"> </font>
														</strong>
												</o:p>
										</span>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<span>
												<strong>
														<font size="3">３ <span lang="EN-US" style="COLOR: #000099">.</span><span lang="EN-US"></span>构造检查 <span lang="EN-US" style="COLOR: #000099">email</span><span lang="EN-US"></span>的正则表达式 <span lang="EN-US" style="COLOR: black"><o:p></o:p></span></font>
												</strong>
										</span>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/</span>
												<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span style="COLOR: black">
																<o:p>
																</o:p>
														</span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">　　在一个完整的</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0cm; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0cm; BACKGROUND: yellow; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt">email</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">地址中有三个部分</span>
										</font>
										<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<font size="3">
												</font>
												<span lang="EN-US" style="COLOR: black">
														<font size="3">: <br /></font>
												</span>
										</span>
										<font size="3">
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">　　</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">1. </span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">用户名</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">(</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">在</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">'@' </span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">左边的一切</span>
										</font>
										<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<font size="3">
												</font>
												<span lang="EN-US" style="COLOR: black">
														<font size="3">), <br /></font>
												</span>
										</span>
										<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">
												<font size="3">　　</font>
										</span>
										<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<font size="3">
												</font>
												<span lang="EN-US" style="COLOR: black">
														<font size="3">2.'@',<br /></font>
												</span>
										</span>
										<font size="3">
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">　　</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">3. </span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">服务器名</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">(</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">就是剩下那部分</span>
										</font>
										<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<font size="3">
												</font>
												<span lang="EN-US" style="COLOR: black">
														<font size="3">). <br /></font>
												</span>
										</span>
										<font size="3">
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">　　用户名可以含有大小写字母阿拉伯数字</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">句号</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">('.'), </span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">减号</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">('-'), and </span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">下划线</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">('_'). </span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">服务器名字也是符合这个规则</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">当然下划线除外</span>
										</font>
										<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<font size="3">
												</font>
												<span lang="EN-US" style="COLOR: black">
														<font size="3">. <br /><br /></font>
												</span>
										</span>
										<font size="3">
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">　　现在</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">, </span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">用户名的开始和结束都不能是句点</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">. </span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">服务器也是这样</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">. </span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">还有你不能有两个连续的句点他们之间至少存在一个字符，好现在我们来看一下怎么为用户名写一个匹配模式</span>
										</font>
										<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<font size="3">
												</font>
												<span lang="EN-US" style="COLOR: black">
														<font size="3">: <br /><br /></font>
												</span>
										</span>
										<font size="3">
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">　　</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">/^[\w-]+$/ <o:p></o:p></span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span>
												<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span style="COLOR: black">
																<o:p>
																</o:p>
														</span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">　　现在还不能允许句号的存在</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">. </span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">我们把它加上</span>
										</font>
										<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<font size="3">
												</font>
												<span lang="EN-US" style="COLOR: black">
														<font size="3">: <br /></font>
												</span>
										</span>
										<font size="3">
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">　　</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">/^[\w-]+(\.[\w-]+)</span>
														<span lang="EN-US">
																<span style="COLOR: red">*</span>
																<span style="COLOR: black">$/ <o:p></o:p></span>
														</span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span>
												<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span style="COLOR: black">
																<o:p>
																</o:p>
														</span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">　　上面的意思就是说</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">: "</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">以至少一个规范字符（除了</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">.</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">）开头</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">后面跟着</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: red">0</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: red; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">个或者多个</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">以点开始的字符串</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">." <o:p></o:p></span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span>
												<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span style="COLOR: black">
																<o:p>
																</o:p>
														</span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span style="mso-tab-count: 1">       </span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">然后是后面一部分</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">在网上流传的一种做法是</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">后面的一部分是跟前面那部分一样的</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">但是我觉得有点不妥</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">难道</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">abc@abc</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">这样也符合一个</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">email</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">地址格式吗</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">?</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">我试过不少的系统</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">都不允许这样输入的</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">必需要你输入如</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">abc@abc.abc</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">这样的格式才行．所以后面部分是略有不同的．</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">
																<o:p>
																</o:p>
														</span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span style="mso-tab-count: 1">       </span>\^[\w-]+(\.[w-]+)</span>
												<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												</span>
												<span style="COLOR: red; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">＋</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">$\</span>
														<span lang="EN-US">
																<span style="COLOR: black">
																		<o:p>
																		</o:p>
																</span>
														</span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">上面的意思就是说</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">: "</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">以至少一个规范字符（除了</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">.</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">）开头</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">,</span>
														<span lang="EN-US">
														</span>
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">后面跟着</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												</span>
												<span style="COLOR: red; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">１个或者多个</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												</span>
												<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">以点开始的字符串</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US" style="COLOR: black">." <o:p></o:p></span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<o:p>
														<font size="3"> </font>
												</o:p>
										</span>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">好</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">. </span>
												</span>
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">现在只需要用</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">”@” </span>
												</span>
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">把两部分连接</span>
										</font>
										<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<font size="3">
												</font>
												<span lang="EN-US">
														<font size="3">: <br /></font>
												</span>
										</span>
										<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">
												<font size="3">　　</font>
										</span>
										<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<font size="3">
												</font>
												<span lang="EN-US">
														<font size="3">/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[w-]+)+$/<br /><br /></font>
												</span>
										</span>
										<font size="3">
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">　　这就是完整的</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">email </span>
												</span>
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">认证匹配模式了</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">, </span>
												</span>
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">在</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">JS </span>
												</span>
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">中只需要调用</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">
																<o:p>
																</o:p>
														</span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<font size="3">reg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[w-]+)+$/; <o:p></o:p></font>
										</span>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<font size="3">reg.exec(input); <o:p></o:p></font>
										</span>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<font size="3">
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">返回为</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">true, </span>
												</span>
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">就是说</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">input </span>
												</span>
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">是一个</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">email </span>
												</span>
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">地址</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">. <o:p></o:p></span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="left">
										<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<br />
										</span>
										<font size="3">
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">　　通过这种方法就可以得到是否为</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">email </span>
												</span>
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">了</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">, </span>
												</span>
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">有什么说得不对的</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">, </span>
												</span>
												<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">请各位指正</span>
												<span style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
														<span lang="EN-US">! <o:p></o:p></span>
												</span>
										</font>
								</p>
								<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left">
										<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
												<o:p>
														<font size="3"> </font>
												</o:p>
										</span>
								</p>
								<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
										<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt">
												<o:p>
														<font size="3"> </font>
												</o:p>
										</span>
								</p>
								<p class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-pagination: widow-orphan; mso-margin-bottom-alt: auto" align="center">
								</p>
						</font>
				</font>
		</span> <img src ="http://JAAJ.blogjava.net/aggbug/77337.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/itvincent/" target="_blank">itVincent</a> 2006-10-26 09:57 <a href="http://www.blogjava.net/itvincent/archive/2006/10/26/77337.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>