??xml version="1.0" encoding="utf-8" standalone="yes"?>视频一区国产精品,91精品国产高清自在线 ,天堂网www中文在线http://www.aygfsteel.com/Andyluo/category/1761.html<table><tr><td><font color="blue">ȝw体、提升技能、修w养?lt;/font><br> 讨论Eclipse, Java, Linux, Google产品<br> </td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td> <!-- google script --></td></tr></table>zh-cnFri, 16 May 2008 04:22:48 GMTFri, 16 May 2008 04:22:48 GMT60Rational Application Developer (RAD) 出现“JVM terminated. Exit code=1”错误的解决Ҏ(gu)http://www.aygfsteel.com/Andyluo/archive/2008/05/16/RAD-JVM-Exit-Error.html|明|明Fri, 16 May 2008 03:06:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2008/05/16/RAD-JVM-Exit-Error.htmlhttp://www.aygfsteel.com/Andyluo/comments/200825.htmlhttp://www.aygfsteel.com/Andyluo/archive/2008/05/16/RAD-JVM-Exit-Error.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/200825.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/200825.html

在网上找?jin)很久才扑ֈdeveloperWorks上的一个解x案:(x)

在命令提C符里切换到目录“C:\Program Files\IBM\SDP70\jdk\jre\bin”Q运?#8220;java.exe -Xshareclasses:destroyAll”

q样p正常启动RAD?jin)?/strong> 

原因描述如下Q?/p>

Q摘录自http://www-1.ibm.com/support/docview.wss?uid=swg21281393Qƈ通过Google Translate转译Q译文已作修改)(j)

×××××××××××××××××××××××××××××××××××××

问题Q摘要)(j)
此说明解释如何解决错?#8220;JVM的终止。退Z? 1”?br />
起因
RAD自带的IBM JVM使用?jin)一个高速缓存参数来提高性能。而因为JVM的崩溃,比如蓝屏Q或断电(sh)Q都可能造成Java高速缓存被损坏?而JVM?x)拒l连接到一个损坏的高速缓存?/p>

解决问题
要解册个问题,使用“-Xshareclasses:destroyAll”的Java选项销毁所有的׃nU缓存。这是一U实用工具选项Q所以不?x)启动JVM 。如果?zhn)惌q么做,只要从命令提C符使用参数“-Xshareclasses:destroyAll”来运行RAD使用的java?/p>

××××××××××××××××××××××××××××××××××××××



|明 2008-05-16 11:06 发表评论
]]>
~程谜题 - 2http://www.aygfsteel.com/Andyluo/archive/2008/05/07/pythonPuzzle2.html|明|明Wed, 07 May 2008 08:11:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2008/05/07/pythonPuzzle2.htmlhttp://www.aygfsteel.com/Andyluo/comments/198994.htmlhttp://www.aygfsteel.com/Andyluo/archive/2008/05/07/pythonPuzzle2.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/198994.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/198994.htmlhttp://www.pythonchallenge.com/pc/def/ocr.html
从一大堆q中找出可以理解的信息Q字母)(j)

Java解决Ҏ(gu)Q?br />
public class Test {

    
public static void main(String[] args) throws Exception {
        URL url 
= new URL("http://www.pythonchallenge.com"
           + "
/pc/def/ocr.html");
        BufferedReader reader 
= new BufferedReader(new
          
InputStreamReader(url.openStream()));
        StringBuffer sb = new StringBuffer();
        
int i = reader.read();
        
while(i != -1)
        {
            
if((i >= (int)'A' && i <= (int)'Z')
              
|| (i >= (int)'a' && i <= (int)'z'))
            {
                sb.append((
char)i);
            }
            i 
= reader.read();
        }
        reader.close();
        String source 
= sb.toString();
        
       
//面源码中最后一个单词是below
        System.out.println(
          
source.substring(source.indexOf("below"+ 5)
        );
    }
}

附Python和ShellQ?br />
Python:
>>> text = """
             <copy and paste>
"""
>>> import string
>>> for i in text:
        
if i in string.ascii_letters:
        
print i,

Shell:
$ curl http://www.pythonchallenge.com/pc/def/ocr.html | grep -o [a-z]


|明 2008-05-07 16:11 发表评论
]]>
~程谜题1http://www.aygfsteel.com/Andyluo/archive/2008/05/06/pythonTrick1.html|明|明Tue, 06 May 2008 10:02:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2008/05/06/pythonTrick1.htmlhttp://www.aygfsteel.com/Andyluo/comments/198768.htmlhttp://www.aygfsteel.com/Andyluo/archive/2008/05/06/pythonTrick1.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/198768.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/198768.htmlhttp://www.pythonchallenge.com/pc/def/map.html

Java解决Ҏ(gu)Q?
 1 public class Test {
 2     public static void main(String[] args) {
 3         String a = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq "
              + "
ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb "
              + "gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq "
              + "qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. "
              + "lmu ynnjw ml rfc spj.";
 4         char[] ac = a.toCharArray();
 5         int zi = (int)'z';
 6         int ai = (int)'a';
 7         for(int index=0; index<ac.length; index++)
 8         {
 9             int aci = (int)ac[index];
10             if(aci >= ai && aci <= zi)
11             {
12                 int aci2 = (int)ac[index] + 2;
13                 
14                 System.out.print((char)((aci2>zi)?(aci2%(zi+1)+ai):aci2));
15             }
16             else
17             {
18                 System.out.print((char)aci);
19             }
20         }
21     }
22 }

附上Python和Shell解决Ҏ(gu)Q?br />
Python:
1 >>> import string
2 >>> text = """g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr
3  amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q
4   ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb.
5  lmu ynnjw ml rfc spj."""
6 >>> table = string.maketrans(
7    string.ascii_lowercase,
8    string.ascii_lowercase[2:]+string.ascii_lowercase[:2])

Shell:
$ tr [a-z] [c-za-b]



