﻿<?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-当柳上原的风吹向天际的时候...-随笔分类-Java</title><link>http://www.blogjava.net/heyang/category/53159.html</link><description>何杨的编程点滴</description><language>zh-cn</language><lastBuildDate>Thu, 11 Apr 2013 00:40:46 GMT</lastBuildDate><pubDate>Thu, 11 Apr 2013 00:40:46 GMT</pubDate><ttl>60</ttl><item><title>zt:HTTP长连接</title><link>http://www.blogjava.net/heyang/archive/2013/04/10/397663.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Wed, 10 Apr 2013 13:16:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2013/04/10/397663.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/397663.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2013/04/10/397663.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/397663.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/397663.html</trackback:ping><description><![CDATA[转载自:<div>http://www.cnblogs.com/Mygirl/archive/2012/03/27/2419971.html</div><br /><br /><div><p>&nbsp; &nbsp; &nbsp;什么是HTTP长连接？  HTTP长连接，与一般每次发起http请求或响应都要建立一个tcp连接不同，http长连接利用同一个tcp连接处理多个http请求和响应，也叫 HTTP keep-alive，或者http连接重用。使用http长连接可以提高http请求/响应的性能。</p> <p>&nbsp; &nbsp; &nbsp;使用http长连接有很多好处，包括：<br />更少的建立和关闭tcp连接，可以减少网络流量。 因为已建立的tcp握手，减少后续请求的延时。 长时间的连接让tcp有充足的时间判断网络的拥塞情况，方便做出下步操作。</p> <p>&nbsp; &nbsp;&nbsp;这些优点在使用https连接时更显著。可以减少多次建立高消耗的SSL/TLS握手。  在HTTP/1.1中，默认使用的是长连接方式。客户端默认服务端会保持长连接，即便返回错误响应；除非明确指示不使用长连接。同时，协议中也指定了客户 端可以发送关闭信号到服务端来关闭TCP连接。</p> <p>&nbsp; &nbsp;&nbsp;怎样是连接可以重用？  因为TCP是基于流的协议，所以HTTP协议需要有一种方式来指示前一个响应的结束和后一个响应的开始来重用已建立的连接。所以，它要求连接中传输的信息 必须有自定义的消息长度。自定义消息长度可以通过设置&nbsp;Content-Length  消息头，若传输编码的实体内容块，则每个数据块的标明数据块的大小，而且响应体也是以一个特殊的数据块结束。</p> <p>&nbsp; &nbsp;&nbsp;若中间存在代理服务器将会如何?  因为长连接仅占用一条传输链路，所以代理服务器能否正确得与客户端和服务器端（或者其他代理服务器）发送长连接或非长连接的信号尤为重要。但是HTTP的 客户端或服务器端来看，代理服务器对他们来说是透明的，即便长连接是需要关注的。</p> <p>&nbsp; &nbsp; &nbsp;当前的JDK如何处理Keep-Alive？ JDK同时支持HTTP/1.1&nbsp;和 HTTP/1.0。  当应用程序读取完响应体内容后或者调用&nbsp;close()  关闭了URLConnection.getInputStream()返回的流，JDK中的HTTP协议句柄将关闭连接，并将连接放到连接缓存中，以便后 面的HTTP请求使用。 对HTTP keep-Alive  的支持是透明的。但是，你也可以通过系统属性http.keepAlive和http.maxConnections以及HTTP/1.1协议中的特定的 请求响应头来控制。控制Keep-Alive表现的系统属性有：<br />&nbsp; &nbsp; http.keepAlive=&lt;布尔值&gt; 默认: true 指定长连接是否支持<br />&nbsp; &nbsp; http.maxConnections=&lt;整数&gt; 默认: 5 指定对同一个服务器保持的长连接的最大个数。<br />&nbsp; &nbsp; 影响长连接的HTTP header是： Connection: close 如果请求或响应中的Connection header被指定为close，表示在当前请求或响应完成后将关闭TCP连接。</p> <p>&nbsp; &nbsp; &nbsp;JDK中的当前实现不支持缓存响应体，所以应用程序必须读取完响应体内容或者调用close()关闭流并丢弃未读内容来重用连接。此外，当前实现在清理连接时并未使用阻塞读，这就意味这如果响应体不可用，连接将不能被重用。</p> <p>&nbsp; &nbsp;&nbsp;JDK1.5中的新特性 当应用接收到400或500的HTTP响应时，它将忽略IOException 而另发一个HTTP  请求。这种情况下，底层的TCP连接将不会再保持，因为响应内容还在等待被读取，socket  连接未清理，不能被重用。应用可以在捕获IOException 以后调用HttpURLConnection.getErrorStream()  ，读取响应内容然后关闭流。但是现存的应用没有这么做，不能体现出长连接的优势。为了解决这个问题，介绍下workaround。<br />当响应体的状态码大于或等于400的时候，workaround 将在一定时间内缓存一定数量的响应内容，释放底层的socket连接来重用。基本原理是当响应状态码大于或等于400时，服务器端会发送一个简短的响应体来指明连接谁以及如何恢复连接。</p> <p>&nbsp; &nbsp;</p> <p>下面介绍一些SUN实现中的特定属性来帮助接收到错误响应体后清理连接： 主要的一个是： sun.net.http.errorstream.enableBuffering=&lt;布尔值&gt; 默认: false</p> <p>&nbsp; &nbsp; &nbsp;当上面属性设置为true后，在接收到响应码大于或等于400是，HTTP  句柄将尝试缓存响应内容。释放底层的socket连接来重用。所以，即便应用不调用getErrorStream()来读取响应内容，或者调用 close()关闭流，底层的socket连接也将保持连接状态。<br />下面的两个系统属性是为了更进一步控制错误流的缓存行为： sun.net.http.errorstream.timeout=&lt;int&gt; in 毫秒 默认: 300 毫秒</p> <p>&nbsp; &nbsp; &nbsp;你如何做可以保持连接为连接状态呢？ 不要忽略响应体而丢弃连接。这样会是TCP连接闲置，当不再被引用后将会被垃圾回收器回收。  如果getInputStream()返回成功，读取全部响应内容。如果抛出IOException ，捕获异常并调用getErrorStream()  读取响应内容（如果存在响应内容）。<br />即便你对响应内容不感兴趣，也要读取它，以便清理连接。但是，如果响应内容很长，你读取到开始部分后就不感兴趣了，可以调用close()来关闭流。值得注意的是，其他部分的数据已在读取中，所以连接将不能被清理进而被重用。<br />下面是一个基于上面建议的代码样例：</p> <div> <div><div id="highlighter_775917" nogutter=""  javascript"=""><div><a href="http://www.cnblogs.com/Mygirl/archive/2012/03/27/2419971.html#" command_help=""  help"="">?</a></div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td><div><div number1="" index0=""  alt2"=""><code keyword"="">try</code> <code plain"="">{&nbsp; </code></div><div number2="" index1=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">URL a = </code><code keyword"="">new</code> <code plain"="">URL(args[0]);&nbsp; </code></div><div number3="" index2=""  alt2"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">URLConnection urlc = a.openConnection();&nbsp; </code></div><div number4="" index3=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">is = conn.getInputStream();&nbsp; </code></div><div number5="" index4=""  alt2"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">int ret = 0;&nbsp; </code></div><div number6="" index5=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;</code><code keyword"="">while</code> <code plain"="">((ret = is.read(buf)) &gt; 0) {&nbsp; </code></div><div number7="" index6=""  alt2"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">processBuf(buf);&nbsp; </code></div><div number8="" index7=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">} </code></div><div number9="" index8=""  alt2"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;</code><code comments"="">// close the inputstream</code></div><div number10="" index9=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">is.close(); </code></div><div number11="" index10=""  alt2"=""><code plain"="">} </code><code keyword"="">catch</code> <code plain"="">(IOException e) { </code></div><div number12="" index11=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;</code><code keyword"="">try</code> <code plain"="">{ </code></div><div number13="" index12=""  alt2"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">respCode = ((HttpURLConnection)conn).getResponseCode(); </code></div><div number14="" index13=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">es = ((HttpURLConnection)conn).getErrorStream(); </code></div><div number15="" index14=""  alt2"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">int ret = 0; </code></div><div number16="" index15=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code comments"="">// read the response body</code></div><div number17="" index16=""  alt2"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code keyword"="">while</code> <code plain"="">((ret = es.read(buf)) &gt; 0) { </code></div><div number18="" index17=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">processBuf(buf); </code></div><div number19="" index18=""  alt2"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">}</code></div><div number20="" index19=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code comments"="">// close the errorstream</code></div><div number21="" index20=""  alt2"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">es.close(); </code></div><div number22="" index21=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">} </code><code keyword"="">catch</code><code plain"="">(IOException ex) { </code></div><div number23="" index22=""  alt2"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code comments"="">// deal with the exception</code></div><div number24="" index23=""  alt1"=""><code spaces"="">&nbsp;&nbsp;&nbsp;&nbsp;</code><code plain"="">}</code></div><div number25="" index24=""  alt2"=""><code plain"="">}</code></div></div></td></tr></tbody></table></div></div> </div> <p>　　如果你预先就对响应内容不感兴趣，你可以使用HEAD 请求来代替GET 请求。例如，获取web资源的meta信息或者测试它的有效性，可访问性以及最近的修改。下面是代码片段：</p>  <div><a href="http://www.cnblogs.com/Mygirl/archive/2012/03/27/2419971.html#" command_help=""  help"="">?</a></div><div><div number1="" index0=""  alt2"=""><code plain"="">URL a = </code><code keyword"="">new</code> <code plain"="">URL(args[0]); </code></div><div number2="" index1=""  alt1"=""><code plain"="">URLConnection urlc = a.openConnection(); </code></div><div number3="" index2=""  alt2"=""><code plain"="">HttpURLConnection httpc = (HttpURLConnection)urlc; </code></div><div number4="" index3=""  alt1"=""><code comments"="">// only interested in the length of the resource</code></div><div number5="" index4=""  alt2"=""><code plain"="">httpc.setRequestMethod(</code><code string"="">"HEAD"</code><code plain"="">); </code></div><div number6="" index5=""  alt1"=""><code plain"="">int len = httpc.getContentLength();</code></div></div></div><img src ="http://www.blogjava.net/heyang/aggbug/397663.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2013-04-10 21:16 <a href="http://www.blogjava.net/heyang/archive/2013/04/10/397663.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySql中LongText字段对应Hibernate映射文件的设置</title><link>http://www.blogjava.net/heyang/archive/2013/04/02/397323.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Tue, 02 Apr 2013 15:18:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2013/04/02/397323.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/397323.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2013/04/02/397323.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/397323.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/397323.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;?</span><span style="color: #FF00FF; ">xml&nbsp;version="1.0"</span><span style="color: #0000FF; ">?&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;!</span><span style="color: #FF00FF; ">DOCTYPE&nbsp;hibernate-mapping&nbsp;PUBLIC&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;"-//Hibernate/Hibernate&nbsp;Mapping&nbsp;DTD&nbsp;3.0//EN"<br />&nbsp;&nbsp;&nbsp;&nbsp;"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">hibernate-mapping&nbsp;</span><span style="color: #FF0000; ">package</span><span style="color: #0000FF; ">="com.ibm.heyang.XXX"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">class&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="XXXClas"</span><span style="color: #FF0000; ">&nbsp;table</span><span style="color: #0000FF; ">="XXX_Table"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">id&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="id"</span><span style="color: #FF0000; ">&nbsp;column</span><span style="color: #0000FF; ">="ID"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">generator&nbsp;</span><span style="color: #FF0000; ">class</span><span style="color: #0000FF; ">="increment"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">id</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="name"</span><span style="color: #FF0000; ">&nbsp;column</span><span style="color: #0000FF; ">="name"</span><span style="color: #FF0000; ">&nbsp;not-null</span><span style="color: #0000FF; ">="true"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="content"</span><span style="color: #FF0000; ">&nbsp;type</span><span style="color: #0000FF; ">="text"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">column&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="content"</span><span style="color: #FF0000; "> </span><strong><span style="color: #FF0000; ">length&nbsp;</span><span style="color: #0000FF; ">=&nbsp;"16777216"</span></strong><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">property</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">class</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">hibernate-mapping</span><span style="color: #0000FF; ">&gt;<br /><br />以上length="16777216"<div><span style="color: #0000FF; ">是关键,它会把字段对应到MySql的LONGTEXT类型.<br /><br />以上是受到 <div>http://sonyfe25cp.iteye.com/blog/830566</div>启发的.<br /></span></div><br /></span></div><img src ="http://www.blogjava.net/heyang/aggbug/397323.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2013-04-02 23:18 <a href="http://www.blogjava.net/heyang/archive/2013/04/02/397323.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>两个挺实用的字符串拼接操作的函数</title><link>http://www.blogjava.net/heyang/archive/2012/12/24/393396.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Mon, 24 Dec 2012 06:29:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2012/12/24/393396.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/393396.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2012/12/24/393396.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/393396.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/393396.html</trackback:ping><description><![CDATA[<strong>1.StringUtils.join</strong><br />使用方法:<br /><strong>String result=StringUtils.join(arr,'','');</strong><br />如果arr=["1","2","3","A","B","C"];<br />那么result="1,2,3,A,B,C";<br />这个用在in查询的场合很好.<br />如果要颠倒过来,用String[] arr=result.split(",");就好了.<br />当然,String.split也是一个非常实用的函数.<br /><br /><strong>2.MessageFormat.format</strong><br />使用方法:<br /><div>String message = "Territory {0} has been transferred to Team {1}.";<br /><div>Object[] params={"A1","B2"};</div><div><strong>String transferMsg = MessageFormat.format(message,params);</strong>//Territory A1 has been transferred to Team B2.<br />这个函数用于预设空缺待填文本的场合很好.<br /></div></div><br /><img src ="http://www.blogjava.net/heyang/aggbug/393396.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2012-12-24 14:29 <a href="http://www.blogjava.net/heyang/archive/2012/12/24/393396.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>将SQL自动补全的工具类</title><link>http://www.blogjava.net/heyang/archive/2012/12/17/393124.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Mon, 17 Dec 2012 14:55:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2012/12/17/393124.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/393124.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2012/12/17/393124.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/393124.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/393124.html</trackback:ping><description><![CDATA[编码调试过程中,常有Sql语句的调试任务,这种任务比较麻烦的一点在于需要手工将?替换成参数,如果参数有十来个就够让人头疼的.<br />为了减轻这种无谓的劳动,本人设计了一个类来代替完成这种累而又容易让人出错的活.<br />下面是代码:<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;com.heyang;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.text.MessageFormat;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.regex.Matcher;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.regex.Pattern;<br /><br /></span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />&nbsp;*&nbsp;将SQL语句中的问号替换成参数<br />&nbsp;*&nbsp;此类用于调试SQL时减轻手工加入参数的劳动量<br />&nbsp;*&nbsp;</span><span style="color: #808080; ">@author</span><span style="color: #008000; ">&nbsp;heyang@gmail.com<br />&nbsp;*<br />&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;SqlCompletion{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;输入的SQL语句</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;String&nbsp;sql;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;输入的参数</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;String[]&nbsp;arr;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;构造函数</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;SqlCompletion(String&nbsp;sql,Object[]&nbsp;params){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.sql</span><span style="color: #000000; ">=</span><span style="color: #000000; ">sql;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;String[params.length];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;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; ">arr.length;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[i]</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; ">params[i].toString()</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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;取得将问号替换成参数的补全SQL<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@return</span><span style="color: #008000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;getCompletedSql(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pattern&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;Pattern.compile(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">\\?</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,Pattern.CASE_INSENSITIVE);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Matcher&nbsp;m&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;p.matcher(sql);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;sb&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;StringBuffer();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;m.find();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;index</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(result)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m.appendReplacement(sb,&nbsp;</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; ">index</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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index</span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;m.find();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m.appendTail(sb);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;repSql</span><span style="color: #000000; ">=</span><span style="color: #000000; ">sb.toString();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;MessageFormat.format(repSql,arr);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;测试</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;main(String[]&nbsp;args){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object[]&nbsp;params</span><span style="color: #000000; ">=</span><span style="color: #000000; ">{</span><span style="color: #000000; ">"</span><span style="color: #000000; ">c1</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">c2</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">c3</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">c4</span><span style="color: #000000; ">"</span><span style="color: #000000; ">};<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SqlCompletion&nbsp;s</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;SqlCompletion(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">select&nbsp;*&nbsp;from&nbsp;t&nbsp;where&nbsp;t.f1=?&nbsp;and&nbsp;t.f2=?&nbsp;and&nbsp;t.f3=?&nbsp;and&nbsp;t.f4=?&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,params);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(s.getCompletedSql());&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div><br />输出结果是:<br /><div>select * from t where t.f1='c1' and t.f2='c2' and t.f3='c3' and t.f4='c4'</div><br />你可以把此类拷贝到你的项目中,只要标明我是原作者就行.<img src ="http://www.blogjava.net/heyang/aggbug/393124.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2012-12-17 22:55 <a href="http://www.blogjava.net/heyang/archive/2012/12/17/393124.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POI 常用操作语句</title><link>http://www.blogjava.net/heyang/archive/2012/12/14/393013.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Fri, 14 Dec 2012 09:45:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2012/12/14/393013.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/393013.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2012/12/14/393013.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/393013.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/393013.html</trackback:ping><description><![CDATA[<div>POI是Java对Office操作的常用工具包,网上资料有很多,但良莠不齐,临时便找边试容易耽误时间,故收集一些常用操作在这里以便查阅.<br /><br /><strong>1.创建Sheet</strong><br />Sheet sheet = workbook.createSheet();<br />workbook.setSheetName(0, "Sheet0");<br /><br /><strong>2.设置列宽</strong><br />static final int[] COLUMN_WIDTHS = new int[] { 4*3500, 2*3500, 5*3500,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2*3500, 3*3500, 3*3500, 3500, 3*3500, 2*3800, 2*3500};<br />for (int colnum = 0; colnum &lt; COLUMN_WIDTHS.length; colnum++) {<br />&nbsp;&nbsp; &nbsp;sheet.setColumnWidth(colnum, COLUMN_WIDTHS[colnum]);<br />}<br /><br /><strong>3.设置缺省行高</strong><br />sheet.setDefaultRowHeight((short)360);<br /><br /><strong>4.设置某一行行高</strong><br />Row rowFirst = sheet.createRow(0);<br />rowFirst.setHeightInPoints(20.0f);<br /><br /><strong>5.给单元格设置字体及下边框</strong><br />Cell cell00 = rowFirst.createCell(0);<br />cell00.setCellValue("abc123");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br /><br />HSSFFont fontAriel12Bold = workbook.createFont();<br />fontAriel12Bold.setFontName("Arial");<br />fontAriel12Bold.setFontHeightInPoints((short)12);<br />fontAriel12Bold.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);<br />fontAriel12Bold.setColor(HSSFColor.RED.index);<br /><br />HSSFCellStyle cell00FontStyle = workbook.createCellStyle();<br />cell00FontStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);<br />cell00FontStyle.setFont(fontAriel12Bold);<br />cell00.setCellStyle(cell00FontStyle);<br /><br /><div><strong>6.给单元格设置背景色</strong><br />HSSFCellStyle blueStyle = workbook.createCellStyle();<br />blueStyle.setBorderTop(HSSFCellStyle.BORDER_THICK);<br />blueStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);<br />blueStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index);<br />blueStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);<br />Cell cell=row9.createCell(0);<br />cell.setCellStyle(blueStyle);</div></div><img src ="http://www.blogjava.net/heyang/aggbug/393013.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2012-12-14 17:45 <a href="http://www.blogjava.net/heyang/archive/2012/12/14/393013.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POI设置Excel中颜色效果展示</title><link>http://www.blogjava.net/heyang/archive/2012/12/13/392958.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Thu, 13 Dec 2012 15:36:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2012/12/13/392958.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/392958.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2012/12/13/392958.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/392958.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/392958.html</trackback:ping><description><![CDATA[<div>OI导出Excel文档时，可以设置很多格式效果，比如：边框，字体，颜色等等。<br /> 本文仅仅列出颜色的列表展示，方便大家查阅。&nbsp;&nbsp;<table style="width: 297pt; border-collapse: collapse; table-layout: fixed;" border="1" cellpadding="0" cellspacing="0"><tbody><tr style="height: 12.75pt;"><td style="width: 48pt;">颜色</td><td style="width: 165pt;">Class名称</td><td style="width: 48pt;">short</td></tr><tr style="height: 12.75pt;"><td bgcolor="#000000" height="17"><br /></td><td>BLACK</td><td>8</td></tr><tr style="height: 12.75pt;"><td bgcolor="#993300" height="17"><br /></td><td>BROWN</td><td>60</td></tr><tr style="height: 12.75pt;"><td bgcolor="#333300" height="17"><br /></td><td>OLIVE_GREEN</td><td>59</td></tr><tr style="height: 12.75pt;"><td bgcolor="#003300" height="17"><br /></td><td>DARK_GREEN</td><td>58</td></tr><tr style="height: 12.75pt;"><td bgcolor="#003366" height="17"><br /></td><td>DARK_TEAL</td><td>56</td></tr><tr style="height: 12.75pt;"><td bgcolor="#000080" height="17"><br /></td><td>DARK_BLUE</td><td>18</td></tr><tr style="height: 12.75pt;"><td bgcolor="#333399" height="17"><br /></td><td>INDIGO</td><td>62</td></tr><tr style="height: 12.75pt;"><td bgcolor="#333333" height="17"><br /></td><td>GREY_80_PERCENT</td><td>63</td></tr><tr style="height: 12.75pt;"><td bgcolor="#800000" height="17"><br /></td><td>DARK_RED</td><td>16</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ff6600" height="17"><br /></td><td>ORANGE</td><td>53</td></tr><tr style="height: 12.75pt;"><td bgcolor="#808000" height="17"><br /></td><td>DARK_YELLOW</td><td>19</td></tr><tr style="height: 12.75pt;"><td bgcolor="#008000" height="17"><br /></td><td>GREEN</td><td>17</td></tr><tr style="height: 12.75pt;"><td bgcolor="#008080" height="17"><br /></td><td>TEAL</td><td>21</td></tr><tr style="height: 12.75pt;"><td bgcolor="#0000ff" height="17"><br /></td><td>BLUE</td><td>12</td></tr><tr style="height: 12.75pt;"><td bgcolor="#666699" height="17"><br /></td><td>BLUE_GREY</td><td>54</td></tr><tr style="height: 12.75pt;"><td bgcolor="#808080" height="17"><br /></td><td>GREY_50_PERCENT</td><td>23</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ff0000" height="17"><br /></td><td>RED</td><td>10</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ff9900" height="17"><br /></td><td>LIGHT_ORANGE</td><td>52</td></tr><tr style="height: 12.75pt;"><td bgcolor="#99cc00" height="17"><br /></td><td>LIME</td><td>50</td></tr><tr style="height: 12.75pt;"><td bgcolor="#339966" height="17"><br /></td><td>SEA_GREEN</td><td>57</td></tr><tr style="height: 12.75pt;"><td bgcolor="#33cccc" height="17"><br /></td><td>AQUA</td><td>49</td></tr><tr style="height: 12.75pt;"><td bgcolor="#3366ff" height="17"><br /></td><td>LIGHT_BLUE</td><td>48</td></tr><tr style="height: 12.75pt;"><td bgcolor="#800080" height="17"><br /></td><td>VIOLET</td><td>20</td></tr><tr style="height: 12.75pt;"><td bgcolor="#969696" height="17"><br /></td><td>GREY_40_PERCENT</td><td>55</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ff00ff" height="17"><br /></td><td>PINK</td><td>14</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ffcc00" height="17"><br /></td><td>GOLD</td><td>51</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ffff00" height="17"><br /></td><td>YELLOW</td><td>13</td></tr><tr style="height: 12.75pt;"><td bgcolor="#00ff00" height="17"><br /></td><td>BRIGHT_GREEN</td><td>11</td></tr><tr style="height: 12.75pt;"><td bgcolor="#00ffff" height="17"><br /></td><td>TURQUOISE</td><td>15</td></tr><tr style="height: 12.75pt;"><td bgcolor="#00ccff" height="17"><br /></td><td>SKY_BLUE</td><td>40</td></tr><tr style="height: 12.75pt;"><td bgcolor="#993366" height="17"><br /></td><td>PLUM</td><td>61</td></tr><tr style="height: 12.75pt;"><td bgcolor="#c0c0c0" height="17"><br /></td><td>GREY_25_PERCENT</td><td>22</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ff99cc" height="17"><br /></td><td>ROSE</td><td>45</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ffcc99" height="17"><br /></td><td>TAN</td><td>47</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ffff99" height="17"><br /></td><td>LIGHT_YELLOW</td><td>43</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ccffcc" height="17"><br /></td><td>LIGHT_GREEN</td><td>42</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ccffff" height="17"><br /></td><td>LIGHT_TURQUOISE</td><td>41</td></tr><tr style="height: 12.75pt;"><td bgcolor="#99ccff" height="17"><br /></td><td>PALE_BLUE</td><td>44</td></tr><tr style="height: 12.75pt;"><td bgcolor="#cc99ff" height="17"><br /></td><td>LAVENDER</td><td>46</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ffffff" height="17"><br /></td><td>WHITE</td><td>9</td></tr><tr style="height: 12.75pt;"><td bgcolor="#9999ff" height="17"><br /></td><td>CORNFLOWER_BLUE</td><td>24</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ffffcc" height="17"><br /></td><td>LEMON_CHIFFON</td><td>26</td></tr><tr style="height: 12.75pt;"><td bgcolor="#993366" height="17"><br /></td><td>MAROON</td><td>25</td></tr><tr style="height: 12.75pt;"><td bgcolor="#660066" height="17"><br /></td><td>ORCHID</td><td>28</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ff8080" height="17"><br /></td><td>CORAL</td><td>29</td></tr><tr style="height: 12.75pt;"><td bgcolor="#0066cc" height="17"><br /></td><td>ROYAL_BLUE</td><td>30</td></tr><tr style="height: 12.75pt;"><td bgcolor="#ccccff" height="17"><br /></td><td>LIGHT_CORNFLOWER_BLUE</td><td>31</td></tr><tr style="height: 12.75pt;"><td height="17"><br /></td><td>AUTOMATIC</td><td>64</td></tr></tbody></table></div><img src ="http://www.blogjava.net/heyang/aggbug/392958.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2012-12-13 23:36 <a href="http://www.blogjava.net/heyang/archive/2012/12/13/392958.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UTF-8 转化小程序</title><link>http://www.blogjava.net/heyang/archive/2012/09/27/388748.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Thu, 27 Sep 2012 15:48:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2012/09/27/388748.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/388748.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2012/09/27/388748.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/388748.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/388748.html</trackback:ping><description><![CDATA[下载地址：<br /><a href="http://www.blogjava.net/Files/heyang/Utf8Test20120927.rar">http://www.blogjava.net/Files/heyang/Utf8Test20120927.rar</a><br /><br />转化效果：<br /><div>%E4%BD%95%E6%9D%A8%E5%88%B0%E6%AD%A4%E4%B8%80%E6%B8%B8%EF%BC%81<br />何杨到此一游！<br /><br />有时候也挺好玩的。</div><img src ="http://www.blogjava.net/heyang/aggbug/388748.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2012-09-27 23:48 <a href="http://www.blogjava.net/heyang/archive/2012/09/27/388748.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>取得Spring上下文的函数</title><link>http://www.blogjava.net/heyang/archive/2012/04/20/375392.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Fri, 20 Apr 2012 09:31:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2012/04/20/375392.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/375392.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2012/04/20/375392.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/375392.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/375392.html</trackback:ping><description><![CDATA[<div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">ApplicationContext&nbsp;context</span><span style="color: #000000; ">=</span><span style="color: #000000; ">ContextLoader.getCurrentWebApplicationContext()；</span></div></div></div><br />当Spring启动起来后，取得上下文可以如此处理，上述代码适宜放在静态构造子中，然后将值传给一个静态变量。<img src ="http://www.blogjava.net/heyang/aggbug/375392.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2012-04-20 17:31 <a href="http://www.blogjava.net/heyang/archive/2012/04/20/375392.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring MVC 例子</title><link>http://www.blogjava.net/heyang/archive/2012/04/17/374939.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Tue, 17 Apr 2012 08:51:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2012/04/17/374939.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/374939.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2012/04/17/374939.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/374939.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/374939.html</trackback:ping><description><![CDATA[<strong>工程下载</strong>：<div><a title="http://115.com/file/e76qy5z1" href="http://115.com/file/e76qy5z1">http://115.com/file/e76qy5z1</a></div>本工程适用于MyEclipse<br /><br /><strong>WAR文件下载</strong>：<div><a title="http://115.com/file/behpzdxf" href="http://115.com/file/behpzdxf">http://115.com/file/behpzdxf</a></div>本War已经与WAS6.1测试过<br /><br /><strong>一些重要的代码</strong>：<br /><div>appctx.xml</div><span style="color: #0000FF; ">&lt;?</span><span style="color: #FF00FF; ">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000FF; ">?&gt;</span><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #000000; "></span><span style="color: #0000FF; ">&lt;!</span><span style="color: #FF00FF; ">DOCTYPE&nbsp;beans&nbsp;PUBLIC&nbsp;"-//SPRING//DTD&nbsp;BEAN//EN"&nbsp;"http://www.springframework.org/dtd/spring-beans.dtd"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">beans</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bean&nbsp;</span><span style="color: #FF0000; ">id</span><span style="color: #0000FF; ">="userService"</span><span style="color: #FF0000; ">&nbsp;class</span><span style="color: #0000FF; ">="com.service.UserService"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">bean</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br /><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">beans</span><span style="color: #0000FF; ">&gt;</span></div><div><br /><strong>UserController.java</strong></div><span style="color: #0000FF; ">package</span>&nbsp;com.controller;<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.springframework.beans.factory.annotation.Autowired;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.springframework.stereotype.Controller;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.springframework.web.bind.annotation.RequestMapping;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.springframework.web.servlet.ModelAndView;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;com.domain.User;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;com.service.UserService;<br /><br />@Controller<br />@RequestMapping(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/user</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;UserController{<br />&nbsp;&nbsp;&nbsp;&nbsp;@Autowired<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;UserService&nbsp;userService;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;@RequestMapping(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/register</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;ModelAndView&nbsp;createUser(User&nbsp;user){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userService.register(user);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ModelAndView&nbsp;mav</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;ModelAndView();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mav.setViewName(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">registerOk</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mav.addObject(user);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;mav;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;@RequestMapping(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/login</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;ModelAndView&nbsp;login(User&nbsp;user){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userService.login(user);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ModelAndView&nbsp;mav</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;ModelAndView();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mav.setViewName(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">loginOk</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mav.addObject(user);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;mav;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div><br /><div><strong>User.java</strong></div><span style="color: #0000FF; ">package</span>&nbsp;com.domain;<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #000000; "><br /><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;User{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;String&nbsp;userName;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;String&nbsp;userPswd;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;getUserName()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;userName;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;setUserName(String&nbsp;userName)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.userName&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;userName;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;getUserPswd()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;userPswd;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;setUserPswd(String&nbsp;userPswd)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.userPswd&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;userPswd;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div><br /><div><strong>UserService.java</strong><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;com.service;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;com.domain.User;<br /><br /><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;UserService{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;login(User&nbsp;user){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;register(User&nbsp;user){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div></div><strong>spring-servlet.xml</strong><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;?</span><span style="color: #FF00FF; ">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000FF; ">?&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">beans&nbsp;</span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/beans"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000FF; ">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #FF0000; ">&nbsp;xmlns:p</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/p"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xmlns:context</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/context"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/beans&nbsp;http://www.springframework.org/schema/beans/spring-beans-3.0.xsd&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/aop&nbsp;http://www.springframework.org/schema/aop/spring-aop-3.0.xsd&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/tx&nbsp;http://www.springframework.org/schema/tx/spring-tx-3.0.xsd&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/context&nbsp;http://www.springframework.org/schema/context/spring-context-3.0.xsd"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">context:annotation-config&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;扫描&nbsp;com.controller下标记了@Controller注解的类&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">context:component-scan&nbsp;</span><span style="color: #FF0000; ">base-package</span><span style="color: #0000FF; ">="com.controller"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;启动Spring&nbsp;MVC的注解功能，完成请求和注解POJO的映射&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bean&nbsp;</span><span style="color: #FF0000; ">class</span><span style="color: #0000FF; ">="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;视图名称解析器&nbsp;p:prefix前缀是路径,p:suffix是扩展名</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bean<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF0000; ">class</span><span style="color: #0000FF; ">="org.springframework.web.servlet.view.InternalResourceViewResolver"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p:prefix</span><span style="color: #0000FF; ">="/"</span><span style="color: #FF0000; ">&nbsp;p:suffix</span><span style="color: #0000FF; ">=".jsp"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bean&nbsp;</span><span style="color: #FF0000; ">id</span><span style="color: #0000FF; ">="multipartResolver"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class</span><span style="color: #0000FF; ">="org.springframework.web.multipart.commons.CommonsMultipartResolver"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p:defaultEncoding</span><span style="color: #0000FF; ">="utf-8"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">beans</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp; <br /></span></div><br /><div><strong>web.xml</strong></div><span style="color: #0000FF; ">&lt;?</span><span style="color: #FF00FF; ">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000FF; ">?&gt;</span><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #000000; "></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">web-app&nbsp;</span><span style="color: #FF0000; ">version</span><span style="color: #0000FF; ">="2.5"</span><span style="color: #FF0000; ">&nbsp;xmlns</span><span style="color: #0000FF; ">="http://java.sun.com/xml/ns/javaee"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000FF; ">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000FF; ">="http://java.sun.com/xml/ns/javaee&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">display-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">SpringMVCSample01</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">display-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">welcome-file-list</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">welcome-file</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">index.jsp</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">welcome-file</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">welcome-file-list</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">context-param</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">param-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">contextConfigLocation</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">param-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">param-value</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">classpath:appctx.xml</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">param-value</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">context-param</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">listener</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">listener-class</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">org.springframework.web.context.ContextLoaderListener</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">listener-class</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">listener</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">servlet</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">servlet-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">spring</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">servlet-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">servlet-class</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">org.springframework.web.servlet.DispatcherServlet</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">servlet-class</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">load-on-startup</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">1</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">load-on-startup</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">servlet</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">servlet-mapping</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">servlet-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">spring</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">servlet-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">url-pattern</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">*.html</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">url-pattern</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">servlet-mapping</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">web-app</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span></div><br /><div><strong>login.jsp</strong><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="background-color: #FFFF00; color: #000000; ">&lt;%</span><span style="background-color: #F5F5F5; color: #000000; ">@&nbsp;page&nbsp;contentType</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">text/html;&nbsp;charset=UTF-8</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #FFFF00; color: #000000; ">%&gt;</span><span style="color: #000000; "><br /></span><span style="background-color: #FFFF00; color: #000000; ">&lt;%</span><span style="background-color: #F5F5F5; color: #000000; ">@&nbsp;taglib&nbsp;uri</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">http://java.sun.com/jsp/jstl/core</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;prefix</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">c</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #FFFF00; color: #000000; ">%&gt;</span><span style="color: #000000; "><br /><br /></span><span style="color: #0000FF; ">&lt;!</span><span style="color: #FF00FF; ">DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01&nbsp;Transitional//EN"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">html</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">head</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">title</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">登录页面</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">title</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">head</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">body</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;登录</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">br</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">form&nbsp;</span><span style="color: #FF0000; ">method</span><span style="color: #0000FF; ">="post"</span><span style="color: #FF0000; ">&nbsp;action</span><span style="color: #0000FF; ">="&lt;c:url&nbsp;value="</span><span style="color: #FF0000; ">/user/login.html"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">input&nbsp;</span><span style="color: #FF0000; ">type</span><span style="color: #0000FF; ">="text"</span><span style="color: #FF0000; ">&nbsp;name</span><span style="color: #0000FF; ">="userName"</span><span style="color: #0000FF; ">/&gt;&lt;</span><span style="color: #800000; ">br</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">input&nbsp;</span><span style="color: #FF0000; ">type</span><span style="color: #0000FF; ">="password"</span><span style="color: #FF0000; ">&nbsp;name</span><span style="color: #0000FF; ">="userPswd"</span><span style="color: #0000FF; ">/&gt;&lt;</span><span style="color: #800000; ">br</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">input&nbsp;</span><span style="color: #FF0000; ">type</span><span style="color: #0000FF; ">="submit"</span><span style="color: #FF0000; ">&nbsp;name</span><span style="color: #0000FF; ">="提交"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">form</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">body</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">html</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span></div></div><strong>loginOk.jsp</strong><br /><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="background-color: #FFFF00; color: #000000; ">&lt;%</span><span style="background-color: #F5F5F5; color: #000000; ">@&nbsp;page&nbsp;contentType</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">text/html;&nbsp;charset=UTF-8</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #FFFF00; color: #000000; ">%&gt;</span><span style="color: #000000; "><br /></span><span style="background-color: #FFFF00; color: #000000; ">&lt;%</span><span style="background-color: #F5F5F5; color: #000000; ">@&nbsp;taglib&nbsp;uri</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">http://java.sun.com/jsp/jstl/core</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;prefix</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">c</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #FFFF00; color: #000000; ">%&gt;</span><span style="color: #000000; "><br /><br /></span><span style="color: #0000FF; ">&lt;!</span><span style="color: #FF00FF; ">DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01&nbsp;Transitional//EN"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">html</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">head</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">title</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">登录成功页面</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">title</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">head</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">body</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用户${user.userName}登录成功<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">body</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">html</span><span style="color: #0000FF; ">&gt;</span></div></div><img src ="http://www.blogjava.net/heyang/aggbug/374939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2012-04-17 16:51 <a href="http://www.blogjava.net/heyang/archive/2012/04/17/374939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IMSample下载地址</title><link>http://www.blogjava.net/heyang/archive/2012/04/10/373699.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Tue, 10 Apr 2012 06:01:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2012/04/10/373699.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/373699.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2012/04/10/373699.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/373699.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/373699.html</trackback:ping><description><![CDATA[时不时有人说ImSample下载失效了，搞了个新地址，有要的自己去下载吧。<br /><a href="http://www.blogjava.net/Files/heyang/IMSample2012-4-11.rar">http://www.blogjava.net/Files/heyang/IMSample2012-4-11.rar</a><img src ="http://www.blogjava.net/heyang/aggbug/373699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2012-04-10 14:01 <a href="http://www.blogjava.net/heyang/archive/2012/04/10/373699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sqltoolbox1.87bate2 版下载</title><link>http://www.blogjava.net/heyang/archive/2012/03/27/372786.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Tue, 27 Mar 2012 05:36:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2012/03/27/372786.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/372786.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2012/03/27/372786.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/372786.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/372786.html</trackback:ping><description><![CDATA[下载地址：<br /><div><a href="http://www.llxxb.com/upload/sqltoolbox1.87bate2_2012-3-26.rar">http://www.llxxb.com/upload/sqltoolbox1.87bate2_2012-3-26.rar</a><br /><br />感谢雷振杰提供空间。</div><img src ="http://www.blogjava.net/heyang/aggbug/372786.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2012-03-27 13:36 <a href="http://www.blogjava.net/heyang/archive/2012/03/27/372786.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用POI进行Excel文件下载的示例工程</title><link>http://www.blogjava.net/heyang/archive/2012/02/01/369168.html</link><dc:creator>何杨</dc:creator><author>何杨</author><pubDate>Wed, 01 Feb 2012 07:48:00 GMT</pubDate><guid>http://www.blogjava.net/heyang/archive/2012/02/01/369168.html</guid><wfw:comment>http://www.blogjava.net/heyang/comments/369168.html</wfw:comment><comments>http://www.blogjava.net/heyang/archive/2012/02/01/369168.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heyang/comments/commentRss/369168.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heyang/services/trackbacks/369168.html</trackback:ping><description><![CDATA[说明：<br />1.下载http://www.apache.org/dyn/closer.cgi/poi/release/bin/poi-bin-3.7-20101029.zip后，将poi-3.7目录下的jar包放入lib目录， 再将此工程载入Eclipse/MyEclipse即可。<br />2.界面中文本框供输出数据量用，在我的T410上测试数据量在3.5W~3.6W之间，再多就报java.lang.OutOfMemoryError错误。附带提一下输出数据量的问题，如果修饰单元格的代码越简单，那么能输出的数据就越多，反之数据就少了。<br />3.主要代码如下：<br /><br />Sevlet代码：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;com.heyang.action;<br /><br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.BufferedOutputStream;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.servlet.ServletException;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.servlet.ServletOutputStream;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.servlet.http.HttpServlet;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.servlet.http.HttpServletRequest;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.servlet.http.HttpServletResponse;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.apache.poi.hssf.usermodel.HSSFWorkbook;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;com.heyang.service.DownloadService;<br /><br /></span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />&nbsp;*&nbsp;POI下载的Servlet<br />&nbsp;*&nbsp;</span><span style="color: #808080; ">@author</span><span style="color: #008000; ">&nbsp;heyang<br />&nbsp;*<br />&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;DownloadServlet&nbsp;</span><span style="color: #0000FF; ">extends</span><span style="color: #000000; ">&nbsp;HttpServlet&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">final</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;serialVersionUID&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">56890894234786L</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;doPost(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;ServletException,&nbsp;java.io.IOException&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;fileName</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">download.xls</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setHeader(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Content-disposition</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">attachment;&nbsp;filename=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">fileName);</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;设定输出文件头&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setContentType(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">application/msexcel</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;定义输出类型&nbsp;</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;rowCount</span><span style="color: #000000; ">=</span><span style="color: #000000; ">Integer.parseInt(request.getParameter(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">rowCount</span><span style="color: #000000; ">"</span><span style="color: #000000; ">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;表头行</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;headers</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;String[]{</span><span style="color: #000000; ">"</span><span style="color: #000000; ">更新ID</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">账期</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">基站编号</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">基站名称</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">站点状态</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">部门名称</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">站点类型</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">占用类型</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">预提(元)</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">未核销金额</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">上期未核销</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">开始月份</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">结束月份</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">上期抄表数</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">本期抄表数</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">电价</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">电量</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">本期报账(元)</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">补提(元)</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">预提汇总(元)</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">成本中心</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">专业</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">本期报账单号</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">基站类别</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">线损</span><span style="color: #000000; ">"</span><span style="color: #000000; ">};<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DownloadService&nbsp;service</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;DownloadService();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HSSFWorkbook&nbsp;workbook</span><span style="color: #000000; ">=</span><span style="color: #000000; ">service.generateWorkbook(rowCount,&nbsp;headers.length);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ServletOutputStream&nbsp;out&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;response.getOutputStream();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedOutputStream&nbsp;bos&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;BufferedOutputStream(out);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workbook.write(bos);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bos.flush();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bos.close();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">(Exception&nbsp;ex){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ex.printStackTrace();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;doGet(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;ServletException,&nbsp;java.io.IOException&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doPost(request,&nbsp;response);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span></div><br />Service代码：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;com.heyang.service;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.apache.poi.hssf.usermodel.HSSFCell;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.apache.poi.hssf.usermodel.HSSFRow;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.apache.poi.hssf.usermodel.HSSFSheet;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.apache.poi.hssf.usermodel.HSSFWorkbook;<br /><br /><br /></span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />&nbsp;*&nbsp;下载服务类<br />&nbsp;*&nbsp;<br />&nbsp;*&nbsp;</span><span style="color: #808080; ">@author</span><span style="color: #008000; ">&nbsp;heyang<br />&nbsp;*<br />&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;DownloadService{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;生成工作簿对象<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&nbsp;rowCount<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&nbsp;columnCount<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@return</span><span style="color: #008000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;HSSFWorkbook&nbsp;generateWorkbook(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;rowCount,</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;columnCount)&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;Exception{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HSSFWorkbook&nbsp;workbook&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;HSSFWorkbook();&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">产生工作簿对象</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HSSFSheet&nbsp;sheet&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;workbook.createSheet();&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">产生工作表对象</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;value</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HSSFRow&nbsp;row&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HSSFCell&nbsp;cell&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;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; ">rowCount;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;sheet.createRow(i);</span><span style="color: #008000; ">//</span><span style="color: #008000; ">创建一行</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;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; ">columnCount;j</span><span style="color: #000000; ">++</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value</span><span style="color: #000000; ">=</span><span style="color: #000000; ">""</span><span style="color: #000000; ">+</span><span style="color: #000000; ">i</span><span style="color: #000000; ">+</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">j;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cell&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;row.createCell(j);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cell.setCellValue(value);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cell&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cell&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;workbook;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div><br />4.工程下载地址：<br /><div><a href="http://www.blogjava.net/Files/heyang/PoiDownloadSample2012-2-1_15-42-17.zip ">http://www.blogjava.net/Files/heyang/PoiDownloadSample2012-2-1_15-42-17.zip </a></div><img src ="http://www.blogjava.net/heyang/aggbug/369168.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heyang/" target="_blank">何杨</a> 2012-02-01 15:48 <a href="http://www.blogjava.net/heyang/archive/2012/02/01/369168.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>