﻿<?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-虾米爬啊爬</title><link>http://www.blogjava.net/xiami1022/</link><description>-xiami's blog</description><language>zh-cn</language><lastBuildDate>Tue, 12 May 2026 22:58:43 GMT</lastBuildDate><pubDate>Tue, 12 May 2026 22:58:43 GMT</pubDate><ttl>60</ttl><item><title>where 1=1(摘)</title><link>http://www.blogjava.net/xiami1022/archive/2007/07/17/130726.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Tue, 17 Jul 2007 01:45:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2007/07/17/130726.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/130726.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2007/07/17/130726.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/130726.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/130726.html</trackback:ping><description><![CDATA[<p>where 1=1<br>最近看到很多sql里用到where 1=1，原来觉得这没用嘛，但是又想到如果没用为什么要写呢？于是在网上</p>
<p>查了查，在这里就浅谈一下：<br>&nbsp;1=1 永真，&nbsp; 1&lt;&gt;1 永假。<br>&nbsp;<br>1&lt;&gt;1 的用处：<br>用于只取结构不取数据的场合<br>例如：<br>create table table_temp tablespace tbs_temp as<br>select * from table_ori where 1&lt;&gt;1 <br>建成一个与table_ori 结构相同的表table_temp，但是不要table_ori 里的数据。（除了表结构，其它结</p>
<p>构也同理)<br>&nbsp;<br>1=1的用处<br>用于动态SQL<br>例如 lv_string := 'select tbl_name,tbl_desc from tbl_test where 1=1 '||l_condition;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当用户选择了查询的名称'abc'时l_condition :='and tbl_name = ''abc'''';但是当用户没有</p>
<p>选择名称查询时l_condition就为空 这样 lv_string = 'select tbl_name,tbl_desc from tbl_test </p>
<p>where 1=1 ' ，运行也不会出错，相当于没有限制名称条件。但是如果没有1=1的条件，则lv_string = </p>
<p>'select tbl_name,tbl_desc from tbl_test where ';这样就会报错。<br>&nbsp;<br>除了1=1 或1&lt;&gt;1之外的其它永真永假的条件同理。<br></p>
<img src ="http://www.blogjava.net/xiami1022/aggbug/130726.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2007-07-17 09:45 <a href="http://www.blogjava.net/xiami1022/archive/2007/07/17/130726.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>String 转 Date</title><link>http://www.blogjava.net/xiami1022/archive/2007/05/08/116055.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Tue, 08 May 2007 14:29:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2007/05/08/116055.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/116055.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2007/05/08/116055.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/116055.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/116055.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_11_552_Open_Image onclick="this.style.display='none'; Codehighlighter1_11_552_Open_Text.style.display='none'; Codehighlighter1_11_552_Closed_Image.style.display='inline'; Codehighlighter1_11_552_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_11_552_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_11_552_Closed_Text.style.display='none'; Codehighlighter1_11_552_Open_Image.style.display='inline'; Codehighlighter1_11_552_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span id=Codehighlighter1_11_552_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"></span><span id=Codehighlighter1_11_552_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;&nbsp;&nbsp;SD&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1999-01-31</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;java.sql.Date&nbsp;&nbsp;&nbsp;d1&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;java.sql.Date.valueOf(SD);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(d1);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;java.text.SimpleDateFormat&nbsp;&nbsp;&nbsp;input_str</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;java.text.SimpleDateFormat(&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">yyyy/mm/dd</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;&nbsp;&nbsp;tmpDate&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">2000/03/02</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;java.util.Date&nbsp;&nbsp;&nbsp;xdate&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;input_str.parse(&nbsp;&nbsp;&nbsp;tmpDate&nbsp;&nbsp;&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;java.sql.Date&nbsp;&nbsp;&nbsp;d&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;java.sql.Date(xdate.getTime());<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(d);<br><img id=Codehighlighter1_592_661_Open_Image onclick="this.style.display='none'; Codehighlighter1_592_661_Open_Text.style.display='none'; Codehighlighter1_592_661_Closed_Image.style.display='inline'; Codehighlighter1_592_661_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_592_661_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_592_661_Closed_Text.style.display='none'; Codehighlighter1_592_661_Open_Image.style.display='inline'; Codehighlighter1_592_661_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">(java.text.ParseException&nbsp;&nbsp;&nbsp;pe)&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_592_661_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"></span><span id=Codehighlighter1_592_661_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&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">&nbsp;&nbsp;&nbsp;Error&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;pe);&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<img src ="http://www.blogjava.net/xiami1022/aggbug/116055.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2007-05-08 22:29 <a href="http://www.blogjava.net/xiami1022/archive/2007/05/08/116055.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>命名规则</title><link>http://www.blogjava.net/xiami1022/archive/2007/04/02/107944.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Mon, 02 Apr 2007 05:23:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2007/04/02/107944.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/107944.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2007/04/02/107944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/107944.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/107944.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 10pt; COLOR: #333399"><strong>&#8226;类和接口</strong>&nbsp; 首字母应该大写，如果名称已多个单词组成，则各单词的首字母应该大写。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类名应该选择以名词表示。如：Account <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接口名应该选择以形容词表示。如：Runnable<br><strong>&#8226;方法</strong>&nbsp; 首字母应该小写，名称通是动词—名词对。如：getBalance.<br><strong>&#8226;变量</strong>&nbsp; 与方法一样，应使用camelCase格式，并以小写字母开头。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sun建议使用有意义的&nbsp;&nbsp;&nbsp; 短名称。如：myString.<br><strong>&#8226;常量</strong>&nbsp; Java通过用static和final标示变量来创建常量。应该使用大写字母作为<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其名称， 并以下划线作为分隔符：MY_HEIGHT.</span>
<img src ="http://www.blogjava.net/xiami1022/aggbug/107944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2007-04-02 13:23 <a href="http://www.blogjava.net/xiami1022/archive/2007/04/02/107944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ajax（百度百科）</title><link>http://www.blogjava.net/xiami1022/archive/2007/03/31/107621.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Sat, 31 Mar 2007 03:56:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2007/03/31/107621.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/107621.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2007/03/31/107621.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/107621.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/107621.html</trackback:ping><description><![CDATA[
		<div class="box2">
				<span class="Tit">
						<font color="#ff3300" size="5">ajax</font>
				</span>
		</div>
		<table class="htb wr" cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<div class="box2 p14">
												<a href="http://baike.baidu.com/pic/1/1172721636085091.jpg" target="_blank">
														<font color="#333399" size="2">
																<img title="点击查看大图" alt="" hspace="5" src="http://baike.baidu.com/pic/1/1172721636085091_small.jpg" align="right" vspace="5" border="0" />
														</font>
												</a>
												<font color="#333399" size="2"> AJAX全称为“Asynchronous JavaScript and XML”（异步JavaScript和XML），是指一种创建交互式网页应用的网页开发技术。 <br /><br />主要包含了以下几种技术： <br /><br />Ajax（Asynchronous JavaScript + XML）的定义 <br /><br />基于web标准（standards-based presentation）XHTML+CSS的表示； <br /><br />使用 DOM（Document Object Model）进行动态显示及交互； <br /><br />使用 XML 和 XSLT 进行数据交换及相关操作； <br /><br />使用 XMLHttpRequest 进行异步数据查询、检索； <br /><br />使用 JavaScript 将所有的东西绑定在一起。</font>
												<a href="http://bk.baidu.com/view/170434.htm" target="_blank">
														<font color="#333399" size="2">英文</font>
												</a>
												<font color="#333399" size="2">参见Ajax的提出者Jesse James Garrett的原文a <br /><br />类似于DHTML或LAMP，AJAX不是指一种单一的技术，而是有机地利用了一系列相关的技术。事实上，一些基于AJAX的“派生/合成”式（derivative/composite）的技术正在出现，如“AFLAX”。 <br /><br />AJAX的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括：Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支持XSL格式对象，也不支持XSLT。<br /><br /><b>与传统的web应用比较</b><br /><br />传统的web应用允许用户填写表单(form)，当提交表单时就向</font>
												<a href="http://bk.baidu.com/view/3912.htm" target="_blank">
														<font color="#333399" size="2">web</font>
												</a>
												<a href="http://bk.baidu.com/view/899.htm" target="_blank">
														<font color="#333399" size="2">服务器</font>
												</a>
												<font color="#333399" size="2">发送一个请求。服务器接收并处理传来的表单，然後返回一个新的</font>
												<a href="http://bk.baidu.com/view/828.htm" target="_blank">
														<font color="#333399" size="2">网页</font>
												</a>
												<font color="#333399" size="2">。这个做法浪费了许多带宽，因为在前後两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求，应用的响应时间就依赖于服务器的</font>
												<a href="http://bk.baidu.com/view/84619.htm" target="_blank">
														<font color="#333399" size="2">响应时间</font>
												</a>
												<font color="#333399" size="2">。这导致了用户界面的响应比本地应用慢得多。 <br /><br />与此不同，AJAX应用可以仅向服务器发送并取回必需的数据，它使用SOAP或其它一些基于XML的web service接口，并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少，结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成，所以Web服务器的处理时间也减少了。<br /><br />Ajax应用程序的优势在于：<br /><br />1. 通过异步模式，提升了用户体验<br /><br />2. 优化了</font>
												<a href="http://bk.baidu.com/view/7718.htm" target="_blank">
														<font color="#333399" size="2">浏览器</font>
												</a>
												<font color="#333399" size="2">和服务器之间的传输，减少不必要的数据往返，减少了带宽占用<br /><br />3. Ajax引擎在客户端运行，承担了一部分本来由服务器承担的工作，从而减少了大用户量下的服务器负载。<br /><br /><b>Ajax的工作原理</b><br /><br />　　Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入，它是一种支持异步请求的技术。简而言之，XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应，而不阻塞用户。<br /><br />　　在创建Web站点时，在客户端执行屏幕更新为用户提供了很大的灵活性。下面是使用Ajax可以完成的功能：<br /><br />    动态更新购物车的物品总数，无需用户单击Update并等待服务器重新发送整个页面。 <br /><br />    提升站点的性能，这是通过减少从服务器下载的数据量而实现的。例如，在某购物车页面，当更新篮子中的一项物品的数量时，会重新载入整个页面，这必须下载整个页面的数据。如果使用Ajax计算新的总量，服务器只会返回新的总量值，因此所需的带宽仅为原来的百分之一。 消除了每次用户输入时的页面刷新。例如，在Ajax中，如果用户在分页列表上单击Next，则服务器数据只刷新列表而不是整个页面。 <br />直接编辑表格数据，而不是要求用户导航到新的页面来编辑数据。对于Ajax，当用户单击Edit时，可以将静态表格刷新为内容可编辑的表格。用户单击Done之后，就可以发出一个Ajax请求来更新服务器，并刷新表格，使其包含静态、只读的数据。<br /><br />　　一切皆有可能！但愿它能够激发您开始开发自己的基于Ajax的站点。然而，在开始之前，让我们介绍一个现有的Web站点，它遵循传统的提交/等待/重新显示的范例，我们还将讨论Ajax如何提升用户体验。<br /><br />　　　Ajax的工作原理相当于在用户和服务器之间加了—个中间层，使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端，利于客户端闲置的处理能力来处理，减轻服务器和带宽的负担，从而达到节约ISP的空间及带宽租用成本的目的。<br /><br />我们以两个验证通行证帐号是否存在的例子来讲述AJAX在实际中的应用：<br /><br />(1)用文本字符串的方式返回服务器的响应来验证网易通行证帐号是否存在； <br /><br />(2)以XMLDocument对象方式返回响应来验证金山通行证帐号是否存在；<br /><br />首先，我们需要用JavaScript来创建XMLHttpRequest 类向服务器发送一个HTTP请求， XMLHttpRequest 类首先由Internet Explorer以ActiveX对象引入，被称为XMLHTTP。 后来Mozilla﹑Netscape﹑Safari 和其他浏览器也提供了XMLHttpRequest类，不过它们创建XMLHttpRequest类的方法不同。<br /><br />对于Internet Explorer浏览器，创建XMLHttpRequest 方法如下：<br /><br />xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP.3.0"); //3.0或4.0, 5.0 xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP"); xmlhttp_request = new ActiveXObject("Microsoft.XMLHTTP"); <br /><br />由于在不同Internet Explorer浏览器中XMLHTTP版本可能不一致，为了更好的兼容不同版本的Internet Explorer浏览器，因此我们需要根据不同版本的Internet Explorer浏览器来创建XMLHttpRequest类，上面代码就是根据不同的Internet Explorer浏览器创建XMLHttpRequest类的方法。<br /><br />对于Mozilla﹑Netscape﹑Safari等浏览器，创建XMLHttpRequest 方法如下：xmlhttp_request = new XMLHttpRequest();<br /><br />如果服务器的响应没有XML mime-type header，某些Mozilla浏览器可能无法正常工作。 为了解决这个问题，如果服务器响应的header不是text/xml，可以调用其它方法修改该header。<br /><br />xmlhttp_request = new XMLHttpRequest(); xmlhttp_request.overrideMimeType('text/xml'); <br /><br />在实际应用中，为了兼容多种不同版本的浏览器，一般将创建XMLHttpRequest类的方法写成如下形式：<br /><br />try{ if( window.ActiveXObject ){ for( var i = 5; i; i-- ){ try{ if( i == 2 ){ xmlhttp_request = new ActiveXObject( "Microsoft.XMLHTTP" ); }else{ xmlhttp_request = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" ); } xmlhttp_request.setRequestHeader("Content-Type","text/xml"); xmlhttp_request.setRequestHeader("Content-Type","gb2312"); break;} catch(e){ xmlhttp_request = false; } } }else if( window.XMLHttpRequest ){ xmlhttp_request = new XMLHttpRequest(); if (xmlhttp_request.overrideMimeType) { xmlhttp_request.overrideMimeType('text/xml'); } } }catch(e){ xmlhttp_request = false; } <br /><br />在定义了如何处理响应后，就要发送请求了。可以调用HTTP请求类的open()和send()方法，如下所示：<br /><br />xmlhttp_request.open('GET', URL, true); xmlhttp_request.send(null); <br /><br />open()的第一个参数是HTTP请求方式—GET，POST或任何服务器所支持的您想调用的方式。 按照HTTP规范，该参数要大写；否则，某些浏览器(如Firefox)可能无法处理请求。 <br /><br />第二个参数是请求页面的URL。<br /><br />第三个参数设置请求是否为异步模式。如果是TRUE，JavaScript函数将继续执行，而不等待服务器响应。这就是"AJAX"中的"A"。<br /><br />用JavaScript来创建XMLHttpRequest 类向服务器发送一个HTTP请求后，接下来要决定当收到服务器的响应后，需要做什么。这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应。可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名，如下所示：xmlhttp_request.onreadystatechange =FunctionName;<br /><br />FunctionName是用JavaScript创建的函数名，注意不要写成FunctionName()，当然我们也可以直接将JavaScript代码创建在onreadystatechange之后，例如：xmlhttp_request.onreadystatechange = function(){<br /><br />// JavaScript代码段<br /><br />};<br /><br />在这个函数中。首先要检查请求的状态。只有当一个完整的服务器响应已经收到了，函数才可以处理该响应。XMLHttpRequest 提供了readyState属性来对服务器响应进行判断。<br /><br />readyState的取值如下： <br /><br />0 (未初始化) <br /><br />1 (正在装载) <br /><br />2 (装载完毕) <br /><br />3 (交互中) <br /><br />4 (完成)<br /><br />所以只有当readyState=4时，一个完整的服务器响应已经收到了，函数才可以处理该响应。具体代码如下：<br /><br />if (http_request.readyState == 4) { // 收到完整的服务器响应 } else { // 没有收到完整的服务器响应 }当readyState=4时，一个完整的服务器响应已经收到了，接着，函数会检查HTTP服务器响应的状态值。完整的状态取值可参见W3C文档。当HTTP服务器响应的值为200时，表示状态正常。<br /><br />在检查完请求的状态值和响应的HTTP状态值后，就可以处理从服务器得到的数据了。有两种方式可以得到这些数据：(1) 以文本字符串的方式返回服务器的响应<br /><br />(2) 以XMLDocument对象方式返回响应<br /><br />实例一： 用文本字符串的方式返回服务器的响应来验证网易通行证帐号是否存在<br /><br />首先，我们登陆网易通行证注册页面，可以看到检测用户名是否存在是将用户名提交给checkssn.jsp页面进行判断，格式为：<br /><br />reg.163.com/register/checkssn.jsp?username=用户名 根据上面讲到的方法，我们可以利用AJAX技术对网易通行证用户名进行检测：<br /><br />第一步：新建一个基于Xhtml标准的网页，在区域插入Javascript函数如下：<br /><br />function getXMLRequester( )<br /><br />{ var xmlhttp_request = false; try<br /><br />{ if( window.ActiveXObject )<br /><br />{ for( var i = 5; i; i-- ){ try{ if( i == 2 )<br /><br />{ xmlhttp_request = new ActiveXObject( "Microsoft.XMLHTTP" ); }<br /><br />else<br /><br />{ xmlhttp_request = new ActiveXObject<br /><br />( "Msxml2.XMLHTTP." + i + ".0" ); <br /><br />xmlhttp_request.setRequestHeader<br /><br />("Content-Type","text/xml"); xmlhttp_request.setRequestHeader("Content-Type","gb2312"); }<br /><br />break;} <br /><br />catch(e){ xmlhttp_request = false; } } }<br /><br />else if( window.XMLHttpRequest )<br /><br />{ xmlhttp_request = new XMLHttpRequest();<br /><br />if (xmlhttp_request.overrideMimeType)<br /><br />{ xmlhttp_request.overrideMimeType('text/xml'); } } }<br /><br />catch(e){ xmlhttp_request = false; } <br /><br />return xmlhttp_request ; } <br /><br />function IDRequest(n)<br /><br />{//定义收到服务器的响应后需要执行的JavaScript函数 url=n+document.getElementById('163id').value;<br /><br />//定义网址参数 xmlhttp_request=getXMLRequester();<br /><br />//调用创建XMLHttpRequest的函数 xmlhttp_request.onreadystatechange = doContents;<br /><br />//调用doContents函数 xmlhttp_request.open('GET', url, true); xmlhttp_request.send(null); } function doContents() <br /><br />{ if (xmlhttp_request.readyState == 4) <br /><br />{// 收到完整的服务器响应 if (xmlhttp_request.status == 200) {<br /><br />//HTTP服务器响应的值OK document.getElementById('message').innerHTML = xmlhttp_request.responseText; <br /><br />//将服务器返回的字符串写到页面中ID为message的区域 } <br /><br />else { alert(http_request.status); } } } <br /><br />在区域建立一个文本框，id为163id<br /><br />再建一个id为messsge的空白区域用来显示返回字符串(也可以通过Javascript函数截取一部分字符串显示)： <br /><br />这样，一个基于AJAX技术的用户名检测页面就做好了，不过这个页面将返回服务器响应生成页面的所有字符串，当然还可以对返回的字符串进行一些操作，便于应用到不同的需要当中。<br /><br />实例二： 以XMLDocument对象方式返回响应来验证金山通行证帐号是否存在<br /><br />在上面的例子中，当服务器对HTTP请求的响应被收到后，我们会调用请求对象的reponseText属性。该属性包含了服务器返回响应文件的内容。现在我们以XMLDocument对象方式返回响应，此时将不再需要reponseText属性而使用responseXML属性。<br /><br />首先登陆金山通行证注册页面，我们发现金山通行证用户名的检测方式为： pass.kingsoft.com/ksgweb/jsp/login/uid.jsp?uid=用户名,并且返回XML数据:<br /><br />isExistedUid -2 <br /><br />当result值为-1时表示此用户名已被注册，当result值为-2时表示此用户名尚未注册，因此通过对result值的判断可以知道用户名是否被注册。<br /><br />对上例代码进行修改：<br /><br />首先找到<br /><br />document.getElementById('message').innerHTML = xmlhttp_request.responseText;<br /><br />改为:<br /><br />var response = xmlhttp_request.responseXML.documentElement;<br /><br />var result = response.getElementsByTagName('result')[0].firstChild.data;//返回result节点数据<br /><br />if(result ==-2){<br /><br />document.getElementById('message').innerHTML = "用户名"+document.getElementById('163id').value+"尚未注册";}<br /><br />else if(result ==-1){<br /><br />document.getElementById('message').innerHTML = "对不起,用户名"+document.getElementById('163id').value+"已经注册";}<br /><br />通过以上两个实例说明了AJAX的客户端基础应用，采用的是网易和金山现成的服务器端程序，当然为了开发合适自己页面的程序，还需要对自己编写服务器端程序，这设计到程序语言及数据库的操作，对于有一定程序基础的读者一定不是很难的事情。<br /></font>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/xiami1022/aggbug/107621.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2007-03-31 11:56 <a href="http://www.blogjava.net/xiami1022/archive/2007/03/31/107621.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>名词解释（来源于百度百科）</title><link>http://www.blogjava.net/xiami1022/archive/2007/03/31/107620.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Sat, 31 Mar 2007 03:53:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2007/03/31/107620.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/107620.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2007/03/31/107620.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/107620.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/107620.html</trackback:ping><description><![CDATA[
		<div class="box2">
				<span class="Tit">
						<font style="BACKGROUND-COLOR: #ffffff" color="#ff3300" size="5">Structs</font>
				</span>
		</div>
		<table class="htb wr" cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<div class="box2 p14">
												<font style="BACKGROUND-COLOR: #ffffff">
														<font color="#000080" size="2">Struts只是一个MVC框架（Framework）,用于快速开发Java Web应用。Struts实现的重点在C(Controller)，包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签（Custom Tag）。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。 <br />Spring是一个轻型容器(light-weight container)，其核心是Bean工厂(Bean Factory)，用以构造我们所需要的M(Model)。在此基础之上，Spring提供了AOP（Aspect-Oriented Programming, 面向层面的编程）的实现，用它来提供非管理环境下申明方式的事务、安全等服务；对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用；DAO/ORM的实现方便我们进行数据库的开发；Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。 <br />就是说可将两者一起使用，达到将两者自身的特点进行互补。<br />优点： <br />Struts跟Tomcat、Turbine等诸多Apache项目一样，是开源软件，这是它的一大优点。使开发者能更深入的了解其内部实现机制。 <br />除此之外，Struts的优点主要集中体现在两个方面：Taglib和页面导航。Taglib是Struts的标记库，灵活动用，能大大提高开发效率。另外，就目前国内的JSP开发者而言，除了使用JSP自带的常用标记外，很少开发自己的标记，或许Struts是一个很好的起点。 <br />关于页面导航，我认为那将是今后的一个发展方向，事实上，这样做，使系统的脉络更加清晰。通过一个配置文件，即可把握整个系统各部分之间的联系，这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时，这种优势体现得更加明显。 <br />缺点： <br />Taglib是Struts的一大优势，但对于初学者而言，却需要一个持续学习的过程，甚至还会打乱你网页编写的习惯，但是，当你习惯了它时，你会觉得它真的很棒。 <br />Struts将MVC的Controller一分为三，在获得结构更加清晰的同时，也增加了系统的复杂度。 <br />Struts从产生到现在还不到半年，但已逐步越来越多运用于商业软件。虽然它现在还有不少缺点，但它是一种非常优秀的J2EE MVC实现方式，如果你的系统准备采用J2EE MVC架构，那么，不妨考虑一下Struts。 <br /></font>
												</font>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
		<div class="box2">
				<span class="Tit">
						<br />
						<br />
						<br />
						<br />
						<br />
						<font color="#ff0000" size="5">spring</font>
				</span>
		</div>
		<table class="htb wr" cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<div class="box2 p14">
												<font color="#000080" size="2">Spring是一个开源框架，它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而，Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言，任何Java应用都可以从Spring中受益。<br /><br />•        目的：解决企业应用开发的复杂性<br /><br />•        功能：使用基本的JavaBean代替EJB，并提供了更多的企业应用功能<br /><br />•        范围：任何Java应用<br /><br />简单来说，Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。<br /><br />■        轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外，Spring是非侵入式的：典型地，Spring应用中的对象不依赖于Spring的特定类。 <br /><br />■        控制反转——Spring通过一种称作控制反转（IoC）的技术促进了松耦合。当应用了IoC，一个对象依赖的其它对象会通过被动的方式传递进来，而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖，而是容器在对象初始化时不等对象请求就主动将依赖传递给它。<br /><br />■        面向切面——Spring提供了面向切面编程的丰富支持，允许通过分离应用的业务逻辑与系统级服务（例如审计（auditing）和事务（）管理）进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责（甚至是意识）其它的系统级关注点，例如日志或事务支持。 <br /><br />■        容器——Spring包含并管理应用对象的配置和生命周期，在这个意义上它是一种容器，你可以配置你的每个bean如何被创建——基于一个可配置原型（prototype），你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而，Spring不应该被混同于传统的重量级的EJB容器，它们经常是庞大与笨重的，难以使用。 <br /><br />■        框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中，应用对象被声明式地组合，典型地是在一个XML文件里。Spring也提供了很多基础功能（事务管理、持久化框架集成等等），将应用逻辑的开发留给了你。 <br /><br />所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。 </font>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<br />
		<div class="box2">
				<span class="Tit">
						<font color="#ff0000" size="5">Hibernate</font>
				</span>
		</div>
		<table class="htb wr" cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<div class="box2 p14">
												<b>
														<font color="#000080" size="2">Hibernate 是一个面向</font>
														<a href="http://bk.baidu.com/view/29.htm" target="_blank">
																<font color="#000080" size="2">Java</font>
														</a>
														<font color="#000080" size="2">环境的对象/关系数据库映射工具。用来把对象模型表示的对象映射到基于SQL 的关系模型结构中去。<br /><br />Hibernate 不仅仅管理Java 类到数据库表的映射，还提供数据查询和获取数据的方法，可以大幅度减少开发时人工使用SQL 和JDBC 处理数据的时间。Hibernate 的目标是对于开发者通常的数据持久化相关的编程任务，解放其中的95%。</font>
												</b>
												<br />
												<br />
												<br />
												<font color="#000080" size="2">是一个</font>
												<a href="http://bk.baidu.com/view/1708.htm" target="_blank">
														<font color="#000080" size="2">开放源代码</font>
												</a>
												<font color="#000080" size="2">的对象关系映射框架，它对JDBC进行了非常轻量级的对象封装，使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合，既可以在Java的客户端程序实用，也可以在Servlet/JSP的Web应用中使用，最具革命意义的是，Hibernate可以在应用EJB的J2EE架构中取代CMP，完成数据持久化的重任。 </font>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<br />
		<div class="box2">
				<span class="Tit">
						<font color="#ff0000" size="4">EJB</font>
				</span>
		</div>
		<table class="htb wr" cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<div class="box2 p14">
												<font color="#000080" size="2">    EJB是sun的服务器端组件模型，最大的用处是部署分布式应用程序，类似微软的.com技术。凭借java跨平台的优势，用EJB技术部署的分布式系统可以不限于特定的平台。<br /><br />    EJB (Enterprise JavaBean)是J2EE的一部分，定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 <br /><br />    在J2EE里，Enterprise Java Beans(EJB)称为Java 企业柄，是Java的核心代码，分为整体柄和片段柄和消息柄三个部分，其中的消息柄将在以后再作讨论。现在我们来看看什么是整体柄和片段柄。 <br /><br />    整体柄是一种对象: 标准Java对象由创建它的程序创建，当程序终止时，对象也随之丢失，这就意味着当再次运行些程序时，将无法找到先前创建的柄，而整体柄会一直存在着直到它被删除。 一个程序可以创建一个整体柄，并且这个程序可以在被保存后随时停止和重启。整体柄将会依然存在。重启后，程序可以找到与之相对应的整体柄，并且会继续使用这个整体柄。<br /><br />    EJB实际上是SUN的J2EE中的一套规范,并且规定了一系列的API用来实现把EJB概念转换成EJB产品.EJB是BEANS,BEANS是什么概念,那就是得有一个容纳她,让她可劲造腾的地方,就是得有容器.EJB必须生存在EJB容器中.这个容器可是功能强大之极!她首先要包装你BEAN,EJB的客户程序实际上从来就不和你编写的EJB直接打交道,他们之间是通过HOME/REMOTE接口来发生关系的.它负责你的BEAN的所有的吃喝拉萨睡,比如BEAN的持续化,安全性,事务管理... <br /><br />一.什么是 EJB?<br /><br />一个技术规范：EJB 从技术上而言不是一种"产品"<br />EJB 是一种标准描述了构建应用组件要解决的:<br />可扩展 (Scalable)<br />分布式 (Distributed)<br />事务处理 (Transactional)<br />数据存储 (Persistent)<br />安全性 (Secure)<br /><br />二.Sun 对 EJB 的期望<br /><br />提供一个标准的分布的、基于 OO 的组件架构<br />屏蔽复杂的系统级功能需求<br />Write once, run anywhere<br />与非 Java 应用之间的互操作能力<br />兼容 CORBA 标准<br /><br />三.为什么选择 EJB?<br /><br />EJB 服务器完成"繁杂"的工作：应用开发人员关注于业务逻辑的实现而不是底层的实现机制(类似于 4GL 语言设计的目标)<br />支持事务处理<br />多个业务操作同时成功，或全部失败<br />可以通过在代码外的描述来定义事务处理级别<br />可扩展性<br />EJB 可以根据您应用的增长而扩展<br />EJB 服务器往往还提供了负载均衡和<br />安全性：由 EJB 服务器提供资源的访问权限控制<br /><br />四.EJB 架构<br /><br />为了满足架构的目标，规范中描述了<br />服务器 (Server)<br />容器 (Container)<br />类 (Class) 和实例 (Instance)<br />Home 和 Remote 接口<br />客户端 (Client)<br /><br />五. 简化的编程模型<br /><br />关注于业务逻辑实现：EJB 负责生命周期 (lifecycle), 数据存储 (persistence), 事务处理语义 (transactional semantic), 安全(security), ...<br />通用的编程模型：各种服务的高层 API<br />Java 是其编程语言<br /></font>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/xiami1022/aggbug/107620.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2007-03-31 11:53 <a href="http://www.blogjava.net/xiami1022/archive/2007/03/31/107620.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用netbeans开发一个javabean程序</title><link>http://www.blogjava.net/xiami1022/archive/2006/11/30/84558.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Thu, 30 Nov 2006 07:04:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2006/11/30/84558.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/84558.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2006/11/30/84558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/84558.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/84558.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 首先新建一个典型web应用程序然后建一个com.storm包，在包下写一个UserBean的类，添加private的属性之后只要点击菜单重构－封装字段就可以添加set和get方法												package				 com.storm;				public				 				class				 UserBean 														...&nbsp;&nbsp;<a href='http://www.blogjava.net/xiami1022/archive/2006/11/30/84558.html'>阅读全文</a><img src ="http://www.blogjava.net/xiami1022/aggbug/84558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2006-11-30 15:04 <a href="http://www.blogjava.net/xiami1022/archive/2006/11/30/84558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>建立一个螺旋形矩阵A[n][n]</title><link>http://www.blogjava.net/xiami1022/archive/2006/11/29/84390.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Wed, 29 Nov 2006 09:26:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2006/11/29/84390.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/84390.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2006/11/29/84390.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/84390.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/84390.html</trackback:ping><description><![CDATA[
		<font color="#336699" size="2">任给一个整数n,建立一个螺旋形矩阵A[n][n]。<br /><br />1    2    3    4   5<br />16  17   18    19  6<br />15  24   25    20  7 <br />14   23  22    21  8 <br />13   12  11    10  9<br /></font>
		<br />
		<br />
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img id="Codehighlighter1_18_2834_Open_Image" onclick="this.style.display='none'; Codehighlighter1_18_2834_Open_Text.style.display='none'; Codehighlighter1_18_2834_Closed_Image.style.display='inline'; Codehighlighter1_18_2834_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
				<img id="Codehighlighter1_18_2834_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_18_2834_Closed_Text.style.display='none'; Codehighlighter1_18_2834_Open_Image.style.display='inline'; Codehighlighter1_18_2834_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> Main </span>
				<span id="Codehighlighter1_18_2834_Open_Text">
						<span style="COLOR: #000000">{</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_103_2832_Open_Image" onclick="this.style.display='none'; Codehighlighter1_103_2832_Open_Text.style.display='none'; Codehighlighter1_103_2832_Closed_Image.style.display='inline'; Codehighlighter1_103_2832_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_103_2832_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_103_2832_Closed_Text.style.display='none'; Codehighlighter1_103_2832_Open_Image.style.display='inline'; Codehighlighter1_103_2832_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">static</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> main(String[] args) </span>
						<span id="Codehighlighter1_103_2832_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000"> TODO Auto-generated method stub</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        </span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> n</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">5</span>
								<span style="COLOR: #000000">;</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> [][]table</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> [n</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000">][n</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000">];<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">初始化</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        </span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> i,j;<br /><img id="Codehighlighter1_561_635_Open_Image" onclick="this.style.display='none'; Codehighlighter1_561_635_Open_Text.style.display='none'; Codehighlighter1_561_635_Closed_Image.style.display='inline'; Codehighlighter1_561_635_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_561_635_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_561_635_Closed_Text.style.display='none'; Codehighlighter1_561_635_Open_Image.style.display='inline'; Codehighlighter1_561_635_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(i</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;i</span>
								<span style="COLOR: #000000">&lt;=</span>
								<span style="COLOR: #000000">n</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;i</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">) </span>
								<span id="Codehighlighter1_561_635_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" />
								</span>
								<span id="Codehighlighter1_561_635_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">for</span>
										<span style="COLOR: #000000">(j</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">;j</span>
										<span style="COLOR: #000000">&lt;=</span>
										<span style="COLOR: #000000">n</span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000">1</span>
										<span style="COLOR: #000000">;j</span>
										<span style="COLOR: #000000">++</span>
										<span style="COLOR: #000000">)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                table[i][j]</span>
										<span style="COLOR: #000000">=-</span>
										<span style="COLOR: #000000">1</span>
										<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img id="Codehighlighter1_663_734_Open_Image" onclick="this.style.display='none'; Codehighlighter1_663_734_Open_Text.style.display='none'; Codehighlighter1_663_734_Closed_Image.style.display='inline'; Codehighlighter1_663_734_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_663_734_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_663_734_Closed_Text.style.display='none'; Codehighlighter1_663_734_Open_Image.style.display='inline'; Codehighlighter1_663_734_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(i</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;i</span>
								<span style="COLOR: #000000">&lt;=</span>
								<span style="COLOR: #000000">n;i</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">) </span>
								<span id="Codehighlighter1_663_734_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" />
								</span>
								<span id="Codehighlighter1_663_734_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">for</span>
										<span style="COLOR: #000000">(j</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">1</span>
										<span style="COLOR: #000000">;j</span>
										<span style="COLOR: #000000">&lt;=</span>
										<span style="COLOR: #000000">n;j</span>
										<span style="COLOR: #000000">++</span>
										<span style="COLOR: #000000">)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                table[i][j]</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">创建</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> row</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> column</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> k;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />       </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000"> table[1][1]=1;</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        </span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> dire</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">0右，1下，2左，3上</span>
								<span style="COLOR: #008000">
										<br />
										<img id="Codehighlighter1_879_2623_Open_Image" onclick="this.style.display='none'; Codehighlighter1_879_2623_Open_Text.style.display='none'; Codehighlighter1_879_2623_Closed_Image.style.display='inline'; Codehighlighter1_879_2623_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_879_2623_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_879_2623_Closed_Text.style.display='none'; Codehighlighter1_879_2623_Open_Image.style.display='inline'; Codehighlighter1_879_2623_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(k</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;k</span>
								<span style="COLOR: #000000">&lt;=</span>
								<span style="COLOR: #000000">n</span>
								<span style="COLOR: #000000">*</span>
								<span style="COLOR: #000000">n;) </span>
								<span id="Codehighlighter1_879_2623_Open_Text">
										<span style="COLOR: #000000">{</span>
										<span style="COLOR: #000000">
												<br />
												<img id="Codehighlighter1_1411_1675_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1411_1675_Open_Text.style.display='none'; Codehighlighter1_1411_1675_Closed_Image.style.display='inline'; Codehighlighter1_1411_1675_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_1411_1675_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1411_1675_Closed_Text.style.display='none'; Codehighlighter1_1411_1675_Open_Image.style.display='inline'; Codehighlighter1_1411_1675_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000">(dire</span>
										<span style="COLOR: #000000">==</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">) </span>
										<span id="Codehighlighter1_1411_1675_Open_Text">
												<span style="COLOR: #000000">{</span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">方向为右</span>
												<span style="COLOR: #008000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">                table[row][column]</span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000">k</span>
												<span style="COLOR: #000000">++</span>
												<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_1502_1550_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1502_1550_Open_Text.style.display='none'; Codehighlighter1_1502_1550_Closed_Image.style.display='inline'; Codehighlighter1_1502_1550_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1502_1550_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1502_1550_Closed_Text.style.display='none'; Codehighlighter1_1502_1550_Open_Image.style.display='inline'; Codehighlighter1_1502_1550_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(table[row][column</span>
												<span style="COLOR: #000000">+</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">]</span>
												<span style="COLOR: #000000">==</span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">)</span>
												<span id="Codehighlighter1_1502_1550_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    column</span>
														<span style="COLOR: #000000">++</span>
														<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_1555_1635_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1555_1635_Open_Text.style.display='none'; Codehighlighter1_1555_1635_Closed_Image.style.display='inline'; Codehighlighter1_1555_1635_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1555_1635_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1555_1635_Closed_Text.style.display='none'; Codehighlighter1_1555_1635_Open_Image.style.display='inline'; Codehighlighter1_1555_1635_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #0000ff">else</span>
												<span id="Codehighlighter1_1555_1635_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    dire</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">1</span>
														<span style="COLOR: #000000">;</span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">改方向为下</span>
														<span style="COLOR: #008000">
																<br />
																<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
														</span>
														<span style="COLOR: #000000">                    row</span>
														<span style="COLOR: #000000">++</span>
														<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">continue</span>
												<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img id="Codehighlighter1_1701_1966_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1701_1966_Open_Text.style.display='none'; Codehighlighter1_1701_1966_Closed_Image.style.display='inline'; Codehighlighter1_1701_1966_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_1701_1966_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1701_1966_Closed_Text.style.display='none'; Codehighlighter1_1701_1966_Open_Image.style.display='inline'; Codehighlighter1_1701_1966_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000">(dire</span>
										<span style="COLOR: #000000">==</span>
										<span style="COLOR: #000000">1</span>
										<span style="COLOR: #000000">) </span>
										<span id="Codehighlighter1_1701_1966_Open_Text">
												<span style="COLOR: #000000">{</span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">方向为下</span>
												<span style="COLOR: #008000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">                table[row][column]</span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000">k</span>
												<span style="COLOR: #000000">++</span>
												<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_1792_1837_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1792_1837_Open_Text.style.display='none'; Codehighlighter1_1792_1837_Closed_Image.style.display='inline'; Codehighlighter1_1792_1837_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1792_1837_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1792_1837_Closed_Text.style.display='none'; Codehighlighter1_1792_1837_Open_Image.style.display='inline'; Codehighlighter1_1792_1837_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(table[row</span>
												<span style="COLOR: #000000">+</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">][column]</span>
												<span style="COLOR: #000000">==</span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">)</span>
												<span id="Codehighlighter1_1792_1837_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    row</span>
														<span style="COLOR: #000000">++</span>
														<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_1842_1925_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1842_1925_Open_Text.style.display='none'; Codehighlighter1_1842_1925_Closed_Image.style.display='inline'; Codehighlighter1_1842_1925_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1842_1925_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1842_1925_Closed_Text.style.display='none'; Codehighlighter1_1842_1925_Open_Image.style.display='inline'; Codehighlighter1_1842_1925_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #0000ff">else</span>
												<span id="Codehighlighter1_1842_1925_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    dire</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">2</span>
														<span style="COLOR: #000000">;</span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">改方向为左</span>
														<span style="COLOR: #008000">
																<br />
																<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
														</span>
														<span style="COLOR: #000000">                    column</span>
														<span style="COLOR: #000000">--</span>
														<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                 </span>
												<span style="COLOR: #0000ff">continue</span>
												<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img id="Codehighlighter1_1992_2257_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1992_2257_Open_Text.style.display='none'; Codehighlighter1_1992_2257_Closed_Image.style.display='inline'; Codehighlighter1_1992_2257_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_1992_2257_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1992_2257_Closed_Text.style.display='none'; Codehighlighter1_1992_2257_Open_Image.style.display='inline'; Codehighlighter1_1992_2257_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000">(dire</span>
										<span style="COLOR: #000000">==</span>
										<span style="COLOR: #000000">2</span>
										<span style="COLOR: #000000">) </span>
										<span id="Codehighlighter1_1992_2257_Open_Text">
												<span style="COLOR: #000000">{</span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">方向为左</span>
												<span style="COLOR: #008000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">                table[row][column]</span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000">k</span>
												<span style="COLOR: #000000">++</span>
												<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_2083_2131_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2083_2131_Open_Text.style.display='none'; Codehighlighter1_2083_2131_Closed_Image.style.display='inline'; Codehighlighter1_2083_2131_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2083_2131_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2083_2131_Closed_Text.style.display='none'; Codehighlighter1_2083_2131_Open_Image.style.display='inline'; Codehighlighter1_2083_2131_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(table[row][column</span>
												<span style="COLOR: #000000">-</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">]</span>
												<span style="COLOR: #000000">==</span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">)</span>
												<span id="Codehighlighter1_2083_2131_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    column</span>
														<span style="COLOR: #000000">--</span>
														<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_2136_2216_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2136_2216_Open_Text.style.display='none'; Codehighlighter1_2136_2216_Closed_Image.style.display='inline'; Codehighlighter1_2136_2216_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2136_2216_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2136_2216_Closed_Text.style.display='none'; Codehighlighter1_2136_2216_Open_Image.style.display='inline'; Codehighlighter1_2136_2216_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #0000ff">else</span>
												<span id="Codehighlighter1_2136_2216_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    dire</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">3</span>
														<span style="COLOR: #000000">;</span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">改方向为右</span>
														<span style="COLOR: #008000">
																<br />
																<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
														</span>
														<span style="COLOR: #000000">                    row</span>
														<span style="COLOR: #000000">--</span>
														<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                 </span>
												<span style="COLOR: #0000ff">continue</span>
												<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img id="Codehighlighter1_2283_2548_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2283_2548_Open_Text.style.display='none'; Codehighlighter1_2283_2548_Closed_Image.style.display='inline'; Codehighlighter1_2283_2548_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_2283_2548_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2283_2548_Closed_Text.style.display='none'; Codehighlighter1_2283_2548_Open_Image.style.display='inline'; Codehighlighter1_2283_2548_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000">(dire</span>
										<span style="COLOR: #000000">==</span>
										<span style="COLOR: #000000">3</span>
										<span style="COLOR: #000000">) </span>
										<span id="Codehighlighter1_2283_2548_Open_Text">
												<span style="COLOR: #000000">{</span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">方向为上</span>
												<span style="COLOR: #008000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">                table[row][column]</span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000">k</span>
												<span style="COLOR: #000000">++</span>
												<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_2374_2419_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2374_2419_Open_Text.style.display='none'; Codehighlighter1_2374_2419_Closed_Image.style.display='inline'; Codehighlighter1_2374_2419_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2374_2419_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2374_2419_Closed_Text.style.display='none'; Codehighlighter1_2374_2419_Open_Image.style.display='inline'; Codehighlighter1_2374_2419_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(table[row</span>
												<span style="COLOR: #000000">-</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">][column]</span>
												<span style="COLOR: #000000">==</span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">)</span>
												<span id="Codehighlighter1_2374_2419_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    row</span>
														<span style="COLOR: #000000">--</span>
														<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_2424_2507_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2424_2507_Open_Text.style.display='none'; Codehighlighter1_2424_2507_Closed_Image.style.display='inline'; Codehighlighter1_2424_2507_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2424_2507_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2424_2507_Closed_Text.style.display='none'; Codehighlighter1_2424_2507_Open_Image.style.display='inline'; Codehighlighter1_2424_2507_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #0000ff">else</span>
												<span id="Codehighlighter1_2424_2507_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    dire</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">0</span>
														<span style="COLOR: #000000">;</span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">改方向为右</span>
														<span style="COLOR: #008000">
																<br />
																<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
														</span>
														<span style="COLOR: #000000">                    column</span>
														<span style="COLOR: #000000">++</span>
														<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                 </span>
												<span style="COLOR: #0000ff">continue</span>
												<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">输出</span>
								<span style="COLOR: #008000">
										<br />
										<img id="Codehighlighter1_2679_2817_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2679_2817_Open_Text.style.display='none'; Codehighlighter1_2679_2817_Closed_Image.style.display='inline'; Codehighlighter1_2679_2817_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_2679_2817_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2679_2817_Closed_Text.style.display='none'; Codehighlighter1_2679_2817_Open_Image.style.display='inline'; Codehighlighter1_2679_2817_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(row</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;row</span>
								<span style="COLOR: #000000">&lt;=</span>
								<span style="COLOR: #000000">n;row</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">) </span>
								<span id="Codehighlighter1_2679_2817_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">for</span>
										<span style="COLOR: #000000">(column</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">1</span>
										<span style="COLOR: #000000">;column</span>
										<span style="COLOR: #000000">&lt;=</span>
										<span style="COLOR: #000000">n;column</span>
										<span style="COLOR: #000000">++</span>
										<span style="COLOR: #000000">)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                System.out.print(table[row][column]</span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">    </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            System.out.println();}</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
		<font size="2">当然，这个程序还有很多可以优化的地方。在此就不多说了。</font>
<img src ="http://www.blogjava.net/xiami1022/aggbug/84390.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2006-11-29 17:26 <a href="http://www.blogjava.net/xiami1022/archive/2006/11/29/84390.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>servlet-api的基本类和其接口介绍</title><link>http://www.blogjava.net/xiami1022/archive/2006/11/28/84093.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Tue, 28 Nov 2006 08:52:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2006/11/28/84093.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/84093.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2006/11/28/84093.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/84093.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/84093.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">基本类和接口</font>
		</p>
		<p>
				<font color="#336699" size="2">一、javax.servlet.Servlet接口</font>
		</p>
		<p>
				<font size="2">servlet抽象集是javax.servlet.Servlet接口，它规定了必须由Servlet类实现由servlet引擎识别和管理的方法集。<br />Servlet接口的基本目标是提供生命期方法<font color="#990000">init()、service()和destroy()</font>方法。</font>
		</p>
		<p>
				<font size="2">servlet接口中的方法 <br /><font color="#990000">void init(ServletConfit config)throws ServletException</font><br />在servlet被载入后和实施服务前由servlet引擎进行一次性调用。如果init()产生溢出UnavailableException，则servle退出服务。 <br /><font color="#a52a2a">ServletConfig getServletConfig()</font><br />返回传递到servlet的init()方法的ServletConfig对象 <br /><font color="#990000">void service(ServletRequest request, ServletResponse response)throws ServletException,IOException <br /></font>处理request对象中描述的请求，使用response对象返回请求结果 <br /><font color="#990000">String getServletInfo()</font><br />返回描述servlet的一个字符串 <br /><font color="#990000">void destory()</font><br />当servlet将要卸载时由servlet引擎调用 </font>
		</p>
		<p>
				<br />
				<font color="#336699" size="2">二、javax.servlet.GenericServlet类（协议无关版本）</font>
		</p>
		<p>
				<font size="2">GenericServlet是一种与协议无关的servlet，是一种跟本不对请求提供服务的servlet，而是简单地从init()方法启动后台线程并在destory()中杀死。它可以用于模拟操作系统的端口监控进程。<br />servlet API提供了Servlet接口的直接实现，称为GenericServlet。此类提供除了service()方法外所有接口中方法的缺省实现。这意味着通过简单地扩展GenericServlte可以编写一个基本的servlet。<br />除了Servlet接口外，GenericServlet也实现了ServletConfig接口，处理初始化参数和servlet上下文，提供对授权传递到init()方法中的ServletConfig对象的方法。</font>
		</p>
		<p>
				<br />
				<font size="2">GenericServlet类中的方法 <br />void destory() 编飞组成单词“destory”的一个注册入口 <br />String getInitParameter(String name) 返回具有指定名称的初始化参数值。通过凋用config.getInitParameter(name)实现。 <br />Enumeration getInitParameterNames() 返回此serv]et已编码的所有初始化参数的?个枚举类型值。调用config.getInitParameterNames()获得列表。如果未提供初始化参数，则返回?个空的枚举类型值（但不是null） <br />ServletConfig getServletConfig() 返回传递到init()方法的ServletConfig对象 <br />ServletContext getServletContext() 返回在config对象中引用的ServletContext <br />String getServletInfo() 返回空字符串 <br />void init(ServletConfig config)throws ServletException 在一实例变量中保存config对象。编写组成单词“init”的注册入口,然后调用方法init() <br />void init()throws ServletException 可以被跳过以处理servlet初始化.在config对象被保存后init(ServletConfig config)的结尾处自动被调用.servlet作者经常会忘记调用super.init(config) <br />void log(String msg) 编写注册servlet的入口.为此调用servlet上下文的log()方法.servlet的名字被加到消息文本的开头。 <br />void log(String msg,Throwable t) 编写一个入口和servlet注册的栈轨迹。此方法也是ServletContext中相应方法的一个副本。 <br />abstract void service(Request request,Response response)throws ServletException,IOException 由servlet引擎调用为请求对象描述的请求提供服务。这是GenericServlet中唯一的抽象方法。因此它也是唯一必须被子类所覆盖的方法。 <br />String getServletName() 返回在Web应用发布描述器（web.xml）中指定的servlet的名字。 </font>
		</p>
		<p>
				<font size="2">
				</font>
		</p>
		<p>
				<font color="#990000" size="2">三、javax.servlet.http.HttpServlet类（HTTP版本）</font>
		</p>
		<p>
				<font size="2">虽然servlet API允许扩展到其它协议，但最终所有的servlet均在Web环境下实施操作，只有几种servlet直接扩展了GenericServlet。对servlet更一般的是扩展其HTTP子类HttpServlet。<br />HttpServlet类通过调用指定到HTTP请求方法的方法实现service()，亦即对DELETE、HEAD、GET、OPTIONS、POST、PUT和TRACE，分别调用<font color="#660000">doDelete()、doHead()、doGet()、doOptions()、doPost()、doPut()和doTrace()</font>方法，将请求和响应对象置入其HTTP指定子类。</font>
		</p>
		<p>
				<font size="2">HttpServlet类中的方法 <br /><font color="#990000">Void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException</font><br /> 由servlet引擎调用用处理一个HTTP GET请求。输入参数、HTTP头标和输入流可从request对象、response头标和response对象的输出流中获得。 <br /><font color="#990000">Void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException</font><br />由servlet引擎调用用处理一个HTTP POST请求。输入参数、HTTP头标和输入流可从request对象、response头标和response对象的输出流中获得。 <br /><font color="#990000">Void doPut(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException</font><br />由servlet引擎调用用处理一个HTTP PUT请求。本方法中请求URI指出被载入的文件位置。 <br /><font color="#990000">Void doDelete(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException<br /></font> 由servlet引擎调用用处理一个HTTP DELETE请求。请求URI指出资源被删除。 <br /><font color="#990000">Void doOptions(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException</font><br />由servlet引擎调用用处理一个HTTP OPTIONS请求。返回一个Allow响应头标表明此servlet支持的HTTP方法。一个servlet不需要覆盖此方法，因为HttpServlet方法已经实现规范所需的功能。 <br /><font color="#990000">Void doTrace(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException</font><br />由servlet引擎调用用处理一个HTTP TRACE请求。使得请求头标被反馈成响应关标。一个servlet不需要覆盖此方法，因为HttpServlet方法已经实现HTTP规范所需的功能。 <br /><font color="#990000">Void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException Service(Request request,Response response)<br /></font>调用的一个立即方法，带有指定HTTP请求和响应。此方法实际上将请求导向doGet()、doPost()等等。不应该覆盖此方法。 <br />Void service(Request request,Response response)throws ServletException,IOException 将请求和响应对象置入其指定的HTTP子类，并调用指定HTTP的service()方法。 </font>
		</p>
		<p>
				<font size="2">
				</font>
		</p>
		<p>
				<font color="#336699" size="2">四、javax.servlet.ServletRequest类（协议无关版本）</font>
		</p>
		<p>
				<font size="2">ServletRequest接口封装了客户端请求的细节。它与协议无关，并有一个指定HTTP的子接口。<br />ServletRequest主要处理：<br />1.找到客户端的主机名和IP地址<br />2.检索请求参数<br />3.取得和设置属性<br />4.取得输入和输出流<br /><br />ServletRequest类中的方法 <br />Object getAttribute(String name) 返回具有指定名字的请求属性，如果不存在则返回null。属性可由servlet引擎设置或使用setAttribute()显式加入。 <br />Enumeration getAttributeName() 返回请求中所有属性名的枚举。如果不存在属性，则返回一个空的枚举。 <br />String getCharacteEncoding() 返回请求所用的字符编码。 <br />Int getContentLength() 指定输入流的长度，如果未知则返回-1。 <br />ServletInputStream getInputStream()throws IOException 返回与请求相关的（二进制）输入流。可以调用getInputStream()或getReader()方法之一。 <br />String getParameter(String name) 返回指定输入参数，如果不存在，返回null。 <br />Enumeration getParameterName() 返回请求中所有参数名的一个可能为空的枚举。 <br />String[] getParameterValues(String name) 返回指定输入参数名的取值数组，如果取值不存在则返回null。它在参数具有多个取值的情况下十分有用。 <br />String get Protocol() 返回请求使用协议的名称和版本。 <br />String getScheme() 返回请求URI的子串，但不包含第一个冒号前的内容。 <br />String getServerName() 返回处理请求的服务器的主机名。 <br />String getServerPort() 返回接收主机正在侦听的端口号。 <br />BufferedReader getReader()throws IOException 返回与请求相关输入数据的一个字符解读器。此方法与getInputStream()只可分别调用，不能同时使用。 <br />String getRemoteAddr() 返回客户端主机的数字型IP地址。 <br />String getRemoteHost() 如果知道，返回客户端主机名。 <br />void setAttribute(String name,Object obj) 以指定名称保存请求中指定对象的引用。 <br />void removeAttribute(String name) 从请求中删除指定属性 <br />Locale getLocale() 如果已知，返回客户端的第一现场或者为null。 <br />Enumeration getLocales() 如果已知，返回客户端的第一现场的一个枚举，否则返回服务器第一现场。 <br />boolean isSecure() 如果请求使用了如HTTPS安全隧道，返回true <br />RequestDispatcher getRequestDispatcher(String name) 返回指定源名称的RequsetDispatcher对象。 </font>
		</p>
		<p>
				<font size="2">
				</font>
		</p>
		<p>
				<font color="#3366cc" size="2">五、javax.servlet.http.HttpServletRequest接口（HTTP版本）</font>
		</p>
		<p>
				<font size="2">HttpServletRequest类主要处理：<br />1.读取和写入HTTP头标<br />2.取得和设置cookies<br />3.取得路径信息<br />4.标识HTTP会话。</font>
		</p>
		<p>
				<br />
				<font size="2">HttpServletRequest接口中的方法 <br /><font color="#990000">String getAuthType()</font><br />如果servlet由一个鉴定方案所保护，如HTTP基本鉴定，则返回方案名称。 <br /><font color="#990000">String getContextPath()</font><br />返回指定servlet上下文（web应用）的URL的前缀。 <br /><font color="#990000">Cookie[] getCookies()</font><br />返回与请求相关cookie的一个数组。 <br /><font color="#990000">Long getDateHeader(String name)<br /></font> 将输出转换成适合构建Date对象的long类型取值的getHeader()的简化版。 <br /><font color="#990000">String getHeader(String name)</font><br />返回指定的HTTP头标指。如果其由请求给出，则名字应为大小写不敏感。 <br />Enumeration getHeaderNames() 返回请求给出的所有HTTP头标名称的权举值。 <br />Enumeration getHeaders(String name) 返回请求给出的指定类型的所有HTTP头标的名称的枚举值，它对具有多取值的头标非常有用。 <br />int getIntHeader(String name) 将输出转换为int取值的getHeader()的简化版。 <br /><font color="#990000">String getMethod()</font><br />返回HTTP请求方法（例如GET、POST等等） <br /><font color="#990000">String getPathInfo()</font><br />返回在URL中指定的任意附加路径信息。 <br />String getPathTranslated() 返回在URL中指定的任意附加路径信息，被子转换成一个实际路径。 <br />String getQueryString() 返回查询字符串，即URL中?后面的部份。 <br /><font color="#990000">String getRemoteUser()</font><br />如果用户通过鉴定，返回远程用户名，否则为null。 <br /><font color="#990000">String getRequestedSessionId() <br /></font>返回客户端的会话ID <br /><font color="#990000">String getRequestURI() <br /></font>返回URL中一部分，从“/”开始，包括上下文，但不包括任意查询字符串。 <br /><font color="#990000">String getServletPath()</font><br />返回请求URI上下文后的子串 <br /><font color="#990000">HttpSession getSession()</font><br />调用getSession(true)的简化版。 <br /><font color="#990000">HttpSession getSession(boolean create)</font><br />返回当前HTTP会话，如果不存在，则创建一个新的会话，create参数为true。 <br />Principal getPrincipal() 如果用户通过鉴定，返回代表当前用户的java.security.Principal对象，否则为null。 <br />boolean isRequestedSessionIdFromCookie() 如果请求的会话ID由一个Cookie对象提供，则返回true，否则为false。 <br />boolean isRequestedSessionIdFromURL() 如果请求的会话ID在请求URL中解码，返回true，否则为false <br />boolean isRequestedSessionIdValid() 如果客户端返回的会话ID仍然有效，则返回true。 <br />Boolean isUserInRole(String role) 如果当前已通过鉴定用户与指定角色相关，则返回true，如果不是或用户未通过鉴定，则返回false。 </font>
		</p>
		<p>
				<br />
				<font color="#3366cc" size="2">六、javax.servlet.ServletResponse接口（协议无关版本）</font>
		</p>
		<p>
				<font size="2">ServletResponse对象将一个servlet生成的结果传到发出请求的客户端。ServletResponse操作主要是作为输出流及其内容类型和长度的包容器，它由servlet引擎创建.</font>
		</p>
		<p>
				<br />
				<font size="2">ServletResponse接口中的方法 <br />void flushBuffer()throws IOException 发送缓存到客户端的输出内容。因为HTTP需要头标在内容前被发送，调用此方法发送状态行和响应头标，以确认请求。 <br />int getBufferSize() 返回响应使用的缓存大小。如果缓存无效则返加0。 <br />String getCharacterEncoding() 返回响应使用字符解码的名字。除非显式设置，否则为ISO-8859-1 <br />Locale getLocale() 返回响应使用的现场。除非用setLocale()修改，否则缺省为服务器现场。 <br />OutputStream getOutputStream()throws IOException 返回用于将返回的二进制输出写入客户端的流，此方法和getWrite()方法二者只能调用其一。 <br />Writer getWriter()throws IOException 返回用于将返回的文本输出写入客户端的一个字符写入器，此方法和getOutputStream()二者只能调用其一。 <br />boolean isCommitted() 如果状态和响应头标已经被发回客户端，则返回true，在响应被确认后发送响应头标毫无作用。 <br />void reset() 清除输出缓存及任何响应头标。如果响应已得到确认，则引发事件IllegalStateException。 <br />void setBufferSize(int nBytes) 设置响应的最小缓存大小。实际缓存大小可以更大，可以通过调用getBufferSize()得到。如果输出已被写入，则产生IllegalStateException。 <br />void setContentLength(int length) 设置内容体的长度。 <br />void setContentType(String type) 设置内容类型。在HTTP servlet中即设置Content-Type头标。 <br />void setLocale(Locale locale) 设置响应使用的现场。在HTTP servlet中，将对Content-Type头标取值产生影响。 </font>
		</p>
		<p>
				<font size="2">
				</font>
		</p>
		<p>
				<font color="#336699" size="2">七、javax.servlet.http.HttpServletResponse接口（HTTP版本）</font>
		</p>
		<p>
				<font size="2">HttpServletResponse加入表示状态码、状态信息和响应头标的方法，它还负责对URL中写入一Web页面的HTTP会话ID进行解码。</font>
		</p>
		<p>
				<br />
				<font size="2">HttpServletResponse接口中的方法 <br />void addCookie(Cookie cookie) 将一个Set-Cookie头标加入到响应。 <br />void addDateHeader(String name,long date) 使用指定日期值加入带有指定名字（或代换所有此名字头标）的响应头标的方法。 <br />void setHeader(String name,String value) 设置具有指定名字和取值的一个响应头标。 <br />void addIntHeader(String name,int value) 使用指定整型值加入带有指定名字的响应头标（或代换此名字的所有头标）。 <br />boolean containsHeader(String name) 如果响应已包含此名字的头标，则返回true。 <br />String encodeRedirectURL(String url) 如果客户端不知道接受cookid，则向URL加入会话ID。第一种形式只对在sendRedirect()中使用的URL进行调用。其他被编码的URLs应被传递到encodeURL() <br />String encodeURL(String url) <br />void sendErr(int status) 设置响应状态码为指定值（可选的状态信息）。HttpServleetResponse定义了一个完整的整数常量集合表示有效状态值。 <br />void sendError(int status,String msg) <br />void setStatus(int status) 设置响应状态码为指定指。只应用于不产生错误的响应，而错误响应使用sendError()。 </font>
		</p>
		<p>
				<font size="2">
				</font>
		</p>
		<p>
				<font color="#336699" size="2">八、javax.servlet.ServletContext接口</font>
		</p>
		<p>
				<font size="2">一个servlet上下文是servlet引擎提供用来服务于Web应用的接口。Servlet上下文具有名字（它属于Web应用的名字）唯一映射到文件系统的一个目录。<br />一个servlet可以通过ServletConfig对象的getServletContext()方法得到servlet上下文的引用，如果servlet直接或间接调用子类GenericServlet，则可以使用getServletContext()方法。<br />Web应用中servlet可以使用servlet上下文得到：<br />1.在调用期间保存和检索属性的功能，并与其他servlet共享这些属性。<br />2.读取Web应用中文件内容和其他静态资源的功能。<br />3.互相发送请求的方式。<br />4.记录错误和信息化消息的功能。</font>
		</p>
		<p>
				<br />
				<font size="2">
						<font color="#000000">ServletContext接口中的方法 <br /></font>Object getAttribute(String name) 返回servlet上下文中具有指定名字的对象，或使用已指定名捆绑一个对象。从Web应用的标准观点看，这样的对象是全局对象，因为它们可以被同一servlet在另一时刻访问。或上下文中任意其他servlet访问。 <br />void setAttribute(String name,Object obj) 设置servlet上下文中具有指定名字的对象。 <br />Enumeration getAttributeNames() 返回保存在servlet上下文中所有属性名字的枚举。 <br />ServletContext getContext(String uripath) 返回映射到另一URL的servlet上下文。在同一服务器中URL必须是以“/”开头的绝对路径。 <br />String getInitParameter(String name) 返回指定上下文范围的初始化参数值。此方法与ServletConfig方法名称不一样，后者只应用于已编码的指定servlet。此方法应用于上下文中所有的参数。 <br />Enumeration getInitParameterNames() 返回（可能为空）指定上下文范围的初始化参数值名字的枚举值。 <br />int getMajorVersion() 返回此上下文中支持servlet API级别的最大和最小版本号。 <br />int getMinorVersion() <br />String getMimeType(String fileName) 返回指定文件名的MIME类型。典型情况是基于文件扩展名，而不是文件本身的内容（它可以不必存在）。如果MIME类型未知，可以返回null。 <br />RequestDispatcher getNameDispatcher(String name) 返回具有指定名字或路径的servlet或JSP的RequestDispatcher。如果不能创建RequestDispatch，返回null。如果指定路径，必须心“/”开头，并且是相对于servlet上下文的顶部。 <br />RequestDispatcher getNameDispatcher(String path) <br />String getRealPath(String path) 给定一个URI，返回文件系统中URI对应的绝对路径。如果不能进行映射，返回null。 <br />URL getResource(String path) 返回相对于servlet上下文或读取URL的输入流的指定绝对路径相对应的URL，如果资源不存在则返回null。 <br />InputStream getResourceAsStream(String path) <br />String getServerInfo() 返顺servlet引擎的名称和版本号。 <br />void log(String message)<br />void log(String message,Throwable t) 将一个消息写入servlet注册，如果给出Throwable参数，则包含栈轨迹。 <br />void removeAttribute(String name) 从servlet上下文中删除指定属性。</font>
		</p>
		<p>
				<font color="#336699" size="2">九、javax.servlet.http.HttpSession接口</font>
		</p>
		<p>
				<font size="2">HttpSession类似于哈希表的接口，它提供了setAttribute()和getAttribute()方法存储和检索对象。HttpSession提供了一个会话ID关键字，一个参与会话行为的客户端在同一会话的请求中存储和返回它。servlet引擎查找适当的会话对象，并使之对当前请求可用。</font>
		</p>
		<p>
				<br />
				<font size="2">HttpSession接口中的方法 <br />Object getAttribute(String name) 将会话中一个对象保存为指定名字，返回或删除前面保存的此名称对象。 <br />void setAttribute(String name,Object value) <br />void removeAttribute(String name) <br />Enumeration getAttributeName() 返回捆绑到当前会话的所有属性名的枚举值。 <br />long getCreationTime() 返回表示会话创建和最后访问日期和时间的一个长整型，该整型形式为java.util.Date()构造器中使用的形式。 <br />long getLastAccessedTime() <br />String getId() 返回会话ID，servlet引擎设置的一个唯一关键字。 <br />ing getMaxInactiveInterval() 如果没有与客户端发生交互，设置和返回会话存活的最大秒数。 <br />void setMasInactiveInterval(int seconds) <br />void invalidate() 使得会话被终止，释放其中任意对象。 <br />boolean isNew() 如果客户端仍未加入到会话，返回true。当会话首次被创建，会话ID被传入客户端，但客户端仍未进行包含此会话ID的第二次请示时，返回true。 </font>
		</p>
<img src ="http://www.blogjava.net/xiami1022/aggbug/84093.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2006-11-28 16:52 <a href="http://www.blogjava.net/xiami1022/archive/2006/11/28/84093.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用netbeans启动捆绑tomcat出现某工程目录does not exist or is not a readable directory</title><link>http://www.blogjava.net/xiami1022/archive/2006/11/27/83822.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Mon, 27 Nov 2006 08:33:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2006/11/27/83822.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/83822.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2006/11/27/83822.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/83822.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/83822.html</trackback:ping><description><![CDATA[
		<font size="2">我出现这种错误是由于开始用netbeans建立某工程，但是删去了这个工程整个文件夹，导致启动找不到工程目录。<br />在用户目录下（我的是C:\Documents and Settings\LuckyStar）有个.netbeans的文件夹，里面有配置文件，使用windows的文件搜索，文件包含文字那一栏（注意不是文件名哦）输入工程名，开始查找，找出来的文件都删掉（除了日志文件也就是.log）。就行了。<br />我找出来的是<br />C:\Documents and Settings\LuckyStar\.netbeans\5.0\config\J2EE\TargetModules\tomcat55_home__b-1629687096\home__bundled_ho-1459906850目录下<br />删除工程名无扩展名文件<br />C:\Documents and Settings\LuckyStar\.netbeans\5.0\jakarta-tomcat-5.5.9_base\conf\Catalina\localhost目录下<br />删除ROOT.xml<br />然后重新启动一下捆绑tomcat就可以看见没有错误了<br /><br />当然还有一种更为简单而且正确的方法就是在运行环境窗口下的服务器－捆绑tomcat－web应用程序下右键点击那个已被删去的工程选择卸下，再重启tomcat就行了，可是有时发生意外就只能用上述的手动方法了，呵呵。<br /><br />另：netbeans5.0好像如果开着但是好久不用，开启一些别的程序，再切换到它时，系统资源就占用很大，运行缓慢，硬盘也嘎嘎响，其它IDE就好些，不知怎么回事。</font>
<img src ="http://www.blogjava.net/xiami1022/aggbug/83822.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2006-11-27 16:33 <a href="http://www.blogjava.net/xiami1022/archive/2006/11/27/83822.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA连接MYSQL</title><link>http://www.blogjava.net/xiami1022/archive/2006/11/27/83686.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Sun, 26 Nov 2006 17:29:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2006/11/27/83686.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/83686.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2006/11/27/83686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/83686.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/83686.html</trackback:ping><description><![CDATA[首先当然要下载驱动，我用的是mysql-connector-java-5.0.4-bin.jar<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id="Codehighlighter1_31_677_Open_Image" onclick="this.style.display='none'; Codehighlighter1_31_677_Open_Text.style.display='none'; Codehighlighter1_31_677_Closed_Image.style.display='inline'; Codehighlighter1_31_677_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_31_677_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_31_677_Closed_Text.style.display='none'; Codehighlighter1_31_677_Open_Image.style.display='inline'; Codehighlighter1_31_677_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> ConnectionFactory </span><span id="Codehighlighter1_31_677_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" /></span><span id="Codehighlighter1_31_677_Open_Text"><span style="COLOR: #000000">{    <br /><img id="Codehighlighter1_81_676_Open_Image" onclick="this.style.display='none'; Codehighlighter1_81_676_Open_Text.style.display='none'; Codehighlighter1_81_676_Closed_Image.style.display='inline'; Codehighlighter1_81_676_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_81_676_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_81_676_Closed_Text.style.display='none'; Codehighlighter1_81_676_Open_Image.style.display='inline'; Codehighlighter1_81_676_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> Connection getConnection()</span><span id="Codehighlighter1_81_676_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" /></span><span id="Codehighlighter1_81_676_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Connection conn </span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;        <br /><img id="Codehighlighter1_134_334_Open_Image" onclick="this.style.display='none'; Codehighlighter1_134_334_Open_Text.style.display='none'; Codehighlighter1_134_334_Closed_Image.style.display='inline'; Codehighlighter1_134_334_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_134_334_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_134_334_Closed_Text.style.display='none'; Codehighlighter1_134_334_Open_Image.style.display='inline'; Codehighlighter1_134_334_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_134_334_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" /></span><span id="Codehighlighter1_134_334_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            Class.forName(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">com.mysql.jdbc.Driver</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            conn </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">DriverManager.getConnection(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jdbc:mysql://127.0.0.1:3306/st_storm?useUnicode=true&amp;characterEncoding=utf-8</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">root</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">);<br /><img id="Codehighlighter1_369_463_Open_Image" onclick="this.style.display='none'; Codehighlighter1_369_463_Open_Text.style.display='none'; Codehighlighter1_369_463_Closed_Image.style.display='inline'; Codehighlighter1_369_463_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_369_463_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_369_463_Closed_Text.style.display='none'; Codehighlighter1_369_463_Open_Image.style.display='inline'; Codehighlighter1_369_463_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span></span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> (ClassNotFoundException e) </span><span id="Codehighlighter1_369_463_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" /></span><span id="Codehighlighter1_369_463_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> No class </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> found error</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">); e.printStackTrace();<br /><img id="Codehighlighter1_488_597_Open_Image" onclick="this.style.display='none'; Codehighlighter1_488_597_Open_Text.style.display='none'; Codehighlighter1_488_597_Closed_Image.style.display='inline'; Codehighlighter1_488_597_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_488_597_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_488_597_Closed_Text.style.display='none'; Codehighlighter1_488_597_Open_Image.style.display='inline'; Codehighlighter1_488_597_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span></span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> (SQLException e) </span><span id="Codehighlighter1_488_597_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" /></span><span id="Codehighlighter1_488_597_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Failed to get connection :</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">e.getMessage()); e.printStackTrace();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">conn==</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">conn);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> conn;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span></span></div><br />st_storm是我要连接的库名<img src ="http://www.blogjava.net/xiami1022/aggbug/83686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2006-11-27 01:29 <a href="http://www.blogjava.net/xiami1022/archive/2006/11/27/83686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>管道流通信</title><link>http://www.blogjava.net/xiami1022/archive/2006/11/24/83237.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Fri, 24 Nov 2006 05:34:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2006/11/24/83237.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/83237.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2006/11/24/83237.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/83237.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/83237.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">管道流通信</font>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.io.PipedOutputStream;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.io.PipedInputStream;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_224_568_Open_Image" onclick="this.style.display='none'; Codehighlighter1_224_568_Open_Text.style.display='none'; Codehighlighter1_224_568_Closed_Image.style.display='inline'; Codehighlighter1_224_568_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_224_568_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_224_568_Closed_Text.style.display='none'; Codehighlighter1_224_568_Open_Image.style.display='inline'; Codehighlighter1_224_568_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> Main </span>
				<span id="Codehighlighter1_224_568_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" />
				</span>
				<span id="Codehighlighter1_224_568_Open_Text">
						<span style="COLOR: #000000">{<br /><img id="Codehighlighter1_243_249_Open_Image" onclick="this.style.display='none'; Codehighlighter1_243_249_Open_Text.style.display='none'; Codehighlighter1_243_249_Closed_Image.style.display='inline'; Codehighlighter1_243_249_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_243_249_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_243_249_Closed_Text.style.display='none'; Codehighlighter1_243_249_Open_Image.style.display='inline'; Codehighlighter1_243_249_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> Main()</span>
						<span id="Codehighlighter1_243_249_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" />
						</span>
						<span id="Codehighlighter1_243_249_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_311_561_Open_Image" onclick="this.style.display='none'; Codehighlighter1_311_561_Open_Text.style.display='none'; Codehighlighter1_311_561_Closed_Image.style.display='inline'; Codehighlighter1_311_561_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_311_561_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_311_561_Closed_Text.style.display='none'; Codehighlighter1_311_561_Open_Image.style.display='inline'; Codehighlighter1_311_561_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">static</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> main(String[] args)  </span>
						<span style="COLOR: #0000ff">throws</span>
						<span style="COLOR: #000000"> Exception</span>
						<span id="Codehighlighter1_311_561_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" />
						</span>
						<span id="Codehighlighter1_311_561_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        PipedOutputStream pos</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> PipedOutputStream();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        PipedInputStream pis</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> PipedInputStream();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        pos.connect(pis);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        producer p</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> producer(pos);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        p.run();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        consumer c</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> consumer(pis);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        c.run();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img id="Codehighlighter1_600_893_Open_Image" onclick="this.style.display='none'; Codehighlighter1_600_893_Open_Text.style.display='none'; Codehighlighter1_600_893_Closed_Image.style.display='inline'; Codehighlighter1_600_893_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_600_893_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_600_893_Closed_Text.style.display='none'; Codehighlighter1_600_893_Open_Image.style.display='inline'; Codehighlighter1_600_893_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> producer </span>
				<span style="COLOR: #0000ff">extends</span>
				<span style="COLOR: #000000"> Thread</span>
				<span id="Codehighlighter1_600_893_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" />
				</span>
				<span id="Codehighlighter1_600_893_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> PipedOutputStream pos;<br /><img id="Codehighlighter1_672_700_Open_Image" onclick="this.style.display='none'; Codehighlighter1_672_700_Open_Text.style.display='none'; Codehighlighter1_672_700_Closed_Image.style.display='inline'; Codehighlighter1_672_700_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_672_700_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_672_700_Closed_Text.style.display='none'; Codehighlighter1_672_700_Open_Image.style.display='inline'; Codehighlighter1_672_700_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    producer(PipedOutputStream pos)</span>
						<span id="Codehighlighter1_672_700_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" />
						</span>
						<span id="Codehighlighter1_672_700_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">.pos</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">pos;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_723_891_Open_Image" onclick="this.style.display='none'; Codehighlighter1_723_891_Open_Text.style.display='none'; Codehighlighter1_723_891_Closed_Image.style.display='inline'; Codehighlighter1_723_891_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_723_891_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_723_891_Closed_Text.style.display='none'; Codehighlighter1_723_891_Open_Image.style.display='inline'; Codehighlighter1_723_891_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> run()</span>
						<span id="Codehighlighter1_723_891_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" />
						</span>
						<span id="Codehighlighter1_723_891_Open_Text">
								<span style="COLOR: #000000">{<br /><img id="Codehighlighter1_736_823_Open_Image" onclick="this.style.display='none'; Codehighlighter1_736_823_Open_Text.style.display='none'; Codehighlighter1_736_823_Closed_Image.style.display='inline'; Codehighlighter1_736_823_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_736_823_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_736_823_Closed_Text.style.display='none'; Codehighlighter1_736_823_Open_Image.style.display='inline'; Codehighlighter1_736_823_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">try</span>
								<span id="Codehighlighter1_736_823_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" />
								</span>
								<span id="Codehighlighter1_736_823_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            pos.write(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">send a message</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">.getBytes());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            pos.close();<br /><img id="Codehighlighter1_842_885_Open_Image" onclick="this.style.display='none'; Codehighlighter1_842_885_Open_Text.style.display='none'; Codehighlighter1_842_885_Closed_Image.style.display='inline'; Codehighlighter1_842_885_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_842_885_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_842_885_Closed_Text.style.display='none'; Codehighlighter1_842_885_Open_Image.style.display='inline'; Codehighlighter1_842_885_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #0000ff">catch</span>
								<span style="COLOR: #000000">(Exception e)</span>
								<span id="Codehighlighter1_842_885_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" />
								</span>
								<span id="Codehighlighter1_842_885_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            e.printStackTrace();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img id="Codehighlighter1_925_1262_Open_Image" onclick="this.style.display='none'; Codehighlighter1_925_1262_Open_Text.style.display='none'; Codehighlighter1_925_1262_Closed_Image.style.display='inline'; Codehighlighter1_925_1262_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_925_1262_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_925_1262_Closed_Text.style.display='none'; Codehighlighter1_925_1262_Open_Image.style.display='inline'; Codehighlighter1_925_1262_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> consumer </span>
				<span style="COLOR: #0000ff">extends</span>
				<span style="COLOR: #000000"> Thread</span>
				<span id="Codehighlighter1_925_1262_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" />
				</span>
				<span id="Codehighlighter1_925_1262_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> PipedInputStream pis;<br /><img id="Codehighlighter1_995_1023_Open_Image" onclick="this.style.display='none'; Codehighlighter1_995_1023_Open_Text.style.display='none'; Codehighlighter1_995_1023_Closed_Image.style.display='inline'; Codehighlighter1_995_1023_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_995_1023_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_995_1023_Closed_Text.style.display='none'; Codehighlighter1_995_1023_Open_Image.style.display='inline'; Codehighlighter1_995_1023_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    consumer(PipedInputStream pis)</span>
						<span id="Codehighlighter1_995_1023_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" />
						</span>
						<span id="Codehighlighter1_995_1023_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">.pis</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">pis;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_1046_1260_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1046_1260_Open_Text.style.display='none'; Codehighlighter1_1046_1260_Closed_Image.style.display='inline'; Codehighlighter1_1046_1260_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_1046_1260_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1046_1260_Closed_Text.style.display='none'; Codehighlighter1_1046_1260_Open_Image.style.display='inline'; Codehighlighter1_1046_1260_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> run()</span>
						<span id="Codehighlighter1_1046_1260_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" />
						</span>
						<span id="Codehighlighter1_1046_1260_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">byte</span>
								<span style="COLOR: #000000"> b[]</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">byte</span>
								<span style="COLOR: #000000">[</span>
								<span style="COLOR: #000000">100</span>
								<span style="COLOR: #000000">];<br /><img id="Codehighlighter1_1091_1187_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1091_1187_Open_Text.style.display='none'; Codehighlighter1_1091_1187_Closed_Image.style.display='inline'; Codehighlighter1_1091_1187_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1091_1187_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1091_1187_Closed_Text.style.display='none'; Codehighlighter1_1091_1187_Open_Image.style.display='inline'; Codehighlighter1_1091_1187_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">try</span>
								<span id="Codehighlighter1_1091_1187_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" />
								</span>
								<span id="Codehighlighter1_1091_1187_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">int</span>
										<span style="COLOR: #000000"> len</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">pis.read(b);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            System.out.println(</span>
										<span style="COLOR: #0000ff">new</span>
										<span style="COLOR: #000000"> String(b,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,len));<br /><img id="Codehighlighter1_1206_1245_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1206_1245_Open_Text.style.display='none'; Codehighlighter1_1206_1245_Closed_Image.style.display='inline'; Codehighlighter1_1206_1245_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1206_1245_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1206_1245_Closed_Text.style.display='none'; Codehighlighter1_1206_1245_Open_Image.style.display='inline'; Codehighlighter1_1206_1245_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #0000ff">catch</span>
								<span style="COLOR: #000000">(Exception e)</span>
								<span id="Codehighlighter1_1206_1245_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" />
								</span>
								<span id="Codehighlighter1_1206_1245_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        e.printStackTrace();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
<img src ="http://www.blogjava.net/xiami1022/aggbug/83237.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2006-11-24 13:34 <a href="http://www.blogjava.net/xiami1022/archive/2006/11/24/83237.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用File类来列出和筛选所有文件</title><link>http://www.blogjava.net/xiami1022/archive/2006/11/23/83003.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Thu, 23 Nov 2006 04:55:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2006/11/23/83003.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/83003.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2006/11/23/83003.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/83003.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/83003.html</trackback:ping><description><![CDATA[
		<font color="#336699">
				<font size="2">
						<font color="#000000">用到的API:</font>
						<br />
				</font>
				<table style="WIDTH: 608px; HEIGHT: 48px" cellspacing="0" cellpadding="3" width="608" summary="" border="1">
						<tbody>
								<tr class="TableRowColor" bgcolor="white">
										<td valign="top" align="right" width="1%">
												<code>
														<font size="2">static </font>
														<a title="class in java.lang" href="file:///D:/jdk-1_5_0-doc/docs/api/java/lang/String.html">
																<font size="2">String</font>
														</a>
												</code>
										</td>
										<td>
												<code>
														<b>
																<a href="file:///D:/jdk-1_5_0-doc/docs/api/java/io/File.html#separator">
																		<font size="2">separator</font>
																</a>
														</b>
												</code>
												<font size="2">
														<br />          The system-dependent default name-separator character, represented as a string for convenience.</font>
										</td>
								</tr>
						</tbody>
				</table>
				<br />
				<font color="#000000" size="2">File的构造函数:</font>
				<br />
				<table style="WIDTH: 607px; HEIGHT: 140px" cellspacing="0" cellpadding="3" width="607" summary="" border="1">
						<tbody>
								<tr class="TableRowColor" bgcolor="white">
										<td>
												<code>
														<b>
																<a href="file:///D:/jdk-1_5_0-doc/docs/api/java/io/File.html#File(java.io.File, java.lang.String)">
																		<font size="2">File</font>
																</a>
														</b>
														<font size="2">(</font>
														<a title="class in java.io" href="file:///D:/jdk-1_5_0-doc/docs/api/java/io/File.html">
																<font size="2">File</font>
														</a>
														<font size="2"> parent, </font>
														<a title="class in java.lang" href="file:///D:/jdk-1_5_0-doc/docs/api/java/lang/String.html">
																<font size="2">String</font>
														</a>
														<font size="2"> child)</font>
												</code>
												<font size="2">
														<br />          Creates a new <code>File</code> instance from a parent abstract pathname and a child pathname string.</font>
										</td>
								</tr>
								<tr class="TableRowColor" bgcolor="white">
										<td>
												<code>
														<b>
																<a href="file:///D:/jdk-1_5_0-doc/docs/api/java/io/File.html#File(java.lang.String)">
																		<font size="2">File</font>
																</a>
														</b>
														<font size="2">(</font>
														<a title="class in java.lang" href="file:///D:/jdk-1_5_0-doc/docs/api/java/lang/String.html">
																<font size="2">String</font>
														</a>
														<font size="2"> pathname)</font>
												</code>
												<font size="2">
														<br />          Creates a new <code>File</code> instance by converting the given pathname string into an abstract pathname.</font>
										</td>
								</tr>
								<tr class="TableRowColor" bgcolor="white">
										<td>
												<code>
														<b>
																<a href="file:///D:/jdk-1_5_0-doc/docs/api/java/io/File.html#File(java.lang.String, java.lang.String)">
																		<font size="2">File</font>
																</a>
														</b>
														<font size="2">(</font>
														<a title="class in java.lang" href="file:///D:/jdk-1_5_0-doc/docs/api/java/lang/String.html">
																<font size="2">String</font>
														</a>
														<font size="2"> parent, </font>
														<a title="class in java.lang" href="file:///D:/jdk-1_5_0-doc/docs/api/java/lang/String.html">
																<font size="2">String</font>
														</a>
														<font size="2"> child)</font>
												</code>
												<font size="2">
														<br />          Creates a new <code>File</code> instance from a parent pathname string and a child pathname string.</font>
										</td>
								</tr>
						</tbody>
				</table>
				<br />
				<font color="#000000" size="2">list的两种方法,注意FilenameFilter的使用:</font>
				<br />
				<table style="WIDTH: 606px; HEIGHT: 132px" cellspacing="0" cellpadding="3" width="606" summary="" border="1">
						<tbody>
								<tr class="TableRowColor" bgcolor="white">
										<td valign="top" align="right" width="1%">
												<code>
														<font size="2"> </font>
														<a title="class in java.lang" href="file:///D:/jdk-1_5_0-doc/docs/api/java/lang/String.html">
																<font color="#002c99" size="2">String</font>
														</a>
														<font size="2">[]</font>
												</code>
										</td>
										<td>
												<code>
														<b>
																<a href="file:///D:/jdk-1_5_0-doc/docs/api/java/io/File.html#list()">
																		<font color="#002c99" size="2">list</font>
																</a>
														</b>
														<font size="2">()</font>
												</code>
												<font size="2">
														<br />          Returns an array of strings naming the files and directories in the directory denoted by this abstract pathname.</font>
										</td>
								</tr>
								<tr class="TableRowColor" bgcolor="white">
										<td valign="top" align="right" width="1%">
												<code>
														<font size="2"> </font>
														<a title="class in java.lang" href="file:///D:/jdk-1_5_0-doc/docs/api/java/lang/String.html">
																<font color="#002c99" size="2">String</font>
														</a>
														<font size="2">[]</font>
												</code>
										</td>
										<td>
												<code>
														<b>
																<a href="file:///D:/jdk-1_5_0-doc/docs/api/java/io/File.html#list(java.io.FilenameFilter)">
																		<font color="#002c99" size="2">list</font>
																</a>
														</b>
														<font size="2">(</font>
														<a title="interface in java.io" href="file:///D:/jdk-1_5_0-doc/docs/api/java/io/FilenameFilter.html">
																<font color="#002c99" size="2">FilenameFilter</font>
														</a>
														<font size="2"> filter)</font>
												</code>
												<font size="2">
														<br />          Returns an array of strings naming the files and directories in the directory denoted by this abstract pathname that satisfy the specified filter.</font>
										</td>
								</tr>
						</tbody>
				</table>
				<br />
				<br />
				<table style="WIDTH: 606px; HEIGHT: 48px" cellspacing="0" cellpadding="3" width="606" summary="" border="1">
						<tbody>
								<tr class="TableRowColor" bgcolor="white">
										<td valign="top" align="right" width="1%">
												<code>
														<font size="2"> boolean</font>
												</code>
										</td>
										<td>
												<code>
														<b>
																<a href="file:///D:/jdk-1_5_0-doc/docs/api/java/io/File.html#isDirectory()">
																		<font color="#002c99" size="2">isDirectory</font>
																</a>
														</b>
														<font size="2">()</font>
												</code>
												<font size="2">
														<br />          Tests whether the file denoted by this abstract pathname is a directory.</font>
										</td>
								</tr>
						</tbody>
				</table>
				<br />
				<br />
				<font size="2">import java.io.<font color="#990000">File</font>;<br />import java.io.<font color="#990000">FilenameFilter</font>;<br />public class Main {<br />    public static void main(String[] args) {<br />        File fdir=new File(<font color="#990000">File.separator</font>);//获取当前应用程序所在的根目录<br />        showName(fdir,"Program Files");//因为我的这个程序在D盘运行,所以是搜索d:/Program Files目录<br />    }<br />    public static void showName(File fdir,String s){//递归搜索,遇到是目录而不是文件再把目录传进去搜索<br />        File f=new File(fdir,s);<br />        String[] sf=f.list(new <font color="#990000">FilenameFilter</font><font color="#990000">()</font>{//使用匿名内部类重写accept方法<br />            public boolean <font color="#990000">accept</font>(File dir, String name){<br />                if(new File(dir,name).isDirectory()){<br />                    return true;<br />                }<br />                return name.indexOf(".txt")!=-1 || name.indexOf(".wav")!=-1;//筛选出.txt和.wav文件<br />            }<br />            <br />        });<br />        for(int i=0;i&lt;sf.length;i++){<br />            if(new File(f,sf[i]).isDirectory()){//判断是目录还是文件<br />                showName(f,sf[i]);<br />            }else{<br />                System.out.println(sf[i]);<br />            }<br />        }<br />    }<br />}</font>
		</font>
<img src ="http://www.blogjava.net/xiami1022/aggbug/83003.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2006-11-23 12:55 <a href="http://www.blogjava.net/xiami1022/archive/2006/11/23/83003.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.util下的Class Collections的两种sort方法使用</title><link>http://www.blogjava.net/xiami1022/archive/2006/11/22/82753.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Wed, 22 Nov 2006 05:56:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2006/11/22/82753.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/82753.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2006/11/22/82753.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/82753.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/82753.html</trackback:ping><description><![CDATA[
		<font size="2">
				<table style="WIDTH: 674px; HEIGHT: 151px" cellspacing="0" cellpadding="3" width="674" summary="" border="1">
						<tbody>
								<tr class="TableRowColor" bgcolor="white">
										<td valign="top" align="right" width="1%">
												<code>
														<font size="2">static </font>
														<table cellspacing="0" cellpadding="0" summary="" border="0">
																<tbody>
																		<tr valign="top" align="right">
																				<td nowrap="">
																						<code>
																								<font size="2">&lt;T extends </font>
																								<a title="interface in java.lang" href="file:///D:/jdk-1_5_0-doc/docs/api/java/lang/Comparable.html">
																										<font size="2">Comparable</font>
																								</a>
																								<font size="2">&lt;? super T&gt;&gt; <br />void</font>
																						</code>
																				</td>
																		</tr>
																</tbody>
														</table>
												</code>
										</td>
										<td>
												<code>
														<b>
																<a href="file:///D:/jdk-1_5_0-doc/docs/api/java/util/Collections.html#sort(java.util.List)">
																		<font size="2">sort</font>
																</a>
														</b>
														<font size="2">(</font>
														<a title="interface in java.util" href="file:///D:/jdk-1_5_0-doc/docs/api/java/util/List.html">
																<font size="2">List</font>
														</a>
														<font size="2">&lt;T&gt; list)<br /></font>
												</code>
												<font size="2">Sorts the specified list into ascending order, <br />according to the <i>natural ordering</i> of its elements.</font>
										</td>
								</tr>
								<tr class="TableRowColor" bgcolor="white">
										<td valign="top" align="right" width="1%">
												<code>
														<font size="2">static </font>
														<table cellspacing="0" cellpadding="0" summary="" border="0">
																<tbody>
																		<tr valign="top" align="right">
																				<td nowrap="">
																						<code>
																								<font size="2">&lt;T&gt; void</font>
																						</code>
																				</td>
																		</tr>
																</tbody>
														</table>
												</code>
										</td>
										<td>
												<code>
														<b>
																<a href="file:///D:/jdk-1_5_0-doc/docs/api/java/util/Collections.html#sort(java.util.List, java.util.Comparator)">
																		<font size="2">sort</font>
																</a>
														</b>
														<font size="2">(</font>
														<a title="interface in java.util" href="file:///D:/jdk-1_5_0-doc/docs/api/java/util/List.html">
																<font size="2">List</font>
														</a>
														<font size="2">&lt;T&gt; list, </font>
														<a title="interface in java.util" href="file:///D:/jdk-1_5_0-doc/docs/api/java/util/Comparator.html">
																<font size="2">Comparator</font>
														</a>
														<font size="2">&lt;? super T&gt; c)<br /></font>
												</code>
												<font size="2">Sorts the specified list according to the order<br /> induced by the specified comparator.</font>
										</td>
								</tr>
						</tbody>
				</table>
				<br />API如上<br /><br />具体使用方法:<br /><br /><font color="#000000">第一种方法</font>:容器内要排序的类必须时下<font color="#990000">Comparable</font>接口,Comparable接口来自<font color="#990000">java.lang</font>包<br />必须实现下面这个方法:<br /><table style="WIDTH: 671px; HEIGHT: 41px" cellspacing="0" cellpadding="3" width="671" summary="" border="1"><tbody><tr class="TableRowColor" bgcolor="white"><td valign="top" align="right" width="1%"><code><font size="2">int</font></code></td><td><code><b><a href="file:///D:/jdk-1_5_0-doc/docs/api/java/lang/Comparable.html#compareTo(T)"><font color="#002c99" size="2">compareTo</font></a></b><font size="2">(</font><a title="type parameter in Comparable" href="file:///D:/jdk-1_5_0-doc/docs/api/java/lang/Comparable.html"><font color="#002c99" size="2">T</font></a><font size="2"> o)<br /></font></code><font size="2">Compares this object with the specified object for order.</font></td></tr></tbody></table><br />例子:<br /><font color="#990000">import java.util.*;<br /></font><font color="#336699">public class Main{<br />    public static void main(String args[]){<br />        ArrayList&lt;Student&gt; al=new ArrayList&lt;Student&gt;();<br />        al.add(new Student(2,"aa"));<br />        al.add(new Student(1,"bb"));<br />        al.add(new Student(3,"dd"));<br />        al.add(new Student(3,"cc"));<br />        Collections.sort(al);<br />        Iterator it=al.iterator();<br />        while(it.hasNext()){<br />            System.out.println(it.next());<br />        }<br />    }<br />}<br />class Student <font color="#990000">implements Comparable</font>{<br />    int id;<br />    String name;<br />    Student(int id,String name){<br />        this.id=id;<br />        this.name=name;<br />    }<br />    <font color="#990000">public int compareTo</font>(Object o){<br />        Student s=(Student)o;<br />        int result=(id&gt;s.id)?1:((id==s.id)?0:-1);<br />        if(0==result){<br />            result=name.compareTo(s.name);<br />        }<br />        return result;<br />    }<br />    public String toString(){<br />        return "id="+this.id+",name="+this.name;<br />        <br />    }<br />}<br /><br /><font color="#000000">第二种方法:使用静态内部类实现<font color="#990000">Comparator</font>接口,Comparator接口位于<font color="#990000">java.util</font>包下</font><br /><table style="WIDTH: 655px; HEIGHT: 80px" cellspacing="0" cellpadding="3" width="655" summary="" border="1"><tbody><tr class="TableRowColor" bgcolor="white"><td valign="top" align="right" width="1%"><code><font size="2"> int</font></code></td><td><code><b><a href="file:///D:/jdk-1_5_0-doc/docs/api/java/util/Comparator.html#compare(T, T)"><font size="2">compare</font></a></b><font size="2">(</font><a title="type parameter in Comparator" href="file:///D:/jdk-1_5_0-doc/docs/api/java/util/Comparator.html"><font size="2">T</font></a><font size="2"> o1, </font><a title="type parameter in Comparator" href="file:///D:/jdk-1_5_0-doc/docs/api/java/util/Comparator.html"><font size="2">T</font></a><font size="2"> o2)<br /></font></code><font size="2">Compares its two arguments for order.</font></td></tr><tr class="TableRowColor" bgcolor="white"><td valign="top" align="right" width="1%"><code><font size="2"> boolean</font></code></td><td><code><b><a href="file:///D:/jdk-1_5_0-doc/docs/api/java/util/Comparator.html#equals(java.lang.Object)"><font size="2">equals</font></a></b><font size="2">(</font><a title="class in java.lang" href="file:///D:/jdk-1_5_0-doc/docs/api/java/lang/Object.html"><font size="2">Object</font></a><font size="2"> obj)<br /></font></code><font size="2">Indicates whether some other object is "equal to" this Comparator.</font></td></tr></tbody></table><p><br /><font color="#000000">只需实现compare方法就行,equals方法在obeject类就会有,而实体类继承自object类,就必然会有equals方法,所以不需实现</font><br /><br /></p></font><font color="#000000">例子<br /><font color="#990000">import java.util.*;</font><br /></font><font color="#336699">public class Main{<br />    public static void main(String args[]){<br />        ArrayList&lt;Student&gt; al=new ArrayList&lt;Student&gt;();<br />        al.add(new Student(2,"aa"));<br />        al.add(new Student(1,"bb"));<br />        al.add(new Student(3,"dd"));<br />        al.add(new Student(3,"cc"));<br />        Collections.sort(al,new Student.StudentComparator());<br />        Iterator it=al.iterator();<br />        while(it.hasNext()){<br />            System.out.println(it.next());<br />        }<br />    }<br />}<br />class Student {<br />    int id;<br />    String name;<br />    Student(int id,String name){<br />        this.id=id;<br />        this.name=name;<br />    }<br />    public String toString(){<br />        return "id="+this.id+",name="+this.name;<br />        <br />    }<br />    <font color="#990000">static <font color="#336699">class StudentComparator implements</font> Comparator</font>{<br />        public int <font color="#990000">compare</font>(Object o1,Object o2){<br />            Student s1=(Student)o1;<br />            Student s2=(Student)o2;<br />            int result=(s1.id&gt;s2.id)?1:((s1.id==s2.id)?0:-1);<br />            if(0==result){<br />                result=s1.name.compareTo(s2.name);<br />                <br />            }<br />            return result;<br />        }<br />    }<br />}</font></font>
<img src ="http://www.blogjava.net/xiami1022/aggbug/82753.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2006-11-22 13:56 <a href="http://www.blogjava.net/xiami1022/archive/2006/11/22/82753.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>静态内部类</title><link>http://www.blogjava.net/xiami1022/archive/2006/11/22/82747.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Wed, 22 Nov 2006 05:34:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2006/11/22/82747.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/82747.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2006/11/22/82747.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/82747.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/82747.html</trackback:ping><description><![CDATA[
		<font size="2">静态内部类（<font color="#990000">Static </font><font color="#990000">Inner Class</font>）意味着:<br /><br />1.创建一个static内部类的对象，不需要一个外部类对象<br />2.不能从一个static内部类的一个对象访问一个外部类对象<br /><img height="20" src="http://www.blogjava.net/Emoticons/QQ/14.gif" width="20" border="0" /></font>
<img src ="http://www.blogjava.net/xiami1022/aggbug/82747.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2006-11-22 13:34 <a href="http://www.blogjava.net/xiami1022/archive/2006/11/22/82747.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>1.5容器note问题</title><link>http://www.blogjava.net/xiami1022/archive/2006/11/22/82745.html</link><dc:creator>虾米</dc:creator><author>虾米</author><pubDate>Wed, 22 Nov 2006 05:26:00 GMT</pubDate><guid>http://www.blogjava.net/xiami1022/archive/2006/11/22/82745.html</guid><wfw:comment>http://www.blogjava.net/xiami1022/comments/82745.html</wfw:comment><comments>http://www.blogjava.net/xiami1022/archive/2006/11/22/82745.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiami1022/comments/commentRss/82745.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiami1022/services/trackbacks/82745.html</trackback:ping><description><![CDATA[
		<font size="2">在1.5里面容器要事先指定类型如:<br /></font>
		<font size="2">
				<font color="#336699">List&lt;Integer&gt; lt=new LinkedList&lt;Integer&gt;();<br />lt.add(new Integer(0));</font>
				<br />
				<br />如果这样定义<br /></font>
		<font size="2">
				<font color="#336699">List lt=new LinkedList();<br />lt.add(new Integer(0)); <br />就会报note了<br />Note: D:\1_jb\JavaApplication1\src\javaapplication1\Main.java uses unchecked or unsafe operations.<br />Note: Recompile with -Xlint:unchecked for details.</font>
				<br />
				<br />这样<br /></font>
		<font size="2">
				<font color="#336699">        ArrayList&lt;HashMap&gt; fieldGetList=new ArrayList&lt;HashMap&gt;();<br />        HashMap&lt;String,String&gt; annal=new HashMap&lt;String,String&gt;();<br />        annal.put("111","222");<br />        fieldGetList.add(annal);</font>
				<br />就可以编译OK了</font>
		<br />
<img src ="http://www.blogjava.net/xiami1022/aggbug/82745.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiami1022/" target="_blank">虾米</a> 2006-11-22 13:26 <a href="http://www.blogjava.net/xiami1022/archive/2006/11/22/82745.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>