|明 2008-05-06 18:02 发表评论
]]>
让OSGi支持JSF Web开?/title><link>http://www.aygfsteel.com/Andyluo/archive/2007/10/08/jsf-support-in-osgi.html</link><dc:creator>|明</dc:creator><author>|明</author><pubDate>Mon, 08 Oct 2007 07:05:00 GMT</pubDate><guid>http://www.aygfsteel.com/Andyluo/archive/2007/10/08/jsf-support-in-osgi.html</guid><wfw:comment>http://www.aygfsteel.com/Andyluo/comments/151068.html</wfw:comment><comments>http://www.aygfsteel.com/Andyluo/archive/2007/10/08/jsf-support-in-osgi.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Andyluo/comments/commentRss/151068.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Andyluo/services/trackbacks/151068.html</trackback:ping><description><![CDATA[     摘要: 在equinox的Server-Side application中添加JSF支持  <a href='http://www.aygfsteel.com/Andyluo/archive/2007/10/08/jsf-support-in-osgi.html'>阅读全文</a><img src ="http://www.aygfsteel.com/Andyluo/aggbug/151068.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Andyluo/" target="_blank">|明</a> 2007-10-08 15:05 <a href="http://www.aygfsteel.com/Andyluo/archive/2007/10/08/jsf-support-in-osgi.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[OSGi]Z么我们需要BndQ?/title><link>http://www.aygfsteel.com/Andyluo/archive/2007/08/26/why-you-need-Bnd.html</link><dc:creator>|明</dc:creator><author>|明</author><pubDate>Sun, 26 Aug 2007 14:20:00 GMT</pubDate><guid>http://www.aygfsteel.com/Andyluo/archive/2007/08/26/why-you-need-Bnd.html</guid><wfw:comment>http://www.aygfsteel.com/Andyluo/comments/139641.html</wfw:comment><comments>http://www.aygfsteel.com/Andyluo/archive/2007/08/26/why-you-need-Bnd.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Andyluo/comments/commentRss/139641.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Andyluo/services/trackbacks/139641.html</trackback:ping><description><![CDATA[     摘要: 刚收C个Google提醒Q是关于一谈论OSGi的博客文章。文章作者Jilles van Gurp开便U赞OSGiQ但随之抨击OSGi的一些工兗他不能忍受的关键,在于需要把包的导入一行一行的加到manifestQ他q认为manifest的格式很p糕。我不同意他的看法,因ؓ(f)Bnd完全可以满他提到的需求?<br>  <a href='http://www.aygfsteel.com/Andyluo/archive/2007/08/26/why-you-need-Bnd.html'>阅读全文</a><img src ="http://www.aygfsteel.com/Andyluo/aggbug/139641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Andyluo/" target="_blank">|明</a> 2007-08-26 22:20 <a href="http://www.aygfsteel.com/Andyluo/archive/2007/08/26/why-you-need-Bnd.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2007 Java Developer's Journal Readers' Choice Awards (zz)http://www.aygfsteel.com/Andyluo/archive/2007/08/17/JavaDeveloperAwards2007.html|明|明Fri, 17 Aug 2007 01:47:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2007/08/17/JavaDeveloperAwards2007.htmlhttp://www.aygfsteel.com/Andyluo/comments/137465.htmlhttp://www.aygfsteel.com/Andyluo/archive/2007/08/17/JavaDeveloperAwards2007.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/137465.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/137465.html阅读全文

|明 2007-08-17 09:47 发表评论
]]>
OSGi框架规范W???要介l?/title><link>http://www.aygfsteel.com/Andyluo/archive/2007/06/29/OSGi_Introduction.html</link><dc:creator>|明</dc:creator><author>|明</author><pubDate>Fri, 29 Jun 2007 06:18:00 GMT</pubDate><guid>http://www.aygfsteel.com/Andyluo/archive/2007/06/29/OSGi_Introduction.html</guid><wfw:comment>http://www.aygfsteel.com/Andyluo/comments/127065.html</wfw:comment><comments>http://www.aygfsteel.com/Andyluo/archive/2007/06/29/OSGi_Introduction.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Andyluo/comments/commentRss/127065.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Andyluo/services/trackbacks/127065.html</trackback:ping><description><![CDATA[     摘要: Eclipse?.0版本开始采用基于OSGi的插件体pȝ构。这文章简要介lOSGi框架的功能架构。OSGi框架是OSGi服务q_规范的核?j)部分。该框架提供?jin)一个大众化Q安全,可管理的q_Q可以支持可扩展可下载应用插件的部vQ我们称q些应用插g为Bundle?nbsp; <a href='http://www.aygfsteel.com/Andyluo/archive/2007/06/29/OSGi_Introduction.html'>阅读全文</a><img src ="http://www.aygfsteel.com/Andyluo/aggbug/127065.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Andyluo/" target="_blank">|明</a> 2007-06-29 14:18 <a href="http://www.aygfsteel.com/Andyluo/archive/2007/06/29/OSGi_Introduction.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>制止打嗝的土Ҏ(gu)http://www.aygfsteel.com/Andyluo/archive/2007/05/28/HowToStopDaGe.html|明|明Mon, 28 May 2007 15:10:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2007/05/28/HowToStopDaGe.htmlhttp://www.aygfsteel.com/Andyluo/comments/120571.htmlhttp://www.aygfsteel.com/Andyluo/archive/2007/05/28/HowToStopDaGe.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/120571.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/120571.html要准备的东东Q一杯清?br>
Ҏ(gu)Q含一大口_(d)口分多ơ吞下,直至不打嗝?Q一般两大口水量可以搞定)(j)

PS: 代码实现Q?br>

while(打嗝)
{
   
for(int index=0; index<2; index++)
   {
      含一大口_(d)
      
whileQ口中还有水Q?br>      {
         吞一口Q?br>         no sleepQ?br>      }
      no sleepQ?br>   }
   sleep 5U;
}


|明 2007-05-28 23:10 发表评论
]]>
JSP标签使用和表单参C文问题的一些snippetshttp://www.aygfsteel.com/Andyluo/archive/2007/01/09/tag_encoding_snippets.html|明|明Tue, 09 Jan 2007 13:28:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2007/01/09/tag_encoding_snippets.htmlhttp://www.aygfsteel.com/Andyluo/comments/92744.htmlhttp://www.aygfsteel.com/Andyluo/archive/2007/01/09/tag_encoding_snippets.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/92744.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/92744.html         在《J2EE》课E实验里写了(jin)些jsp和servlet代码Q将遇到的一些问题和解决Ҏ(gu)贴上Q自己mark一下?amp;& 供大家参?br />
1、jsp:usebean标签中, 若引用的bean不存在,?x)自动调用默认构造器生成一个javabean实例Q所以不要在servlet里再用session.getAttribute来判断bean是否为空Q因定不为空Q,应该判断里面的字D|否ؓ(f)null或ؓ(f)初始化状态?/p>

