﻿<?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-siyn-随笔分类-java</title><link>http://www.blogjava.net/siyn/category/27109.html</link><description>&lt;a href="http://www.siyn.org" target="_blank"&gt; http://www.siyn.org &lt;/a&gt;</description><language>zh-cn</language><lastBuildDate>Mon, 23 Nov 2009 17:16:24 GMT</lastBuildDate><pubDate>Mon, 23 Nov 2009 17:16:24 GMT</pubDate><ttl>60</ttl><item><title>META-INF文件夹中的MANIFEST.MF 有什么作用？</title><link>http://www.blogjava.net/siyn/archive/2009/11/22/303249.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Sun, 22 Nov 2009 10:48:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2009/11/22/303249.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/303249.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2009/11/22/303249.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/303249.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/303249.html</trackback:ping><description><![CDATA[<div>
MANIFEST中的配置信息共有下面几类：<br />
一. 一般属性<br />
1. Manifest-Version<br />
用来定义manifest文件的版本，例如：Manifest-Version: 1.0<br />
2. Created-By<br />
声明该文件的生成者，一般该属性是由jar命令行工具生成的，例如：Created-By: Apache Ant 1.5.1<br />
3. Signature-Version<br />
定义jar文件的签名版本<br />
4. Class-Path<br />
应用程序或者类装载器使用该值来构建内部的类搜索路径<br />
二. 应用程序相关属性<br />
1. Main-Class<br />
定义jar文件的入口类，该类必须是一个可执行的类，一旦定义了该属性即可通过 java -jar x.jar来运行该jar文件。<br />
三. 小程序(Applet)相关属性<br />
1. Extendsion-List<br />
该属性指定了小程序需要的扩展信息列表，列表中的每个名字对应以下的属性<br />
2. &lt;extension&gt;-Extension-Name<br />
3. &lt;extension&gt;-Specification-Version<br />
4. &lt;extension&gt;-Implementation-Version<br />
5. &lt;extension&gt;-Implementation-Vendor-Id<br />
5. &lt;extension&gt;-Implementation-URL<br />
四. 扩展标识属性<br />
1. Extension-Name<br />
该属性定义了jar文件的标识，例如Extension-Name: Struts Framework<br />
五. 包扩展属性<br />
1. Implementation-Title 定义了扩展实现的标题<br />
2. Implementation-Version 定义扩展实现的版本<br />
3. Implementation-Vendor 定义扩展实现的组织<br />
4. Implementation-Vendor-Id 定义扩展实现的组织的标识<br />
5. Implementation-URL : 定义该扩展包的下载地址(URL)<br />
6. Specification-Title 定义扩展规范的标题<br />
7. Specification-Version 定义扩展规范的版本<br />
8. Specification-Vendor 声明了维护该规范的组织<br />
9. Sealed 定义jar文件是否封存，值可以是true或者false<br />
六. 签名相关属性<br />
签名方面的属性我们可以来参照JavaMail所提供的mail.jar中的一段<br />
Name: javax/mail/Address.class<br />
Digest-Algorithms: SHA MD5<br />
SHA-Digest: AjR7RqnN//cdYGouxbd06mSVfI4=<br />
MD5-Digest: ZnTIQ2aQAtSNIOWXI1pQpw==<br />
这段内容定义类签名的类名、计算摘要的算法名以及对应的摘要内容(使用BASE64方法进行编码)<br />
</div>
<img src ="http://www.blogjava.net/siyn/aggbug/303249.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2009-11-22 18:48 <a href="http://www.blogjava.net/siyn/archive/2009/11/22/303249.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]Java IO 包中的Decorator模式</title><link>http://www.blogjava.net/siyn/archive/2009/02/20/255773.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Fri, 20 Feb 2009 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2009/02/20/255773.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/255773.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2009/02/20/255773.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/255773.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/255773.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 来源：http://www.cn-java.com/www1/?action-viewnews-itemid-3384&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JDK为程序员提供了大量的类库，而为了保持类库的可重用性，可扩展性和灵活性，其中使用到了大量的设计模式，本文将介绍JDK的I/O包中使用到的Decorator模式，并运用此模式，实现一个新的输出流类。...&nbsp;&nbsp;<a href='http://www.blogjava.net/siyn/archive/2009/02/20/255773.html'>阅读全文</a><img src ="http://www.blogjava.net/siyn/aggbug/255773.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2009-02-20 10:20 <a href="http://www.blogjava.net/siyn/archive/2009/02/20/255773.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>native2ascii.bat</title><link>http://www.blogjava.net/siyn/archive/2008/09/05/227228.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Fri, 05 Sep 2008 07:08:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2008/09/05/227228.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/227228.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2008/09/05/227228.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/227228.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/227228.html</trackback:ping><description><![CDATA[<a href="/Files/siyn/native2ascii_bat.txt">native2ascii_bat.bat</a>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">del&nbsp;package_zh_CN.properties<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />copy&nbsp;</span><span style="color: #0000ff">package</span><span style="color: #000000">.properties&nbsp;package_zh_CN.properties.utf8<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />native2ascii&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">encoding&nbsp;utf</span><span style="color: #000000">-</span><span style="color: #000000">8</span><span style="color: #000000">&nbsp;package_zh_CN.properties.utf8&nbsp;package_zh_CN.properties<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />del&nbsp;package_zh_CN.properties.utf8<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />del&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">.bak</span></div><img src ="http://www.blogjava.net/siyn/aggbug/227228.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2008-09-05 15:08 <a href="http://www.blogjava.net/siyn/archive/2008/09/05/227228.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[求救]一个spring2声明式事务管理的问题</title><link>http://www.blogjava.net/siyn/archive/2008/07/24/217179.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Thu, 24 Jul 2008 06:07:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2008/07/24/217179.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/217179.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2008/07/24/217179.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/217179.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/217179.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一个FooService类 有一个add方法public&nbsp;class&nbsp;FooServiceImpl&nbsp;implements&nbsp;IFooService{&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;IFooDAO&nbsp;fooDAO&nbsp;=&nbsp;null;&nbsp;&nbsp;&nbsp;&nbsp;p...&nbsp;&nbsp;<a href='http://www.blogjava.net/siyn/archive/2008/07/24/217179.html'>阅读全文</a><img src ="http://www.blogjava.net/siyn/aggbug/217179.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2008-07-24 14:07 <a href="http://www.blogjava.net/siyn/archive/2008/07/24/217179.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工具类收集--GreatNumber.java</title><link>http://www.blogjava.net/siyn/archive/2008/07/22/216701.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Tue, 22 Jul 2008 12:46:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2008/07/22/216701.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/216701.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2008/07/22/216701.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/216701.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/216701.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: GreatNumber.java实现了两个超大数值(整数或浮点数都可以)的相加，也可以进行精度控制。package&nbsp;org.siyn.util;/**&nbsp;*//**&nbsp;*&nbsp;&#8220;超大数&#8221;实用类&nbsp;*&nbsp;@author&nbsp;siyn&nbsp;*&nbsp;@date&nbsp;2008-04-27...&nbsp;&nbsp;<a href='http://www.blogjava.net/siyn/archive/2008/07/22/216701.html'>阅读全文</a><img src ="http://www.blogjava.net/siyn/aggbug/216701.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2008-07-22 20:46 <a href="http://www.blogjava.net/siyn/archive/2008/07/22/216701.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Thinking in Java 摘要</title><link>http://www.blogjava.net/siyn/archive/2008/07/21/216286.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Mon, 21 Jul 2008 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2008/07/21/216286.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/216286.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2008/07/21/216286.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/216286.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/216286.html</trackback:ping><description><![CDATA[同人类任何语言一样，Java为我们提供了一种表达思想的方式。如操作得当，同其他方式相比，随着问题变得愈大和愈复杂，这种表达方式的方便性和灵活性会显露无遗。<br />
<br />
假如你能记住运算符优先次序表（我从来记不住），那么就可以写出更&#8220;聪明&#8221;的代码。但再深入想一层，那也会使代码的读者／维护者感到困扰。所以忘了那些次序吧，在拿不准的时候加上括号即可。<br />
<img src ="http://www.blogjava.net/siyn/aggbug/216286.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2008-07-21 09:53 <a href="http://www.blogjava.net/siyn/archive/2008/07/21/216286.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工具类收集--PropertiesReader.java</title><link>http://www.blogjava.net/siyn/archive/2008/07/12/214445.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Sat, 12 Jul 2008 08:54:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2008/07/12/214445.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/214445.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2008/07/12/214445.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/214445.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/214445.html</trackback:ping><description><![CDATA[PropertiesReader.java&nbsp; 一个读取properties的类，使用方便<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;org.siyn.util;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.InputStream;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Properties;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img id="Codehighlighter1_82_173_Open_Image" onclick="this.style.display='none'; Codehighlighter1_82_173_Open_Text.style.display='none'; Codehighlighter1_82_173_Closed_Image.style.display='inline'; Codehighlighter1_82_173_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" /><img style="display: none" id="Codehighlighter1_82_173_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_82_173_Closed_Text.style.display='none'; Codehighlighter1_82_173_Open_Image.style.display='inline'; Codehighlighter1_82_173_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" /></span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_82_173_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_82_173_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;*&nbsp;&lt;p&gt;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;*&nbsp;本类用提供一个线程同步的方法,读取资源文件中的配置信息<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;*&nbsp;&lt;/p&gt;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;*&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">&nbsp;siyn<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;*&nbsp;@date&nbsp;2008-7-10<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;PropertiesReader<br />
<img id="Codehighlighter1_204_1920_Open_Image" onclick="this.style.display='none'; Codehighlighter1_204_1920_Open_Text.style.display='none'; Codehighlighter1_204_1920_Closed_Image.style.display='inline'; Codehighlighter1_204_1920_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" /><img style="display: none" id="Codehighlighter1_204_1920_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_204_1920_Closed_Text.style.display='none'; Codehighlighter1_204_1920_Open_Image.style.display='inline'; Codehighlighter1_204_1920_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" /></span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_204_1920_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_204_1920_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;Properties&nbsp;properties;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_284_364_Open_Image" onclick="this.style.display='none'; Codehighlighter1_284_364_Open_Text.style.display='none'; Codehighlighter1_284_364_Closed_Image.style.display='inline'; Codehighlighter1_284_364_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_284_364_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_284_364_Closed_Text.style.display='none'; Codehighlighter1_284_364_Open_Image.style.display='inline'; Codehighlighter1_284_364_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_284_364_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_284_364_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;构造&nbsp;PropertysReader<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;{String}&nbsp;path&nbsp;相对于classes的文件路径<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;PropertiesReader(String&nbsp;path)<br />
<img id="Codehighlighter1_410_486_Open_Image" onclick="this.style.display='none'; Codehighlighter1_410_486_Open_Text.style.display='none'; Codehighlighter1_410_486_Closed_Image.style.display='inline'; Codehighlighter1_410_486_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_410_486_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_410_486_Closed_Text.style.display='none'; Codehighlighter1_410_486_Open_Image.style.display='inline'; Codehighlighter1_410_486_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_410_486_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_410_486_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.file&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;path;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.properties&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Properties();<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_497_676_Open_Image" onclick="this.style.display='none'; Codehighlighter1_497_676_Open_Text.style.display='none'; Codehighlighter1_497_676_Closed_Image.style.display='inline'; Codehighlighter1_497_676_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_497_676_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_497_676_Closed_Text.style.display='none'; Codehighlighter1_497_676_Open_Image.style.display='inline'; Codehighlighter1_497_676_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_497_676_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_497_676_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&lt;p&gt;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;本方法根据资源名获取资源内容<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&lt;p&gt;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;{String}&nbsp;key&nbsp;资源文件内key<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;{Stirng}&nbsp;defaultValue&nbsp;默认值<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@reaurn&nbsp;String&nbsp;key对应的资源内容<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">synchronized</span><span style="color: #000000">&nbsp;String&nbsp;getProperty(String&nbsp;key,&nbsp;String&nbsp;defaultValue)<br />
<img id="Codehighlighter1_758_1135_Open_Image" onclick="this.style.display='none'; Codehighlighter1_758_1135_Open_Text.style.display='none'; Codehighlighter1_758_1135_Closed_Image.style.display='inline'; Codehighlighter1_758_1135_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_758_1135_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_758_1135_Closed_Text.style.display='none'; Codehighlighter1_758_1135_Open_Image.style.display='inline'; Codehighlighter1_758_1135_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_758_1135_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_758_1135_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
<img id="Codehighlighter1_780_964_Open_Image" onclick="this.style.display='none'; Codehighlighter1_780_964_Open_Text.style.display='none'; Codehighlighter1_780_964_Closed_Image.style.display='inline'; Codehighlighter1_780_964_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_780_964_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_780_964_Closed_Text.style.display='none'; Codehighlighter1_780_964_Open_Image.style.display='inline'; Codehighlighter1_780_964_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_780_964_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_780_964_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream&nbsp;in&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.getClass().getClassLoader()<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getResourceAsStream(</span><span style="color: #0000ff">this</span><span style="color: #000000">.file);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;properties.load(in);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;ex1)<br />
<img id="Codehighlighter1_1004_1071_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1004_1071_Open_Text.style.display='none'; Codehighlighter1_1004_1071_Closed_Image.style.display='inline'; Codehighlighter1_1004_1071_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_1004_1071_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1004_1071_Closed_Text.style.display='none'; Codehighlighter1_1004_1071_Open_Image.style.display='inline'; Codehighlighter1_1004_1071_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_1004_1071_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1004_1071_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">没有找到资源文件:</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.file);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;properties.getProperty(key,&nbsp;defaultValue);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_1146_1378_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1146_1378_Open_Text.style.display='none'; Codehighlighter1_1146_1378_Closed_Image.style.display='inline'; Codehighlighter1_1146_1378_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_1146_1378_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1146_1378_Closed_Text.style.display='none'; Codehighlighter1_1146_1378_Open_Image.style.display='inline'; Codehighlighter1_1146_1378_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_1146_1378_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_1146_1378_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&lt;p&gt;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;本方法根据资源名获取资源内容<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&lt;p&gt;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;{String}&nbsp;key&nbsp;资源文件内key<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;{Stirng}&nbsp;defaultValue&nbsp;默认值<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;{boolean}&nbsp;isnull&nbsp;如果配置文件value为空，是否使用默认值<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@reaurn&nbsp;String&nbsp;key对应的资源内容<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">synchronized</span><span style="color: #000000">&nbsp;String&nbsp;getProperty(String&nbsp;key,&nbsp;String&nbsp;defaultValue,</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;isnull)<br />
<img id="Codehighlighter1_1475_1677_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1475_1677_Open_Text.style.display='none'; Codehighlighter1_1475_1677_Closed_Image.style.display='inline'; Codehighlighter1_1475_1677_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_1475_1677_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1475_1677_Closed_Text.style.display='none'; Codehighlighter1_1475_1677_Open_Image.style.display='inline'; Codehighlighter1_1475_1677_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_1475_1677_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1475_1677_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;value&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;getProperty(key,defaultValue);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(isnull&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;(value&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">""</span><span style="color: #000000">.equals(value.trim()) ) &nbsp;)<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;defaultValue;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;value;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)<br />
<img id="Codehighlighter1_1731_1918_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1731_1918_Open_Text.style.display='none'; Codehighlighter1_1731_1918_Closed_Image.style.display='inline'; Codehighlighter1_1731_1918_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_1731_1918_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1731_1918_Closed_Text.style.display='none'; Codehighlighter1_1731_1918_Open_Image.style.display='inline'; Codehighlighter1_1731_1918_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_1731_1918_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1731_1918_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PropertiesReader&nbsp;preader&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;PropertiesReader(</span><span style="color: #000000">"</span><span style="color: #000000">log4j.properties</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;rootLogger&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;preader.getProperty(</span><span style="color: #000000">"</span><span style="color: #000000">aaa</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">defaul</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(rootLogger);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" />}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span></div>
<img src ="http://www.blogjava.net/siyn/aggbug/214445.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2008-07-12 16:54 <a href="http://www.blogjava.net/siyn/archive/2008/07/12/214445.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自己整理的分页工具</title><link>http://www.blogjava.net/siyn/archive/2008/07/10/213936.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Thu, 10 Jul 2008 05:21:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2008/07/10/213936.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/213936.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2008/07/10/213936.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/213936.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/213936.html</trackback:ping><description><![CDATA[<p>今天自己整理了一个分页工具(刚做还有很多没完善的地方)，把它放上来。<br />
因为个人水平有限，有不对的地方，望大家见谅。也希望大家提出你们宝贵的意见或建议。<br />
<br />
<a href="/Files/siyn/siyn-pager.rar">源码siyn-pager.rar下载<br />
</a><br />
下面主要介绍一下其使用方法:</p>
<p>1.把siyn-pager.jar放到lib下，<br />
2.把siyn-pager.tld放到/WEB-INF/下,<br />
3.修改web.xml文件,添加tld配置 </p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">jsp-config</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">taglib</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">taglib-uri</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">http://www.siyn.org/siyn-pager.tld</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">taglib-uri</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">taglib-location</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/WEB-INF/siyn-pager.tld</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">taglib-location</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">taglib</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">jsp-config</span><span style="color: #0000ff">&gt;</span></div>
4.action <br />
4.1通过PageControlUtil.getPageControl(request)得到pageControl；<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">PageControl&nbsp;pageControl&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;PageControlUtil.getPageControl(request);</span></div>
4.2如果还没有获得总记录数，通过调用service的方法获得总记录数<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #0000ff">if</span><span style="color: #000000">(pageControl.getRowcount()&nbsp;</span><span style="color: #000000">&lt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">)<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pageControl.setRowcount(service.getSize());</span></div>
4.3通过调用service的方法得到结果集<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">List&nbsp;list&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;service.getData(pageControl);</span></div>
4.4将结果集＆分页控制bean（pageControl）放入request<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">request.setAttribute(</span><span style="color: #000000">"</span><span style="color: #000000">list</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;list);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.setAttribute(<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.siyn.common.web.struts.taglib.page.Constants.PAGE_CONTROL_MODEL,<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pageControl);</span></div>
4.5跳转页面<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;mapping.findForward(</span><span style="color: #000000">"</span><span style="color: #000000">success</span><span style="color: #000000">"</span><span style="color: #000000">);</span></div>
5.jsp页面 <br />
5.1导入标签库<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&lt;%</span><span style="color: #000000">@&nbsp;taglib&nbsp;uri</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">http://www.siyn.org/siyn-page.tld</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;prefix</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">page</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">%&gt;</span></div>
5.2显示list数据<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&lt;</span><span style="color: #000000">logic:iterate&nbsp;id</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">data</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">list</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;indexId</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">i</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">ul</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">li</span><span style="color: #000000">&gt;&lt;</span><span style="color: #000000">bean:write&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">data</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;property</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">x</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/&gt;&lt;/</span><span style="color: #000000">li</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">li</span><span style="color: #000000">&gt;&lt;</span><span style="color: #000000">bean:write&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">data</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;property</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">xx</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/&gt;&lt;/</span><span style="color: #000000">li</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">li</span><span style="color: #000000">&gt;&lt;</span><span style="color: #000000">bean:write&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">data</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;property</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">xxx</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/&gt;&lt;/</span><span style="color: #000000">li</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">ul</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">logic:iterate</span><span style="color: #000000">&gt;</span></div>
5.3显示导航控制<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&lt;</span><span style="color: #000000">pager:navigator&nbsp;actionPath</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">xxx.do?Op=showlist</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;shownum</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">&nbsp;template</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">template.jsp</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000">&nbsp;</span></div>
这个navigator有三个属性，<br />
&nbsp;&nbsp;&nbsp; actionPath为必须的，请求数据的action地址<br />
&nbsp;&nbsp;&nbsp; shownum可选，导航栏除了首页，上页，下页，末页外，中间的数字页显示几个，默认显示5个<br />
&nbsp;&nbsp;&nbsp; template&nbsp; 可选，为导航栏的模板路径(相对于classes目录)，自己可以修改以显示不同风格，默认为org/siyn/common/web/struts/taglib/page/pageControlTemplate.jsp<br />
<br />
<br />
<img src ="http://www.blogjava.net/siyn/aggbug/213936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2008-07-10 13:21 <a href="http://www.blogjava.net/siyn/archive/2008/07/10/213936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用javap反编译class文件</title><link>http://www.blogjava.net/siyn/archive/2008/05/07/198876.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Wed, 07 May 2008 02:09:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2008/05/07/198876.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/198876.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2008/05/07/198876.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/198876.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/198876.html</trackback:ping><description><![CDATA[一个普通的Java类：
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; 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 align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Test&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;从Object类继承</span><span style="color: #008000"><br />
<img id="Codehighlighter1_35_143_Open_Image" onclick="this.style.display='none'; Codehighlighter1_35_143_Open_Text.style.display='none'; Codehighlighter1_35_143_Closed_Image.style.display='inline'; Codehighlighter1_35_143_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_35_143_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_35_143_Closed_Text.style.display='none'; Codehighlighter1_35_143_Open_Image.style.display='inline'; Codehighlighter1_35_143_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /></span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_35_143_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_35_143_Open_Text"><span style="color: #000000">{<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)<br />
<img id="Codehighlighter1_84_141_Open_Image" onclick="this.style.display='none'; Codehighlighter1_84_141_Open_Text.style.display='none'; Codehighlighter1_84_141_Closed_Image.style.display='inline'; Codehighlighter1_84_141_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_84_141_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_84_141_Closed_Text.style.display='none'; Codehighlighter1_84_141_Open_Image.style.display='inline'; Codehighlighter1_84_141_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_84_141_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_84_141_Open_Text"><span style="color: #000000">{<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Test().toString());<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span></div>
<br />
现在我们使用JDK带的反编译工具javap来反编译Test.class，先执行下面的命令：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; 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 align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">javap&nbsp;Test&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;Test.txt</span></div>
打开Test.txt文件后，会看到如下的代码：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; 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_42_112_Open_Image" onclick="this.style.display='none'; Codehighlighter1_42_112_Open_Text.style.display='none'; Codehighlighter1_42_112_Closed_Image.style.display='inline'; Codehighlighter1_42_112_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_42_112_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_42_112_Closed_Text.style.display='none'; Codehighlighter1_42_112_Open_Image.style.display='inline'; Codehighlighter1_42_112_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Test&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;java.lang.Object</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_42_112_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_42_112_Open_Text"><span style="color: #000000">{<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Test();<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(java.lang.String[]);<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span></div>
<br />
再使用下面的命令来得到bytecode代码：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; 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 align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">javap&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">c&nbsp;Test&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">Test1.txt</span></div>
打开Test1.txt后，会看到如下的代码：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; 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_42_596_Open_Image" onclick="this.style.display='none'; Codehighlighter1_42_596_Open_Text.style.display='none'; Codehighlighter1_42_596_Closed_Image.style.display='inline'; Codehighlighter1_42_596_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_42_596_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_42_596_Closed_Text.style.display='none'; Codehighlighter1_42_596_Open_Image.style.display='inline'; Codehighlighter1_42_596_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Test&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;java.lang.Object</span><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_42_596_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_42_596_Open_Text"><span style="color: #000000">{<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Test();<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;Code:<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;aload_0<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;invokespecial&nbsp;&nbsp;&nbsp;&nbsp;#</span><span style="color: #000000">8</span><span style="color: #000000">;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">Method&nbsp;java/lang/Object."&lt;init&gt;":()V</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">4</span><span style="color: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(java.lang.String[]);<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;Code:<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;getstatic&nbsp;&nbsp;&nbsp;&nbsp;#</span><span style="color: #000000">16</span><span style="color: #000000">;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">Field&nbsp;java/lang/System.out:Ljava/io/PrintStream;</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">3</span><span style="color: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;#</span><span style="color: #000000">1</span><span style="color: #000000">;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">class&nbsp;Test</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">6</span><span style="color: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;dup<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">7</span><span style="color: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;invokespecial&nbsp;&nbsp;&nbsp;&nbsp;#</span><span style="color: #000000">22</span><span style="color: #000000">;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">Method&nbsp;"&lt;init&gt;":()V</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">10</span><span style="color: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;invokevirtual&nbsp;&nbsp;&nbsp;&nbsp;#</span><span style="color: #000000">23</span><span style="color: #000000">;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">Method&nbsp;java/lang/Object.toString:()Ljava/lang/String;</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">13</span><span style="color: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;invokevirtual&nbsp;&nbsp;&nbsp;&nbsp;#</span><span style="color: #000000">27</span><span style="color: #000000">;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">Method&nbsp;java/io/PrintStream.println:(Ljava/lang/String;)V</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">16</span><span style="color: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span></div>
 <img src ="http://www.blogjava.net/siyn/aggbug/198876.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2008-05-07 10:09 <a href="http://www.blogjava.net/siyn/archive/2008/05/07/198876.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用Tomcat建立多个Web Server的方法</title><link>http://www.blogjava.net/siyn/archive/2008/04/02/190294.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Wed, 02 Apr 2008 02:41:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2008/04/02/190294.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/190294.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2008/04/02/190294.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/190294.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/190294.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 当你使用Tomcat作为Web Server的时候，是不是会想过这样的一个问题：如何利用Tomcat建立多个Web应用 呢？<br>要实现这一点是很简单的,也有多种方法。(以下说明使用%tomcat_home%代表Tomcat安装目录)。&nbsp;&nbsp;<a href='http://www.blogjava.net/siyn/archive/2008/04/02/190294.html'>阅读全文</a><img src ="http://www.blogjava.net/siyn/aggbug/190294.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2008-04-02 10:41 <a href="http://www.blogjava.net/siyn/archive/2008/04/02/190294.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA通过接口来实现CALLBACK</title><link>http://www.blogjava.net/siyn/archive/2008/02/17/JAVA_CALLBACK.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Sun, 17 Feb 2008 04:25:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2008/02/17/JAVA_CALLBACK.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/180253.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2008/02/17/JAVA_CALLBACK.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/180253.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/180253.html</trackback:ping><description><![CDATA[<p>在网上看了好多关于java回调的文章,自己总结了一下(个人意见,仅供参考):</p>
<p>JAVA通过接口来实现CALLBACK。&nbsp;&nbsp; <br />
&nbsp; 例：&nbsp;&nbsp; <br />
&nbsp; 1.class&nbsp;&nbsp; A,class&nbsp;&nbsp; B&nbsp;&nbsp; <br />
&nbsp; 2.class&nbsp;&nbsp; A实现接口operate&nbsp;&nbsp; <br />
&nbsp; 3.class&nbsp;&nbsp; B拥有一个参数为operate接口类型的函数test(operate&nbsp;&nbsp; o)&nbsp;&nbsp; <br />
&nbsp; 4.class&nbsp;&nbsp; A运行时调用class&nbsp;&nbsp; B中test函数,以自身传入参数&nbsp;&nbsp; <br />
&nbsp; 5.class&nbsp;&nbsp; B已取得A，就可以随时回调A所实现的operate接口中的方法 </p>
<p>=========================================================================</p>
<p>接口和回调.编程一个常用的模式是回调模式，在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。</p>
<p>==========================================================================</p>
<p>概括一句：回调函数实际上就是在调用某个函数（通常是API函数）时，将自己的一个函数（这个函数为回调函数）的地址作为参数传递给那个函数。而那个函数在需要的时候，利用传递的地址调用回调函数，这时你可以利用这个机会在回调函数中处理消息或完成一定的操作。</p>
<p>===========================================================================</p>
<p>借用John D. Mitchell的例子应该比较好理解</p>
<p><br />
在MS-Windows或者X-Window系统的事件驱动模型中，当某些事件发生的时候，开发人员已经熟悉通过传递函数指针来调用处理方法。而在Java的面向对象的模型中，不能支持这种方法，因而看起来好像排除了使用这种比较舒服的机制，但事实并非如此。</p>
<p>Java的接口提供了一种很好的机制来让我们达到和回调相同的效果。这个诀窍就在于定一个简单的接口，在接口之中定义一个我们希望调用的方法。</p>
<p>举个例子来说，假设当一个事件发生的时候，我们想它被通知，那么我们定义一个接口：</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"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">interface</span><span style="color: #000000">&nbsp;InterestingEvent<br />
<img id="Codehighlighter1_34_179_Open_Image" onclick="this.style.display='none'; Codehighlighter1_34_179_Open_Text.style.display='none'; Codehighlighter1_34_179_Closed_Image.style.display='inline'; Codehighlighter1_34_179_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_34_179_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_34_179_Closed_Text.style.display='none'; Codehighlighter1_34_179_Open_Image.style.display='inline'; Codehighlighter1_34_179_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_34_179_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_34_179_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;This&nbsp;is&nbsp;just&nbsp;a&nbsp;regular&nbsp;method&nbsp;so&nbsp;it&nbsp;can&nbsp;return&nbsp;something&nbsp;or<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;take&nbsp;arguments&nbsp;if&nbsp;you&nbsp;like.</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;interestingEvent&nbsp;();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<p>这就给我们一个控制实现了该接口的所有类的对象的控制点。因此，我们不需要关心任何和自己相关的其它外界的类型信息。这种方法比C函数更好，因为在C++风格的代码中，需要指定一个数据域来保存对象指针，而Java中这种实现并不需要。</p>
<p>发出事件的类需要对象实现InterestingEvent接口，然后调用接口中的interestingEvent ()方法。</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"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;EventNotifier<br />
<img id="Codehighlighter1_27_607_Open_Image" onclick="this.style.display='none'; Codehighlighter1_27_607_Open_Text.style.display='none'; Codehighlighter1_27_607_Closed_Image.style.display='inline'; Codehighlighter1_27_607_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_27_607_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_27_607_Closed_Text.style.display='none'; Codehighlighter1_27_607_Open_Image.style.display='inline'; Codehighlighter1_27_607_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_27_607_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_27_607_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;InterestingEvent&nbsp;ie;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;somethingHappened;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;EventNotifier&nbsp;(InterestingEvent&nbsp;event)<br />
<img id="Codehighlighter1_159_308_Open_Image" onclick="this.style.display='none'; Codehighlighter1_159_308_Open_Text.style.display='none'; Codehighlighter1_159_308_Closed_Image.style.display='inline'; Codehighlighter1_159_308_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_159_308_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_159_308_Closed_Text.style.display='none'; Codehighlighter1_159_308_Open_Image.style.display='inline'; Codehighlighter1_159_308_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_159_308_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_159_308_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Save&nbsp;the&nbsp;event&nbsp;object&nbsp;for&nbsp;later&nbsp;use.</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ie&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;event;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Nothing&nbsp;to&nbsp;report&nbsp;yet.</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;somethingHappened&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" />&nbsp;&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;doWork&nbsp;()<br />
<img id="Codehighlighter1_355_591_Open_Image" onclick="this.style.display='none'; Codehighlighter1_355_591_Open_Text.style.display='none'; Codehighlighter1_355_591_Closed_Image.style.display='inline'; Codehighlighter1_355_591_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_355_591_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_355_591_Closed_Text.style.display='none'; Codehighlighter1_355_591_Open_Image.style.display='inline'; Codehighlighter1_355_591_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_355_591_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_355_591_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Check&nbsp;the&nbsp;predicate,&nbsp;which&nbsp;is&nbsp;set&nbsp;elsewhere.</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(somethingHappened)<br />
<img id="Codehighlighter1_454_570_Open_Image" onclick="this.style.display='none'; Codehighlighter1_454_570_Open_Text.style.display='none'; Codehighlighter1_454_570_Closed_Image.style.display='inline'; Codehighlighter1_454_570_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_454_570_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_454_570_Closed_Text.style.display='none'; Codehighlighter1_454_570_Open_Image.style.display='inline'; Codehighlighter1_454_570_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_454_570_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_454_570_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Signal&nbsp;the&nbsp;even&nbsp;by&nbsp;invoking&nbsp;the&nbsp;interface's&nbsp;method.</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ie.interestingEvent&nbsp;();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<p>在这个例子中，我们使用了somethingHappened这个标志来跟踪是否事件应该被激发。在许多事例中，被调用的方法能够激发interestingEvent()方法才是正确的。</p>
<p>希望收到事件通知的代码必须实现InterestingEvent接口，并且正确的传递自身的引用到事件通知器。</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"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;CallMe&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;InterestingEvent<br />
<img id="Codehighlighter1_48_427_Open_Image" onclick="this.style.display='none'; Codehighlighter1_48_427_Open_Text.style.display='none'; Codehighlighter1_48_427_Closed_Image.style.display='inline'; Codehighlighter1_48_427_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_48_427_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_48_427_Closed_Text.style.display='none'; Codehighlighter1_48_427_Open_Image.style.display='inline'; Codehighlighter1_48_427_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_48_427_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_48_427_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;EventNotifier&nbsp;en;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;CallMe&nbsp;()<br />
<img id="Codehighlighter1_108_217_Open_Image" onclick="this.style.display='none'; Codehighlighter1_108_217_Open_Text.style.display='none'; Codehighlighter1_108_217_Closed_Image.style.display='inline'; Codehighlighter1_108_217_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_108_217_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_108_217_Closed_Text.style.display='none'; Codehighlighter1_108_217_Open_Image.style.display='inline'; Codehighlighter1_108_217_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_108_217_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_108_217_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Create&nbsp;the&nbsp;event&nbsp;notifier&nbsp;and&nbsp;pass&nbsp;ourself&nbsp;to&nbsp;it.</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;en&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;EventNotifier&nbsp;(</span><span style="color: #0000ff">this</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Define&nbsp;the&nbsp;actual&nbsp;handler&nbsp;for&nbsp;the&nbsp;event.</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;interestingEvent&nbsp;()<br />
<img id="Codehighlighter1_310_412_Open_Image" onclick="this.style.display='none'; Codehighlighter1_310_412_Open_Text.style.display='none'; Codehighlighter1_310_412_Closed_Image.style.display='inline'; Codehighlighter1_310_412_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_310_412_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_310_412_Closed_Text.style.display='none'; Codehighlighter1_310_412_Open_Image.style.display='inline'; Codehighlighter1_310_412_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_310_412_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_310_412_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Wow!&nbsp;&nbsp;Something&nbsp;really&nbsp;interesting&nbsp;must&nbsp;have&nbsp;occurred!<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Do&nbsp;something<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<br />
<br />
<img src ="http://www.blogjava.net/siyn/aggbug/180253.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2008-02-17 12:25 <a href="http://www.blogjava.net/siyn/archive/2008/02/17/JAVA_CALLBACK.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>response.setContentType()的String参数及对应类型</title><link>http://www.blogjava.net/siyn/archive/2008/01/22/177111.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Tue, 22 Jan 2008 10:09:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2008/01/22/177111.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/177111.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2008/01/22/177111.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/177111.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/177111.html</trackback:ping><description><![CDATA[<p>response.setContentType()的String参数及对应类型 </p>
<p>&lt;option&nbsp;&nbsp; value="image/bmp"&gt;BMP&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="image/gif"&gt;GIF&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="image/jpeg"&gt;JPEG&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="image/tiff"&gt;TIFF&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="image/x-dcx"&gt;DCX&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="image/x-pcx"&gt;PCX&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="text/html"&gt;HTML&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="text/plain"&gt;TXT&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="text/xml"&gt;XML&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="application/afp"&gt;AFP&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="application/pdf"&gt;PDF&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="application/rtf"&gt;RTF&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="application/msword"&gt;MSWORD&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="application/vnd.ms-excel"&gt;MSEXCEL&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="application/vnd.ms-powerpoint"&gt;MSPOWERPOINT&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="application/wordperfect5.1"&gt;WORDPERFECT&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="application/vnd.lotus-wordpro"&gt;WORDPRO&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="application/vnd.visio"&gt;VISIO&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="application/vnd.framemaker"&gt;FRAMEMAKER&lt;/option&gt;&nbsp;&nbsp; <br />
&lt;option&nbsp;&nbsp; value="application/vnd.lotus-1-2-3"&gt;LOTUS123&lt;/option&gt;</p>
<img src ="http://www.blogjava.net/siyn/aggbug/177111.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2008-01-22 18:09 <a href="http://www.blogjava.net/siyn/archive/2008/01/22/177111.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用ServletContextListener实现定时任务</title><link>http://www.blogjava.net/siyn/archive/2008/01/08/173552.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Tue, 08 Jan 2008 02:28:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2008/01/08/173552.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/173552.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2008/01/08/173552.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/173552.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/173552.html</trackback:ping><description><![CDATA[一个实现ServletContextListener接口的类: StatisticsContextListener.java<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.ed.cnc.servletListener;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletContextEvent;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletContextListener;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.ed.cnc.city.StatisticsTask;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_165_212_Open_Image" onclick="this.style.display='none'; Codehighlighter1_165_212_Open_Text.style.display='none'; Codehighlighter1_165_212_Closed_Image.style.display='inline'; Codehighlighter1_165_212_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_165_212_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_165_212_Closed_Text.style.display='none'; Codehighlighter1_165_212_Open_Image.style.display='inline'; Codehighlighter1_165_212_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_165_212_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">/**&nbsp;*/</span><span id="Codehighlighter1_165_212_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;统计ContextListener<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">&nbsp;westd<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_214_240_Open_Image" onclick="this.style.display='none'; Codehighlighter1_214_240_Open_Text.style.display='none'; Codehighlighter1_214_240_Closed_Image.style.display='inline'; Codehighlighter1_214_240_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_214_240_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_214_240_Closed_Text.style.display='none'; Codehighlighter1_214_240_Open_Image.style.display='inline'; Codehighlighter1_214_240_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_214_240_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">/**&nbsp;*/</span><span id="Codehighlighter1_214_240_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">&nbsp;westd<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;StatisticsContextListener&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;ServletContextListener<br />
<img id="Codehighlighter1_315_1064_Open_Image" onclick="this.style.display='none'; Codehighlighter1_315_1064_Open_Text.style.display='none'; Codehighlighter1_315_1064_Closed_Image.style.display='inline'; Codehighlighter1_315_1064_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_315_1064_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_315_1064_Closed_Text.style.display='none'; Codehighlighter1_315_1064_Open_Image.style.display='inline'; Codehighlighter1_315_1064_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_315_1064_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_315_1064_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;java.util.Timer&nbsp;timer&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_362_504_Open_Image" onclick="this.style.display='none'; Codehighlighter1_362_504_Open_Text.style.display='none'; Codehighlighter1_362_504_Closed_Image.style.display='inline'; Codehighlighter1_362_504_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_362_504_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_362_504_Closed_Text.style.display='none'; Codehighlighter1_362_504_Open_Image.style.display='inline'; Codehighlighter1_362_504_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_362_504_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">/**&nbsp;*/</span><span id="Codehighlighter1_362_504_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;这个方法在Web应用服务做好接受请求的时候被调用。<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@see</span><span style="color: #008000">&nbsp;javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;contextInitialized(ServletContextEvent&nbsp;event)&nbsp;<br />
<img id="Codehighlighter1_567_784_Open_Image" onclick="this.style.display='none'; Codehighlighter1_567_784_Open_Text.style.display='none'; Codehighlighter1_567_784_Closed_Image.style.display='inline'; Codehighlighter1_567_784_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_567_784_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_567_784_Closed_Text.style.display='none'; Codehighlighter1_567_784_Open_Image.style.display='inline'; Codehighlighter1_567_784_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_567_784_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_567_784_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;java.util.Timer(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;event.getServletContext().log(</span><span style="color: #000000">"</span><span style="color: #000000">定时器已启动</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer.schedule(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StatisticsTask(event.getServletContext()),&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">60</span><span style="color: #000000">*</span><span style="color: #000000">60</span><span style="color: #000000">*</span><span style="color: #000000">1000</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">每隔1小时</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;event.getServletContext().log(</span><span style="color: #000000">"</span><span style="color: #000000">已经添加任务调度表</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_791_938_Open_Image" onclick="this.style.display='none'; Codehighlighter1_791_938_Open_Text.style.display='none'; Codehighlighter1_791_938_Closed_Image.style.display='inline'; Codehighlighter1_791_938_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_791_938_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_791_938_Closed_Text.style.display='none'; Codehighlighter1_791_938_Open_Image.style.display='inline'; Codehighlighter1_791_938_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_791_938_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">/**&nbsp;*/</span><span id="Codehighlighter1_791_938_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;这个方法在Web应用服务被移除，没有能力再接受请求的时候被调用。<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@see</span><span style="color: #008000">&nbsp;javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;contextDestroyed(ServletContextEvent&nbsp;event)<br />
<img id="Codehighlighter1_998_1061_Open_Image" onclick="this.style.display='none'; Codehighlighter1_998_1061_Open_Text.style.display='none'; Codehighlighter1_998_1061_Closed_Image.style.display='inline'; Codehighlighter1_998_1061_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_998_1061_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_998_1061_Closed_Text.style.display='none'; Codehighlighter1_998_1061_Open_Image.style.display='inline'; Codehighlighter1_998_1061_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_998_1061_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_998_1061_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer.cancel();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;event.getServletContext().log(</span><span style="color: #000000">"</span><span style="color: #000000">定时器销毁</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<br />
一个继承于TimerTask的一个类：StatisticsTask.java<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.ed.cnc.city;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Calendar;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.TimerTask;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletContext;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_121_155_Open_Image" onclick="this.style.display='none'; Codehighlighter1_121_155_Open_Text.style.display='none'; Codehighlighter1_121_155_Closed_Image.style.display='inline'; Codehighlighter1_121_155_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_121_155_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_121_155_Closed_Text.style.display='none'; Codehighlighter1_121_155_Open_Image.style.display='inline'; Codehighlighter1_121_155_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_121_155_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">/**&nbsp;*/</span><span id="Codehighlighter1_121_155_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;统计任务<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">&nbsp;westd<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;StatisticsTask&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;TimerTask<br />
<img id="Codehighlighter1_203_994_Open_Image" onclick="this.style.display='none'; Codehighlighter1_203_994_Open_Text.style.display='none'; Codehighlighter1_203_994_Closed_Image.style.display='inline'; Codehighlighter1_203_994_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_203_994_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_203_994_Closed_Text.style.display='none'; Codehighlighter1_203_994_Open_Image.style.display='inline'; Codehighlighter1_203_994_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_203_994_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_203_994_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;STATISTICS_SCHEDULE_HOUR&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;isRunning&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;ServletContext&nbsp;context&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;StatisticsTask(ServletContext&nbsp;context)<br />
<img id="Codehighlighter1_394_423_Open_Image" onclick="this.style.display='none'; Codehighlighter1_394_423_Open_Text.style.display='none'; Codehighlighter1_394_423_Closed_Image.style.display='inline'; Codehighlighter1_394_423_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_394_423_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_394_423_Closed_Text.style.display='none'; Codehighlighter1_394_423_Open_Image.style.display='inline'; Codehighlighter1_394_423_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_394_423_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_394_423_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.context&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;context;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;run()<br />
<img id="Codehighlighter1_458_875_Open_Image" onclick="this.style.display='none'; Codehighlighter1_458_875_Open_Text.style.display='none'; Codehighlighter1_458_875_Closed_Image.style.display='inline'; Codehighlighter1_458_875_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_458_875_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_458_875_Closed_Text.style.display='none'; Codehighlighter1_458_875_Open_Image.style.display='inline'; Codehighlighter1_458_875_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_458_875_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_458_875_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calendar&nbsp;cal&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Calendar.getInstance();&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">System.out.println(isRunning);</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">isRunning)&nbsp;<br />
<img id="Codehighlighter1_558_822_Open_Image" onclick="this.style.display='none'; Codehighlighter1_558_822_Open_Text.style.display='none'; Codehighlighter1_558_822_Closed_Image.style.display='inline'; Codehighlighter1_558_822_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_558_822_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_558_822_Closed_Text.style.display='none'; Codehighlighter1_558_822_Open_Image.style.display='inline'; Codehighlighter1_558_822_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_558_822_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_558_822_Open_Text"><span style="color: #000000">{&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(STATISTICS_SCHEDULE_HOUR&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;cal.get(Calendar.HOUR_OF_DAY))&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">查看是否为凌晨</span><span style="color: #008000"><br />
<img id="Codehighlighter1_640_817_Open_Image" onclick="this.style.display='none'; Codehighlighter1_640_817_Open_Text.style.display='none'; Codehighlighter1_640_817_Closed_Image.style.display='inline'; Codehighlighter1_640_817_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_640_817_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_640_817_Closed_Text.style.display='none'; Codehighlighter1_640_817_Open_Image.style.display='inline'; Codehighlighter1_640_817_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_640_817_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_640_817_Open_Text"><span style="color: #000000">{&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isRunning&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.log(</span><span style="color: #000000">"</span><span style="color: #000000">开始执行指定任务</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">TODO&nbsp;添加自定义的详细任务</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;executeTask();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">指定任务执行结束</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isRunning&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.log(</span><span style="color: #000000">"</span><span style="color: #000000">指定任务执行结束</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;<br />
<img id="Codehighlighter1_835_870_Open_Image" onclick="this.style.display='none'; Codehighlighter1_835_870_Open_Text.style.display='none'; Codehighlighter1_835_870_Closed_Image.style.display='inline'; Codehighlighter1_835_870_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_835_870_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_835_870_Closed_Text.style.display='none'; Codehighlighter1_835_870_Open_Image.style.display='inline'; Codehighlighter1_835_870_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_835_870_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_835_870_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.log(</span><span style="color: #000000">"</span><span style="color: #000000">上一次任务执行还未结束</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_879_895_Open_Image" onclick="this.style.display='none'; Codehighlighter1_879_895_Open_Text.style.display='none'; Codehighlighter1_879_895_Closed_Image.style.display='inline'; Codehighlighter1_879_895_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_879_895_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_879_895_Closed_Text.style.display='none'; Codehighlighter1_879_895_Open_Image.style.display='inline'; Codehighlighter1_879_895_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_879_895_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">/**&nbsp;*/</span><span id="Codehighlighter1_879_895_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;执行任务<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;executeTask()<br />
<img id="Codehighlighter1_925_992_Open_Image" onclick="this.style.display='none'; Codehighlighter1_925_992_Open_Text.style.display='none'; Codehighlighter1_925_992_Closed_Image.style.display='inline'; Codehighlighter1_925_992_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_925_992_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_925_992_Closed_Text.style.display='none'; Codehighlighter1_925_992_Open_Image.style.display='inline'; Codehighlighter1_925_992_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_925_992_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_925_992_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">任务1<img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">任务2<img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<br />
web.xml中添加如下代码：<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.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">listener</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">listener-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">com.ed.cnc.servletListener.StatisticsContextListener</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">listener-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">listener</span><span style="color: #0000ff">&gt;</span></div>
<br />
<img src ="http://www.blogjava.net/siyn/aggbug/173552.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2008-01-08 10:28 <a href="http://www.blogjava.net/siyn/archive/2008/01/08/173552.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java数据类型</title><link>http://www.blogjava.net/siyn/archive/2007/10/17/153563.html</link><dc:creator>siyn</dc:creator><author>siyn</author><pubDate>Wed, 17 Oct 2007 06:20:00 GMT</pubDate><guid>http://www.blogjava.net/siyn/archive/2007/10/17/153563.html</guid><wfw:comment>http://www.blogjava.net/siyn/comments/153563.html</wfw:comment><comments>http://www.blogjava.net/siyn/archive/2007/10/17/153563.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/siyn/comments/commentRss/153563.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/siyn/services/trackbacks/153563.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: java数据类型     字节  表示范围 <br><br>byte（字节型）     1  -128～127 <br>short（短整型）    2 -32768～32767 <br>int（整型）        4  -2147483648～2147483647 <br>long（长整型）     8  -9223372036854775808 ~ 9223372036854775807 <br>float（浮点型）    4  -3.4E38～3.4E38 <br>double（双精度型） 8  -1.7E308～1.7E308 <br>char（字符型）     2  从字符型对应的整型数来划分，其表示范围是0～65535 <br>boolean（布尔型）  1  true或false <br><br>&nbsp;&nbsp;<a href='http://www.blogjava.net/siyn/archive/2007/10/17/153563.html'>阅读全文</a><img src ="http://www.blogjava.net/siyn/aggbug/153563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/siyn/" target="_blank">siyn</a> 2007-10-17 14:20 <a href="http://www.blogjava.net/siyn/archive/2007/10/17/153563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>