2、jsp:usebean 的class属性应该是cȝ全名Q包括包名)(j)。在前面<%@ import>中import的包Q在tag里不起作用,只对jsp里面的java代码有用Q所以tag里要使用cȝ全名

3、post时如果表单里有中文,?x)出C文ؕ码,在servlet里调用request.getParameter之前执行request.setCharacterEncoding("gb2312");可以正识别和昄中文?jin)?br />
如果是url中用中文参数Q如someaction.jsp?q=中文问题Q则要加一个filter来setEncodingQ因为post和get传送参数的处理方式不一栗url中包含中文参数的讄参考:(x)http://www.itet.cn/0512456328001529/JSP/0691214511318687.html



|明 2007-01-09 21:28 发表评论
]]>
CSS属性列表及(qing)对应的JS DOM属性映?[ZZ]http://www.aygfsteel.com/Andyluo/archive/2006/12/09/cssAttributes.html|明|明Sat, 09 Dec 2006 13:40:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/12/09/cssAttributes.htmlhttp://www.aygfsteel.com/Andyluo/comments/86587.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/12/09/cssAttributes.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/86587.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/86587.html阅读全文

|明 2006-12-09 21:40 发表评论
]]>
Z么用PreparedStatement而不是直接用"+"q接SQL语句http://www.aygfsteel.com/Andyluo/archive/2006/11/01/78549.html|明|明Wed, 01 Nov 2006 12:18:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/11/01/78549.htmlhttp://www.aygfsteel.com/Andyluo/comments/78549.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/11/01/78549.html#Feedback2http://www.aygfsteel.com/Andyluo/comments/commentRss/78549.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/78549.html最开?我在E序里用SQL讉K数据库时Q都是直接用?”将字段值嵌到SQL中。?

String sql  =   " select s.name from student s where s.id=' "   +  sId  +   " ' "Q?/span>


后来我开始?strong>PreparedStatement
Q在SQL里用“?”标记参敎ͼ然后用setXXXҎ(gu)l参数赋倹{当时只知道q样用是因ؓ(f)?strong>setDateQsetTimeStampq些用?”连接不能直接嵌入的倹{?br />
感觉PreparedStatement?strong>性能斚w应该也能快点Q可能DBMS?x)重用,但不明底层原理?br />
q次《数据库实现》课E终于让我弄懂了(jin)Q?strong>每个SQL语句都要通过 语法分析 -> 生成逻辑查询计划 -> 逻辑优化 -> 物理优化 {步骤生成具体的执行计划Q用PreparedStatement可以生成一个执行计划,以后只是参数改变Q相当于执行计划?strong>执行环境改变Q,前面的四个步骤也?strong>省略Q从而提高了(jin)效率?br />
如果一个SQL语句要被反复多次执行Q或多用户同时操作,则应选用PreparedStatementQ?/p>

|明 2006-11-01 20:18 发表评论
]]>E序员自创的一首歌 - "Java EE 5"http://www.aygfsteel.com/Andyluo/archive/2006/06/30/JavaSong.html|明|明Fri, 30 Jun 2006 00:40:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/06/30/JavaSong.htmlhttp://www.aygfsteel.com/Andyluo/comments/55847.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/06/30/JavaSong.html#Feedback2http://www.aygfsteel.com/Andyluo/comments/commentRss/55847.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/55847.html阅读全文

|明 2006-06-30 08:40 发表评论
]]>
实现cMselect new EntityClass(p.attr1,substring(p.attr2),...) EJB QL的功?/title><link>http://www.aygfsteel.com/Andyluo/archive/2006/05/30/49115.html</link><dc:creator>|明</dc:creator><author>|明</author><pubDate>Tue, 30 May 2006 14:03:00 GMT</pubDate><guid>http://www.aygfsteel.com/Andyluo/archive/2006/05/30/49115.html</guid><wfw:comment>http://www.aygfsteel.com/Andyluo/comments/49115.html</wfw:comment><comments>http://www.aygfsteel.com/Andyluo/archive/2006/05/30/49115.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Andyluo/comments/commentRss/49115.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Andyluo/services/trackbacks/49115.html</trackback:ping><description><![CDATA[在EJB3.0代码里直接用select new EntityClass(p.attr1,substring(p.attr2),...) .....报错Q说不能识别?”,估计是substring后面的?”,N是EJB QL没这U语法?<br /><br />在网上找q样的代码或实现Ҏ(gu)未果Q查<a class="" title="" target="_blank">EJB 3.0规范</a>Q里面有一个EJB QL的范式描qͼ原来在QL里只能在where条g里用字W串函数Q在select new里估计是不行?jin),后来惛_<strong>select new 要调用EntityClass的构造函数来构徏EntityClass实例</strong>Q所以考虑在EntityClass的构造方法里调用substring{方法,实践之,执行成功QmarkQ?br /><br />Q文章短?jin)点Q但如果能解军_人的问题Q也是不错的。post完l写E序QhohoQ?img src ="http://www.aygfsteel.com/Andyluo/aggbug/49115.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Andyluo/" target="_blank">|明</a> 2006-05-30 22:03 <a href="http://www.aygfsteel.com/Andyluo/archive/2006/05/30/49115.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>111个知名Java目集锦Q包括url和描qͼ(j)http://www.aygfsteel.com/Andyluo/archive/2006/04/15/javaprojects.html|明|明Sat, 15 Apr 2006 10:49:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/04/15/javaprojects.htmlhttp://www.aygfsteel.com/Andyluo/comments/41256.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/04/15/javaprojects.html#Feedback8http://www.aygfsteel.com/Andyluo/comments/commentRss/41256.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/41256.html阅读全文

|明 2006-04-15 18:49 发表评论
]]>
如何小数{换成癑ֈ?/title><link>http://www.aygfsteel.com/Andyluo/archive/2006/03/27/convertToPercent.html</link><dc:creator>|明</dc:creator><author>|明</author><pubDate>Mon, 27 Mar 2006 11:48:00 GMT</pubDate><guid>http://www.aygfsteel.com/Andyluo/archive/2006/03/27/convertToPercent.html</guid><wfw:comment>http://www.aygfsteel.com/Andyluo/comments/37672.html</wfw:comment><comments>http://www.aygfsteel.com/Andyluo/archive/2006/03/27/convertToPercent.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Andyluo/comments/commentRss/37672.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Andyluo/services/trackbacks/37672.html</trackback:ping><description><![CDATA[有朋友在里问了(jin)q个问题Q印象中Java没有q方面的函数Q百分数转换为小数倒是有一个)(j)Q而且直接乘以100?x)得出类?.5999999999的结果,在网上也没有搜到cM的解x案,所以把我们的讨论结果发上来Q肯定不是最优解Q也希望来访者留下你们的解决办法Q只要能优化其中的某一D就可以Q?br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> String convert(String orignal)<br /><img id="Codehighlighter1_39_617_Open_Image" onclick="this.style.display='none'; Codehighlighter1_39_617_Open_Text.style.display='none'; Codehighlighter1_39_617_Closed_Image.style.display='inline'; Codehighlighter1_39_617_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_39_617_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_39_617_Closed_Text.style.display='none'; Codehighlighter1_39_617_Open_Image.style.display='inline'; Codehighlighter1_39_617_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_39_617_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"><img src="http://www.aygfsteel.com/images/dot.gif" /></span><span id="Codehighlighter1_39_617_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">L数后面的零|如:(x)0.02500</span><span style="COLOR: #008000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">    String noDotInteger </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> I(yng)nteger.parseInt    (str.replace(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">''</span><span style="COLOR: #000000">)) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">2500</span><span style="COLOR: #008000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> lengthOfZero </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> noDotInteger.length() </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> noDotInteger.indexOf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">2</span><span style="COLOR: #008000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">    str </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> str.substring(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, str.length() </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> lengthOfZero);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">0.025 <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">转换成百分数字符?/span><span style="COLOR: #008000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> index </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> orignal.indexOf(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(index </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> orignal.length() </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_385_515_Open_Image" onclick="this.style.display='none'; Codehighlighter1_385_515_Open_Text.style.display='none'; Codehighlighter1_385_515_Closed_Image.style.display='inline'; Codehighlighter1_385_515_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_385_515_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_385_515_Closed_Text.style.display='none'; Codehighlighter1_385_515_Open_Image.style.display='inline'; Codehighlighter1_385_515_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_385_515_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"><img src="http://www.aygfsteel.com/images/dot.gif" /></span><span id="Codehighlighter1_385_515_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> orignal.substring(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,index) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> orignal.substring(index </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,index </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> orignal.substring(index </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_530_615_Open_Image" onclick="this.style.display='none'; Codehighlighter1_530_615_Open_Text.style.display='none'; Codehighlighter1_530_615_Closed_Image.style.display='inline'; Codehighlighter1_530_615_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_530_615_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_530_615_Closed_Text.style.display='none'; Codehighlighter1_530_615_Open_Image.style.display='inline'; Codehighlighter1_530_615_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_530_615_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"><img src="http://www.aygfsteel.com/images/dot.gif" /></span><span id="Codehighlighter1_530_615_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />       </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> orignal.substring(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,index) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> orignal.substring(index </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"> <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span></div><br />l:(x)J2MEl合技术讨论群 的刘军提Z(jin)他的解决Ҏ(gu)Q?br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.math.BigDecimal;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> Hello<br /><img id="Codehighlighter1_48_221_Open_Image" onclick="this.style.display='none'; Codehighlighter1_48_221_Open_Text.style.display='none'; Codehighlighter1_48_221_Closed_Image.style.display='inline'; Codehighlighter1_48_221_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_48_221_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_48_221_Closed_Text.style.display='none'; Codehighlighter1_48_221_Open_Image.style.display='inline'; Codehighlighter1_48_221_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_48_221_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"><img src="http://www.aygfsteel.com/images/dot.gif" /></span><span id="Codehighlighter1_48_221_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main(String args[])<br /><img id="Codehighlighter1_91_219_Open_Image" onclick="this.style.display='none'; Codehighlighter1_91_219_Open_Text.style.display='none'; Codehighlighter1_91_219_Closed_Image.style.display='inline'; Codehighlighter1_91_219_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_91_219_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_91_219_Closed_Text.style.display='none'; Codehighlighter1_91_219_Open_Image.style.display='inline'; Codehighlighter1_91_219_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_91_219_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"><img src="http://www.aygfsteel.com/images/dot.gif" /></span><span id="Codehighlighter1_91_219_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        String s </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">0.025</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        BigDecimal bd </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> BigDecimal(s);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(bd.multiply(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> BigDecimal(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">))); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">输出2.500</span><span style="COLOR: #008000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="COLOR: #000000">    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"> </span></div><br />山城子则说用java.text.DecimalFormat最好最方便Q?img src ="http://www.aygfsteel.com/Andyluo/aggbug/37672.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Andyluo/" target="_blank">|明</a> 2006-03-27 19:48 <a href="http://www.aygfsteel.com/Andyluo/archive/2006/03/27/convertToPercent.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>J2ME|络E序中判断一ơ数据发送的l束http://www.aygfsteel.com/Andyluo/archive/2006/03/19/36103.html|明|明Sun, 19 Mar 2006 13:30:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/03/19/36103.htmlhttp://www.aygfsteel.com/Andyluo/comments/36103.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/03/19/36103.html#Feedback3http://www.aygfsteel.com/Andyluo/comments/commentRss/36103.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/36103.html
如下代码所C:(x)

//接收到的数据存到字节数larray
int firstChar = inputStream.read();
int length = inputStream.available();
byte[] array = new byte[length+1];
array[
0= (byte)firstChar;
inputStream.read(array,
1,length);


|明 2006-03-19 21:30 发表评论
]]>
J2EE开发者选择何种AJAX框架[转蝲]http://www.aygfsteel.com/Andyluo/archive/2006/03/04/33565.html|明|明Sat, 04 Mar 2006 00:58:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/03/04/33565.htmlhttp://www.aygfsteel.com/Andyluo/comments/33565.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/03/04/33565.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/33565.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/33565.html 在下面这文章中 http://www.firstpartners.net/blog/technology/2006/03/01/web-20-and-enterprise-java-move-over-struts/ Q作者介l了(jin)几种常用的AJAX框架?/P>

最后作者以StrutsZQ介l了(jin)几种选择Ajax的场景:(x)

1 现有的Struts应用E序要用AjaxQ请使用AjaxAnywhere

2 建立新的应用E序准备使用AjaxQ参考AppfuseQ它集成?jin)DWR的Ajax

3 中期目标Q?使用一U支持Ajax的JSF的实玎ͼMyFaces或者Struts Shale

原文地址Q?A >http://blog.csdn.net/danny_xcz/archive/2006/03/03/614302.aspx



|明 2006-03-04 08:58 发表评论
]]>
在Swing应用中异步执行线E?/title><link>http://www.aygfsteel.com/Andyluo/archive/2006/03/02/33236.html</link><dc:creator>|明</dc:creator><author>|明</author><pubDate>Thu, 02 Mar 2006 08:09:00 GMT</pubDate><guid>http://www.aygfsteel.com/Andyluo/archive/2006/03/02/33236.html</guid><wfw:comment>http://www.aygfsteel.com/Andyluo/comments/33236.html</wfw:comment><comments>http://www.aygfsteel.com/Andyluo/archive/2006/03/02/33236.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Andyluo/comments/commentRss/33236.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Andyluo/services/trackbacks/33236.html</trackback:ping><description><![CDATA[避免因线E运行造成Swing界面停止响应?BR><BR>cjavax.swing.SwingUtilities提供?jin)一些Swing工具Ҏ(gu)Q?BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #008000">/*</SPAN><SPAN style="COLOR: #008000"> 异步执行doRunU程 </SPAN><SPAN style="COLOR: #008000">*/</SPAN><SPAN style="COLOR: #000000"><BR><BR></SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> invokeLater(Runnable doRun) <BR></SPAN></DIV><BR><BR>q有一个同步执行的Q?BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> invokeAndWait(Runnable doRun) </SPAN></DIV><img src ="http://www.aygfsteel.com/Andyluo/aggbug/33236.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Andyluo/" target="_blank">|明</a> 2006-03-02 16:09 <a href="http://www.aygfsteel.com/Andyluo/archive/2006/03/02/33236.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>做报表时某种中文问题的解x?/title><link>http://www.aygfsteel.com/Andyluo/archive/2006/02/19/31540.html</link><dc:creator>|明</dc:creator><author>|明</author><pubDate>Sun, 19 Feb 2006 12:43:00 GMT</pubDate><guid>http://www.aygfsteel.com/Andyluo/archive/2006/02/19/31540.html</guid><wfw:comment>http://www.aygfsteel.com/Andyluo/comments/31540.html</wfw:comment><comments>http://www.aygfsteel.com/Andyluo/archive/2006/02/19/31540.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Andyluo/comments/commentRss/31540.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Andyluo/services/trackbacks/31540.html</trackback:ping><description><![CDATA[<P>刚解决的问题Q?BR><BR>用Word的网Ş式做报表旉C文ؕ码,而且已经使用ISO8859_1对中文参数进行了(jin)转换Q试试将|页里的charset=us-ascii改ؓ(f)charset=gb2312<BR><BR>怎么我这里默认的charset是us-ascii呢,我这是中文版阿?Q?/P><img src ="http://www.aygfsteel.com/Andyluo/aggbug/31540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Andyluo/" target="_blank">|明</a> 2006-02-19 20:43 <a href="http://www.aygfsteel.com/Andyluo/archive/2006/02/19/31540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用winrar或winzip制作可运行jar文ghttp://www.aygfsteel.com/Andyluo/archive/2006/02/16/31057.html|明|明Thu, 16 Feb 2006 06:49:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/02/16/31057.htmlhttp://www.aygfsteel.com/Andyluo/comments/31057.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/02/16/31057.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/31057.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/31057.html
步骤Q?BR> 
1、在应用E序文g根目录下新徏一个META-INF目录Q在该目录下新徏MANIFEST.MF文gQ?
文g内容为:(x)
1 Main-Class: 包名.ȝ?nbsp;
2 
3 

2、将应用E序根目录下所有文件用winrar或winzip打包Q格式ؓ(f)zipQ?

3、将zip文g扩展名改为jar Q?BR>
4、双击jar文g卛_q行?

希望能对大家有点帮助?img src ="http://www.aygfsteel.com/Andyluo/aggbug/31057.html" width = "1" height = "1" />

|明 2006-02-16 14:49 发表评论
]]>
[备䆾from blueline]值的x的Java开源项?zz)http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31019.html|明|明Thu, 16 Feb 2006 06:14:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/02/16/31019.htmlhttp://www.aygfsteel.com/Andyluo/comments/31019.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/02/16/31019.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/31019.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/31019.html阅读全文

|明 2006-02-16 14:14 发表评论
]]>
[备䆾from blueline]利用Ant来做Nightly TestQzzQ?/title><link>http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31017.html</link><dc:creator>|明</dc:creator><author>|明</author><pubDate>Thu, 16 Feb 2006 06:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31017.html</guid><wfw:comment>http://www.aygfsteel.com/Andyluo/comments/31017.html</wfw:comment><comments>http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31017.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Andyluo/comments/commentRss/31017.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Andyluo/services/trackbacks/31017.html</trackback:ping><description><![CDATA[使用Ant中的两个Tasks来完成自动运行Nightly Test <br /> <br /> <junit printsummary="yes" haltonfailure="yes"><br />     <test name="org.redsoft.forum.AllTests” haltonfailure="no" outfile="result" ><br />         <formatter type="xml" /><br />     </test> <br /> </junit><br /> <br /> 产生一个XML是结果报?br /> 再利用JunitReport来生一个可供浏览的l果文g?br /> <br /> <junitreport todir="./reports"><br />     <fileset dir="./reports"><br />         <include name="TEST-*.xml"/><br />     </fileset><br />  <report format="frames" todir="./report/html"/><br /> </junitreport><br /> <br /> <img src ="http://www.aygfsteel.com/Andyluo/aggbug/31017.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Andyluo/" target="_blank">|明</a> 2006-02-16 14:13 <a href="http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31017.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[备䆾from blueline]阅读开源项目源代码Qweblechhttp://www.aygfsteel.com/Andyluo/archive/2006/02/16/31016.html|明|明Thu, 16 Feb 2006 06:12:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/02/16/31016.htmlhttp://www.aygfsteel.com/Andyluo/comments/31016.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/02/16/31016.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/31016.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/31016.html
lg?/a>

cd

?jin)解l构?jin)就开始看吧,go

|明 2006-02-16 14:12 发表评论
]]>
[备䆾from blueline]发现weblech的一个BugQ多U程Q?/title><link>http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31013.html</link><dc:creator>|明</dc:creator><author>|明</author><pubDate>Thu, 16 Feb 2006 06:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31013.html</guid><wfw:comment>http://www.aygfsteel.com/Andyluo/comments/31013.html</wfw:comment><comments>http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31013.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Andyluo/comments/commentRss/31013.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Andyluo/services/trackbacks/31013.html</trackback:ping><description><![CDATA[当下载第一个URLӞ一般是|站主页Q,如果{待旉q长Q那么其他线E要么会(x)认ؓ(f)|站已下载完而结束,要么?x)在下面?代码处抛?STRONG>NullPointerException, </STRONG>很少能够存活下来?BR><BR> <DIV style="BORDER-RIGHT: #999999 1px dotted; PADDING-RIGHT: 5px; BORDER-TOP: #999999 1px dotted; PADDING-LEFT: 5px; FONT-SIZE: 11px; PADDING-BOTTOM: 5px; BORDER-LEFT: #999999 1px dotted; WIDTH: 537px; PADDING-TOP: 5px; BORDER-BOTTOM: #999999 1px dotted; FONT-FAMILY: sans-serif; BACKGROUND-COLOR: #f9f9f9" ;> <P>else if(queueSize() == 0)       /* queueSize()已经被同?*/<BR>{<BR>    break;<BR>}<BR>URLToDownload nextURL;<BR>synchronized(queue)<BR>{<BR>    nextURL = queue.getNextInQueue();<BR>    downloadsInProgress++;<BR>}<BR>synchronized(urlsDownloading)<BR>{<BR>    urlsDownloading.add(nextURL);<BR>}<BR>int newDepth = nextURL.getDepth() + 1; **********************</P></DIV><BR>估计可能是线E交叉了(jin)Q还没来得及(qing)同步p到后面去执行getDepth()?jin)?BR>?STRONG>nextURL = queue.getNextInQueue();</STRONG>后面加上判断O(jin)K?<BR><BR> <DIV style="BORDER-RIGHT: #999999 1px dotted; PADDING-RIGHT: 5px; BORDER-TOP: #999999 1px dotted; PADDING-LEFT: 5px; FONT-SIZE: 11px; PADDING-BOTTOM: 5px; BORDER-LEFT: #999999 1px dotted; WIDTH: 537px; PADDING-TOP: 5px; BORDER-BOTTOM: #999999 1px dotted; FONT-FAMILY: sans-serif; BACKGROUND-COLOR: #f9f9f9" ;> <P>synchronized(queue)<BR>{<BR>    nextURL = queue.getNextInQueue();<BR><STRONG>    if(nextURL == null)<BR>    {<BR>        continue;<BR>    }</STRONG><BR>    downloadsInProgress++;<BR>}</P></DIV><BR><img src ="http://www.aygfsteel.com/Andyluo/aggbug/31013.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Andyluo/" target="_blank">|明</a> 2006-02-16 14:10 <a href="http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31013.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[备䆾from blueline]weblech阅读?j)?0050501QURL分类、链接处理、读取资源、多U目录、变量Doc、Log4jQ?/title><link>http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31014.html</link><dc:creator>|明</dc:creator><author>|明</author><pubDate>Thu, 16 Feb 2006 06:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31014.html</guid><wfw:comment>http://www.aygfsteel.com/Andyluo/comments/31014.html</wfw:comment><comments>http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Andyluo/comments/commentRss/31014.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Andyluo/services/trackbacks/31014.html</trackback:ping><description><![CDATA[<p>URL分别用三个List保存Q?br /> 一个是boringQ这个list中的url最后来下蝲<br /> 其他两个是interesting和average<br /> 当搜索到url时检查是否包含设定ؓ(f)boring的词Qƈ攑օboring?/p> <p>用户可设?#8220;深度搜烦(ch)”Q每搜到一个url放在list的最前面<br /> 也可q度</p> <p>有些|页链接要特D处理:(x)</p> <div style="border: 1px dotted #999999; padding: 5px; font-size: 11px; width: 537px; font-family: sans-serif; background-color: #f9f9f9;" ;=""> <p>url = textReplace("?", URLEncoder.encode("?"), url);<br /> url = textReplace("&", URLEncoder.encode("&"), url);<br /> private String textReplace(String find, String replace, String input)<br /> {<br />     int startPos = 0;<br />      while(true)<br />     {<br />         int textPos = input.indexOf(find, startPos);<br />         if(textPos < 0)<br />         {<br />             break;<br />         }<br />         input = input.substring(0, textPos) + replace + input.substring(textPos + find.length());<br />         startPos = textPos + replace.length();<br />     }<br />     return input;<br /> }</p> </div> <p>d资源代码Q?/p> <div style="border: 1px dotted #999999; padding: 5px; font-size: 11px; width: 537px; font-family: sans-serif; background-color: #f9f9f9;" ;=""> <p>BufferedInputStream remoteBIS = new BufferedInputStream(conn.getInputStream());<br /> ByteArrayOutputStream baos = new ByteArrayOutputStream(10240);<br /> byte[] buf = new byte[1024];<br /> int bytesRead = 0;<br /> while(bytesRead >= 0)<br /> {<br />     baos.write(buf, 0, bytesRead);<br />     bytesRead = remoteBIS.read(buf);<br /> }</p> <p>byte[] content = baos.toByteArray();</p> </div> <br /> 建立多目录Q? <div style="border: 1px dotted #999999; padding: 5px; font-size: 11px; width: 537px; font-family: sans-serif; background-color: #f9f9f9;" ;=""> <p>File f = new File(fileName);<br /> f.getParentFile().mkdirs();<br /> FileOutputStream out = new FileOutputStream(fileName);<br /> out.write(content);<br /> out.flush();<br /> out.close();</p> </div> <br /> l一个变量写docQ(在eclipse中,鼠标|上?x)显C)(j) <div style="border: 1px dotted #999999; padding: 5px; font-size: 11px; width: 537px; font-family: sans-serif; background-color: #f9f9f9;" ;=""> <p>/**<br /> * Set of URLs downloaded or scheduled, so we don't download a<br /> * URL more than once.<br /> * Thread safety: To access the set, first synchronize on it.<br /> */<br /> private Set urlsDownloadedOrScheduled;</p> </div> <br /> q种log挺好Q(apache log4jQ? <div style="border: 1px dotted #999999; padding: 5px; font-size: 11px; width: 537px; font-family: sans-serif; background-color: #f9f9f9;" ;=""> <p>private final static Category _logClass = Category.getInstance(TextSpider.class);</p> </div> <div style="border: 1px dotted #999999; padding: 5px; font-size: 11px; width: 537px; font-family: sans-serif; background-color: #f9f9f9;" ;=""> <p>/*<br /> 昄信息: 2005-05-01 11:40:44,250 [main] INFO? TextSpider.java:105 - Starting Spider...<br /> */<br /> _logClass.info("Starting Spider...");</p> </div> <img src ="http://www.aygfsteel.com/Andyluo/aggbug/31014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Andyluo/" target="_blank">|明</a> 2006-02-16 14:10 <a href="http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[备䆾]初始化或注册资源http://www.aygfsteel.com/Andyluo/archive/2006/02/16/31010.html|明|明Thu, 16 Feb 2006 06:07:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/02/16/31010.htmlhttp://www.aygfsteel.com/Andyluo/comments/31010.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/02/16/31010.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/31010.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/31010.html例:(x)

Class.forName("weblech.util.Log4j");

在Log4j里定义一个静(rn)态类构造器Q里面放apache log4j的初始代码?BR>
其他如注册数据源、界面本地化。。?BR>
Eclipse看代码是最爽的Q?BR>查看cȝ引用、代码导?img src ="http://www.aygfsteel.com/Andyluo/aggbug/31010.html" width = "1" height = "1" />

|明 2006-02-16 14:07 发表评论
]]>
设计RIA Web应用?条指导原?Q{载)(j)http://www.aygfsteel.com/Andyluo/archive/2006/01/09/27279.html|明|明Mon, 09 Jan 2006 09:16:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/01/09/27279.htmlhttp://www.aygfsteel.com/Andyluo/comments/27279.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/01/09/27279.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/27279.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/27279.htmlBill Scott's AJAX Blog: Nine Tips for Designing Rich Internet Applications
If you were going to provide some quick basic guidelines for designing rich applications what would they be?



|明 2006-01-09 17:16 发表评论
]]>
Trick: How to access private APIs from a different package (ZZ)http://www.aygfsteel.com/Andyluo/archive/2006/01/05/26787.html|明|明Thu, 05 Jan 2006 13:01:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/01/05/26787.htmlhttp://www.aygfsteel.com/Andyluo/comments/26787.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/01/05/26787.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/26787.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/26787.htmlSource: http://openide.netbeans.org/tutorial/api-design.html#design.less.friend
Allow access only from a friend code
Another useful technique to not expose too much in API is to give access to certain functionality (e. g. ability to instantiate a class or to call a certain method) just to a friend code.

Java by default restricts the friends of a class to those classes that are in the same package. If there is a functionality that you want share just among classes in the same package, use package-private modifier in definition of a constructor, a field or a method and then it will remain accessible only to friends.

Sometimes however it is more useful to extend the set of friends to a wider range of classes - for example one wants to define a pure API package and put the implementation into separate one. In such cases following trick can be found useful. Imagine there is a class item:

public final class api.Item {
    /** Friend only constructor */
    Item(int value) {
        this.value = value;
    }

    /** API method(s) */
    public int getValue() {
        return value;
    }
        
    /** Friend only method */
    final void addListener(Listener l) {
        // some impl
    }
}
that is part of the API, but cannot be instanitated nor listened on outside of the friend classes (but these classes are not only in api package). Then one can define an Accessor in the non-API package:
public abstract class impl.Accessor {
    public static Accessor DEFAULT;

    static {
        // invokes static initializer of Item.class
        // that will assign value to the DEFAULT field above
        Class c = api.Item.class;
        try {
            Class.forName(c.getName(), true, c.getClassLoader());
        } catch (ClassNotFoundException ex) {
            assert false : ex;
        }
        assert DEFAULT != null : "The DEFAULT field must be initialized";
    }

    /** Accessor to constructor */
    public abstract Item newItem(int value);
    /** Accessor to listener */
    public abstract void addListener(Item item, Listener l);
}
with abstract methods to access all friend functionality of the Item class and with a static field to get the accessor's instance. The main trick is to implement the Accessor by a (non-public) class in the api package:
final class api.AccessorImpl extends impl.Accessor {
    public Item newItem(int value) {
        return new Item(value);
    }
    public void addListener(Item item, Listener l) {
        return item.addListener(l);
    }
}
and register it as the default instance first time somebody touches api.Item by adding a static initializer to the Item class:
public final class Item {
    static {
        impl.Accessor.DEFAULT = new api.AccessorImpl();
    }

    // the rest of the Item class as shown above
}
Then the friend code can use the accessor to invoke the hidden functionality from any package:
api.Item item = impl.Accessor.DEFAULT.newItem(10);
impl.Accessor.DEFAULT.addListener(item, this);


|明 2006-01-05 21:01 发表评论
]]>
WEB中基于XMLHTTP的简单实例分?转蝲)http://www.aygfsteel.com/Andyluo/archive/2006/01/03/26462.html|明|明Tue, 03 Jan 2006 10:59:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/01/03/26462.htmlhttp://www.aygfsteel.com/Andyluo/comments/26462.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/01/03/26462.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/26462.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/26462.html 转自Q?A >http://blog.csdn.net/3cts/archive/2005/12/30/566079.aspx

  引言
  
  大家都知道可以通过post或者get获得form表单的数据,那么我们如何实现不刷新的提交直接获得面上的数据呢?q就要借助xmlhttp协议?jin)。xmlhttp是xmldom技术的一部分?BR>  
  下面的代码就是一个很单的例子Q我们利用xmlhttp技术实现简单的用户登陆?BR>  
  开?/B>
  
  1.单的d面
  
  login.jsp
  function toServer(){
  var xml = "<root>"+
  "<name>"+document.all('name').value+"</name>"+
  "<pwd>"+document.all('pwd').value+"</pwd>"+
  "</root>";
  
  var XMLSender = new ActiveXObject("Microsoft.XMLHTTP" );
  XMLSender.Open("POST",'do_login.jsp',false);
  XMLSender.send((xml));
  alert(XMLSender.responseText); //可处理后台返回的l果
  }
  
  姓名Q?lt;input type="text" id="name" /><br>
  密码Q?lt;input type="text" id="pwd" /><br>
  <input type="button" value="d" onclick="toServer()">
  
  2.后台的登录处理页?BR>  do_login.jsp
  
  <%
  //dXMLHTTP?BR>  java.io.BufferedReader br = request.getReader();
  String str = "";
  while (str != null) {
  str = br.readLine();
  process (str); //可通过M语言实现解析XMLQ进行业务处?BR>  }
  
  //q回信息
  javax.servlet.ServletOutputStream sos = response.getOutputStream();
  sos.print("login success" );
  sos.close();
  %>
  与传l的“提交-回发Q重l”式的webpȝ基本q行l构不同Q我们可以通过通过XMLHTTP实现无刷新的客户端直接与服务器交互,极大的提高用L(fng)感受度?BR>  
  查考资?/B>
  
  XMLHTTPҎ(gu)Q?BR>  
  Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword
  bstrMethodQ数据传送方式,即GET或POST?BR>  bstrUrlQ服务网늚URL?BR>  varAsyncQ是否同步执行。缺省ؓ(f)TrueQ即同步执行Q但只能在DOM中实施同步执行?BR>  应用中一般将其置为FalseQ即异步执行?BR>  bstrUserQ用户名Q可省略?BR>  bstrPasswordQ用户口令,可省略?BR>  
  Send varBody
  varBodyQ指令集。可以是XML格式数据Q也可以是字W串Q流Q或者一个无W号整数数组。也可以省略Q让指o(h)通过OpenҎ(gu)的URL参数代入?BR>  
  setRequestHeader bstrHeader, bstrValue
  bstrHeaderQHTTP ?header)
  bstrValueQHTTP ?header)的?BR>  如果OpenҎ(gu)定义为POSTQ可以定义表单方式上传:(x)
  xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  
  XMLHTTP属性:(x)
  
  onreadystatechangeQ在同步执行方式下获得返回结果的事g句柄。只能在DOM中调用?BR>  responseBodyQ结果返回ؓ(f)无符h数数l?BR>  responseStreamQ结果返回ؓ(f)IStream?BR>  responseText Q结果返回ؓ(f)字符丌Ӏ?BR>  responseXMLQ结果返回ؓ(f)XML格式数据?/TD>

|明 2006-01-03 18:59 发表评论
]]>
The AJAX Year In Review (转蝲)http://www.aygfsteel.com/Andyluo/archive/2006/01/03/26426.html|明|明Tue, 03 Jan 2006 03:42:00 GMThttp://www.aygfsteel.com/Andyluo/archive/2006/01/03/26426.htmlhttp://www.aygfsteel.com/Andyluo/comments/26426.htmlhttp://www.aygfsteel.com/Andyluo/archive/2006/01/03/26426.html#Feedback0http://www.aygfsteel.com/Andyluo/comments/commentRss/26426.htmlhttp://www.aygfsteel.com/Andyluo/services/trackbacks/26426.html

  • Content with Style: Fixing the Back Button and Enabling Bookmarking for AJAX Apps - Mike Stenhouse explains how to fix two of the more distracting problems with Ajax. These can be particularly problematic for users new to Ajax applications.  Since Ajax apps typically load into a single web page, it makes pressing the Back button meaningless or actually harmful.  And this breaks the browser usage model annoyingly.  Also, individual views of data in an Ajax application cannot have a URL or permalinks unless precautions are taken.  Mike does a great job covering how to reduce these problems.
  • Saving Session Across Page Loads Without Cookies, On The Client Side - Ajax virtuoso Brad Neuberg strikes again with a detailed explanation of how to deal with saving session information across page loads without relying on cookies.  This is important in larger applications which typically want to store more information than a cookie can hold.  Brad also has some terrific tools to deal with this as well (see AMASS below)
  • Call SOAP Web services with AJAX - By design, Ajax is a voracious consumer of web services like XML/HTTP, REST, and SOAP.  A great article at IBM's DeveloperWorks describes how to easily call SOAP web services from Ajax.  This is important because SOAP is a complex protocol that requires some familiarity to use.  While Ajax development tools like Atlas, General Interface, and Bindows will solve this by providing a SOAP stack, for many, hand development of back-end SOAP request is the only option right now to achieve interoperability with WS-I Basic Profile web services.
  • Ajax using only an image - Browsers and networks continue to get more secure and many configurations will not allow an Ajax application to use web services, and almost none of them will allow you to access a server other than the one the Ajax app loaded from.  Enter an elegant technique to solve this by using image URLs.  Not for the faint of heart, and certainly a possible security hole but a compelling solution nonetheless.

Ajax Tools and Libraries


Note: The most complete Ajax framework listing I've seen available is here.

Ajax News and Resources

Ajax Developer's Journal

  • The Ajax Developer's Journal - Good sources of news for Ajax are still pretty scarce but that's starting to change in a big way.  SYS-CON has recently launched their Ajax Developer's Journal and has been working closely with Jesse James Garrett, who coined the term.  Expect lots of interesting and topical new articles and coverage on a regular basis.
  • Ajaxian - Dion Almaer and Ben Galbraith have been working on Ajaxian for a while now and it remains one of the very best sources for the latest Ajax news, tools, events, and general inspiration.

Critiques and Analysis of Ajax


  • Ajax Mistakes - This is Alex Bosworth's terrific analysis of the early problems with Ajax.  He a big believer in the technology and his Ajax-powered LiveMarks site is one of my absolute favorites.  A good place to start to understand some of the challenges with Ajax.
  • Fixing Ajax: XmlHttpRequest Considered Harmful - Some good coverage of why Ajax doesn't really enable the use of the services of other web sites without a lot of work.  This is a big barrier to leveraging Web 2.0's global services landscape.  This can be solved a number of ways however and the options are explored here.  The image URL solution a few paragraphs above is missing but otherwise this is an excellent summary.

    Ajax Network Constraints


  • 10 Places You Must Use Ajax - Alex is back and carefully enumerates the good places to use Ajax.  He also covers when to avoid it.  Excellent material for those learning how to design with Ajax.
  • Top 10 Reasons Ajax Is Here To Stay - Andre Charland nails it.  Though some folks dislike Ajax for a variety of reasons, here are some terrific positive motivations for using it today.

And don't forget to see what can be done with Ajax!  Check out these great new Ajax-enabled applications here.

posted Friday, 30 December 2005



|明 2006-01-03 11:42 发表评论
]]>
վ֩ģ壺 ɽ| ư| Ӫ| ԭ| ƺ| Զ| ̩| | ԭƽ| | | | ̨| γ| ʳ| ɽʡ| | | ·| ʼ| лͨ| ¡| | | | Ȫ| ͭ| | Ƥ| | | | | Ƕ| ˳| | μԴ| | | | |