﻿<?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-学习笔迹-随笔分类-OpenSource</title><link>http://www.blogjava.net/chenlb/category/20583.html</link><description>好记性不如烂笔头!</description><language>zh-cn</language><lastBuildDate>Fri, 11 Apr 2008 04:58:21 GMT</lastBuildDate><pubDate>Fri, 11 Apr 2008 04:58:21 GMT</pubDate><ttl>60</ttl><item><title>log4j.properties</title><link>http://www.blogjava.net/chenlb/archive/2008/04/11/192138.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Fri, 11 Apr 2008 04:01:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2008/04/11/192138.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/192138.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2008/04/11/192138.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/192138.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/192138.html</trackback:ping><description><![CDATA[<p><br />
log4j.properties文件</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">log4j.appender.stdout</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.ConsoleAppender<br />
log4j.appender.stdout.layout</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.PatternLayout<br />
log4j.appender.stdout.layout.ConversionPattern</span><span style="color: #000000">=</span><span style="color: #000000">%-4r&nbsp;%d&nbsp;%-5p&nbsp;%l&nbsp;-&nbsp;%m%n<br />
log4j.logger.net.blogjava.chenlb</span><span style="color: #000000">=</span><span style="color: #000000">DEBUG<br />
log4j.rootLogger</span><span style="color: #000000">=</span><span style="color: #000000">INFO</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;stdout</span></div>
<br />
解释下pattern<br />
<br />
<table cellspacing="2" cellpadding="2" width="500" border="0">
    <tbody>
        <tr>
            <td>r</td>
            <td>开始到日志的毫秒数</td>
        </tr>
        <tr>
            <td>d</td>
            <td>日志的时间</td>
        </tr>
        <tr>
            <td>p</td>
            <td>日志级别</td>
        </tr>
        <tr>
            <td>l</td>
            <td>包括类全名.方法还有在第几行,这样在eclipse的Console里点可以直接转到源码</td>
        </tr>
        <tr>
            <td>m</td>
            <td>日志的内容</td>
        </tr>
        <tr>
            <td>n</td>
            <td>换行</td>
        </tr>
        <tr>
            <td>c</td>
            <td>类全名</td>
        </tr>
        <tr>
            <td>M</td>
            <td>日志所在的方法名</td>
        </tr>
        <tr>
            <td>L</td>
            <td>日志所在的行号</td>
        </tr>
        <tr>
            <td>t</td>
            <td>可能是线程启动的方法名</td>
        </tr>
        <tr>
            <td>F</td>
            <td>文件名,包括后缀</td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/chenlb/aggbug/192138.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2008-04-11 12:01 <a href="http://www.blogjava.net/chenlb/archive/2008/04/11/192138.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>solr on tomcat</title><link>http://www.blogjava.net/chenlb/archive/2008/03/25/188459.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Tue, 25 Mar 2008 04:40:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2008/03/25/188459.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/188459.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2008/03/25/188459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/188459.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/188459.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 在Tomcat下部署solr自带的例子<br />
<br />
下载：<br />
<a href="http://apache.mirror.phpchina.com/lucene/solr/1.2/apache-solr-1.2.0.zip">apache-solr-1.2.0.zip</a>&nbsp;<a href="http://apache.mirror.phpchina.com/lucene/solr/1.2/apache-solr-1.2.0.zip">http://apache.mirror.phpchina.com/lucene/solr/1.2/apache-solr-1.2.0.zip</a><br />
<a href="http://apache.mirror.phpchina.com/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.zip">apache-tomcat-5.5.26.zip</a>&nbsp; <a href="http://apache.mirror.phpchina.com/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.zip">http://apache.mirror.phpchina.com/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.zip</a> <br />
<br />
1.solr解压到E:\solr。tomcat解压到e:\tomcat。<br />
<br />
2.把E:\solr\dist\apache-solr-1.2.0.war放到E:\tomcat\webapps目录下改名为solr.war。<br />
<br />
3.把E:\solr\example目录中的solr文件夹复制到E:\tomcat\目录下。<br />
<br />
4.在E:\tomcat\conf\Catalina\localhost目录下创建一个solr.xml文件，内容如下：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><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 />
<br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Context&nbsp;</span><span style="color: #ff0000">docBase</span><span style="color: #0000ff">=""</span><span style="color: #ff0000">&nbsp;debug</span><span style="color: #0000ff">="0"</span><span style="color: #ff0000">&nbsp;crossContext</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Environment&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="solr/home"</span><span style="color: #ff0000">&nbsp;type</span><span style="color: #0000ff">="java.lang.String"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="e:/tomcat/solr"</span><span style="color: #ff0000">&nbsp;override</span><span style="color: #0000ff">="true"</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">Context</span><span style="color: #0000ff">&gt;</span></div>
<br />
5.启动Tomcat。可以打开<a href="http://localhost:8080/solr/admin">http://localhost:8080/solr/admin</a><br />
<br />
也可以不用JNDI方式。第3步把它复制到E:\tomcat\bin目录下，就不用第4步了。<br />
<br />
我部署时困了很久，启动Tomcat后<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">org.apache.catalina.core.StandardContext&nbsp;start<br />
严重:&nbsp;Error&nbsp;filterStart<br />
org.apache.catalina.core.StandardContext&nbsp;start<br />
严重:&nbsp;Context&nbsp;</span><span style="font-weight: bold; color: #800000">[</span><span style="color: #800000">/solr</span><span style="font-weight: bold; color: #800000">]</span><span style="color: #000000">&nbsp;startup&nbsp;failed&nbsp;due&nbsp;to&nbsp;previous&nbsp;errors</span></div>
<br />
老是怀疑solr/home配置错了。但启动日志又有Loaded SolrConfig: solrconfig.xml。又换了solr版本，又换tomcat版本。还是出现上面的错误。只是郁闷。后来怀疑jdk了。JAVA_HOME改前几天我安装的，然后一片惊喜，可以启动了。那JDK是机子本来就有的，怀疑就没有安装好，或版本太低了是：(build 1.5.0-b64)，我安装的是&nbsp;(build 1.5.0_15-b04)。<br />
<br />
终于解决，就写下来。高兴<em>ing... 吃饭。</em>
<img src ="http://www.blogjava.net/chenlb/aggbug/188459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2008-03-25 12:40 <a href="http://www.blogjava.net/chenlb/archive/2008/03/25/188459.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dom4j UTF-8 乱码 Invalid byte 2 of 2-byte UTF-8 sequence</title><link>http://www.blogjava.net/chenlb/archive/2007/09/06/143040.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Wed, 05 Sep 2007 16:10:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/09/06/143040.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/143040.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/09/06/143040.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/143040.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/143040.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; UTF-8修改(写xml文件乱码)，报Invalid byte 2 of 2-byte UTF-8 sequence错误。写gb2312和gbk没事，写xml是网上的例子，用了FileWirter。然后找到
<h1><a class="headermaintitle" id="Header1_HeaderTitle" href="http://blog.csdn.net/redez/">~临风轻扬~</a>&nbsp;</h1>
<p>博客：<a href="http://blog.csdn.net/redez/archive/2005/11/11/527897.aspx">http://blog.csdn.net/redez/archive/2005/11/11/527897.aspx</a><br />
<br />
说到用FileOutPutStream<br />
<br />
看例子(是个测试类，只给出这个修改方法，测试类请看——dom4j 读 xml：<a href="http://www.blogjava.net/chenlb/archive/2007/09/05/143036.html">http://www.blogjava.net/chenlb/archive/2007/09/05/143036.html</a>)：</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee" twffan="done"><span style="color: #000000" twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">void</span><span style="color: #000000" twffan="done">&nbsp;testModXml()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;list&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;document.selectNodes(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">/company/tel</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">&nbsp;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random&nbsp;rm&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done">&nbsp;Random();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">for</span><span style="color: #000000" twffan="done">(Element&nbsp;tel&nbsp;:&nbsp;(List</span><span style="color: #000000" twffan="done">&lt;</span><span style="color: #000000" twffan="done">Element</span><span style="color: #000000" twffan="done">&gt;</span><span style="color: #000000" twffan="done">)&nbsp;list)&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;logger.info(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">tel:&nbsp;</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">tel.getTextTrim());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tel.setText(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">020-12345678-</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">rm.nextInt(</span><span style="color: #000000" twffan="done">100</span><span style="color: #000000" twffan="done">));<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;Element&nbsp;root&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;document.getRootElement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">for</span><span style="color: #000000" twffan="done">(</span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done">&nbsp;i</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">0</span><span style="color: #000000" twffan="done">;&nbsp;i</span><span style="color: #000000" twffan="done">&lt;</span><span style="color: #000000" twffan="done">2</span><span style="color: #000000" twffan="done">;&nbsp;i</span><span style="color: #000000" twffan="done">++</span><span style="color: #000000" twffan="done">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element&nbsp;tel&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;root.addElement(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">tel</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tel.setText(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">020-12345678-</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">rm.nextInt(</span><span style="color: #000000" twffan="done">100</span><span style="color: #000000" twffan="done">));<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;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XMLWriter&nbsp;writer;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">try</span><span style="color: #000000" twffan="done">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputFormat&nbsp;format&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;OutputFormat.createPrettyPrint();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">format.setEncoding("UTF-8");</span><span style="color: #008000" twffan="done"><br />
</span><span style="color: #000000" twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileOutputStream&nbsp;fos&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done">&nbsp;FileOutputStream(xmlFile);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">writer&nbsp;=&nbsp;new&nbsp;XMLWriter(new&nbsp;FileWriter(xmlFile),&nbsp;format);</span><span style="color: #008000" twffan="done"><br />
</span><span style="color: #000000" twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done">&nbsp;XMLWriter(fos,&nbsp;format);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.write(document);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff" twffan="done">catch</span><span style="color: #000000" twffan="done">&nbsp;(IOException&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">&nbsp;TODO&nbsp;自动生成&nbsp;catch&nbsp;块</span><span style="color: #008000" twffan="done"><br />
</span><span style="color: #000000" twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.error(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">修改xml文件失败!</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<p><br />
&nbsp;</p>
<img src ="http://www.blogjava.net/chenlb/aggbug/143040.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-09-06 00:10 <a href="http://www.blogjava.net/chenlb/archive/2007/09/06/143040.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dom4j 读 xml 文件</title><link>http://www.blogjava.net/chenlb/archive/2007/09/05/143036.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Wed, 05 Sep 2007 15:58:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/09/05/143036.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/143036.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/09/05/143036.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/143036.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/143036.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 由于要保存一些项目中只有一个而且很少改的，用数据库存储太浪费了，用xml保存吧。<br />
<br />
&nbsp;1.现在来看下读xml，xml文件如下：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee" twffan="done"><span style="color: #0000ff" twffan="done">&lt;?</span><span style="color: #ff00ff" twffan="done">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000ff" twffan="done">?&gt;</span><span style="color: #000000" twffan="done"><br />
<br />
</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">company</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">tel</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">020-12345678-66</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">tel</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">tel</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">020-12345678-85</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">tel</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">introduce</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;![CDATA[</span><span style="color: #808080" twffan="done"><br />
&lt;br/&gt;&lt;h1&gt;公司简介&lt;/h1&gt;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">]]&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">introduce</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">&nbsp;&nbsp;<br />
</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">company</span><span style="color: #0000ff" twffan="done">&gt;</span></div>
<br />
2.用dom4j 读，<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee" twffan="done"><span style="color: #0000ff" twffan="done">package</span><span style="color: #000000" twffan="done">&nbsp;cn.rentbus;<br />
<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;java.io.File;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;java.io.FileOutputStream;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;java.io.IOException;<br />
//import java.io.FileWriter;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;java.util.Iterator;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;java.util.List;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;java.util.Random;<br />
<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;junit.framework.TestCase;<br />
<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;org.apache.commons.logging.Log;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;org.apache.commons.logging.LogFactory;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;org.dom4j.Document;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;org.dom4j.Element;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;org.dom4j.Node;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;org.dom4j.io.OutputFormat;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;org.dom4j.io.SAXReader;<br />
</span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done">&nbsp;org.dom4j.io.XMLWriter;<br />
<br />
</span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">class</span><span style="color: #000000" twffan="done">&nbsp;Dom4jXmlTest&nbsp;</span><span style="color: #0000ff" twffan="done">extends</span><span style="color: #000000" twffan="done">&nbsp;TestCase&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">protected</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">final</span><span style="color: #000000" twffan="done">&nbsp;Log&nbsp;logger&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;LogFactory.getLog(getClass());<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done">&nbsp;SAXReader&nbsp;reader;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done">&nbsp;Document&nbsp;document;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done">&nbsp;File&nbsp;xmlFile;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">protected</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">void</span><span style="color: #000000" twffan="done">&nbsp;setUp()&nbsp;</span><span style="color: #0000ff" twffan="done">throws</span><span style="color: #000000" twffan="done">&nbsp;Exception&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlFile&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done">&nbsp;File(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">WEB-INF/company.xml</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reader&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done">&nbsp;SAXReader();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;reader.read(xmlFile);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">protected</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">void</span><span style="color: #000000" twffan="done">&nbsp;tearDown()&nbsp;</span><span style="color: #0000ff" twffan="done">throws</span><span style="color: #000000" twffan="done">&nbsp;Exception&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">super</span><span style="color: #000000" twffan="done">.tearDown();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">void</span><span style="color: #000000" twffan="done">&nbsp;testReadXml()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element&nbsp;root&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;document.getRootElement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">for</span><span style="color: #000000" twffan="done">&nbsp;(&nbsp;Iterator&nbsp;i&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;root.elementIterator(&nbsp;</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">tel</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">&nbsp;);&nbsp;i.hasNext();&nbsp;)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element&nbsp;tel&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;(Element)&nbsp;i.next();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.info(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">tel:&nbsp;</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">tel.getTextTrim());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">&nbsp;do&nbsp;something</span><span style="color: #008000" twffan="done"><br />
</span><span style="color: #000000" twffan="done">&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;logger.info(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">====&nbsp;XPath&nbsp;use&nbsp;on&nbsp;tel&nbsp;====</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;list&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;document.selectNodes(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">/company/tel</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">&nbsp;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">for</span><span style="color: #000000" twffan="done">(Element&nbsp;tel&nbsp;:&nbsp;(List</span><span style="color: #000000" twffan="done">&lt;</span><span style="color: #000000" twffan="done">Element</span><span style="color: #000000" twffan="done">&gt;</span><span style="color: #000000" twffan="done">)&nbsp;list)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.info(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">tel:&nbsp;</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">tel.getTextTrim());<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" twffan="done">for</span><span style="color: #000000" twffan="done">&nbsp;(&nbsp;Iterator&nbsp;i&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;root.elementIterator(&nbsp;</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">introduce</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">&nbsp;);&nbsp;i.hasNext();&nbsp;)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element&nbsp;introduce&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;(Element)&nbsp;i.next();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.info(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">introduce:&nbsp;</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">introduce.getTextTrim());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">&nbsp;do&nbsp;something</span><span style="color: #008000" twffan="done"><br />
</span><span style="color: #000000" twffan="done">&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;logger.info(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">====&nbsp;XPath&nbsp;use&nbsp;on&nbsp;introduce&nbsp;====</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;node&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;document.selectSingleNode(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">/company/introduce</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;introduce&nbsp;</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">&nbsp;node.getText();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.info(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">introduce:&nbsp;</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">introduce.trim());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
}<br />
<br />
</span></div>
<br />
注意：如果用到XPath，需要jaxen-1.1-beta-6.jar(发本包/lib下有)<br />
<br />
我的环境：<br />
dom4j-1.6.1.jar<br />
jaxen-1.1-beta-6.jar<br />
<img src ="http://www.blogjava.net/chenlb/aggbug/143036.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-09-05 23:58 <a href="http://www.blogjava.net/chenlb/archive/2007/09/05/143036.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>send email with velocity and spring 完整示例</title><link>http://www.blogjava.net/chenlb/archive/2007/08/21/138437.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Tue, 21 Aug 2007 11:43:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/08/21/138437.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/138437.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/08/21/138437.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/138437.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/138437.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 由于项目里要发邮件，用了spring 和 velocity 模板。写下来以后可以看，好记性不如博客。<br>版本说明下：<br>spring 2.0.6<br>velocity 1.5<br>javamail 用 spring/lib下的<br><br>1.封装邮件信息类：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000">&nbsp;com.chenlb.mail;<br><br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.util.Map;<br><br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;javax.mail.MessagingException;<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;javax.mail.internet.MimeMessage;<br><br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;org.apache.commons.logging.Log;<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;org.apache.commons.logging.LogFactory;<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;org.apache.velocity.app.VelocityEngine;<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;org.springframework.mail.MailException;<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;org.springframework.mail.javamail.JavaMailSender;<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;org.springframework.mail.javamail.MimeMessageHelper;<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;org.springframework.ui.velocity.VelocityEngineUtils;<br><br></span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br>&nbsp;*&nbsp;邮件发送器<br>&nbsp;*&nbsp;@作者&nbsp;chenlb<br>&nbsp;*&nbsp;@创建时间&nbsp;2007-7-28&nbsp;下午03:35:31&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;VelocityTemplateMailMessage&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000">&nbsp;Log&nbsp;logger&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;LogFactory.getLog(getClass());<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;JavaMailSender&nbsp;javaMailSender;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;VelocityEngine&nbsp;velocityEngine;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;String&nbsp;from;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;String&nbsp;title;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;String&nbsp;encoding;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;String&nbsp;templateLocation;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;String[]&nbsp;toEmails;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Map&nbsp;model;<br><br><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;send()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MimeMessage&nbsp;msg&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;javaMailSender.createMimeMessage();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MimeMessageHelper&nbsp;helper&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;MimeMessageHelper(msg);<br>&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">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;helper.setFrom(from);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;helper.setSubject(title);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;helper.setTo(toEmails);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;helper.setText(getMessage(),&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;//如果发的不是html内容去掉true参数<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;javaMailSender.send(msg);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(MessagingException&nbsp;e)&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;TODO&nbsp;自动生成&nbsp;catch&nbsp;块</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(logger.isWarnEnabled())&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.warn(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">邮件信息导常!&nbsp;邮件标题为:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">title);<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: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">e.printStackTrace();</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(MailException&nbsp;me)&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;TODO:&nbsp;handle&nbsp;exception</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(logger.isWarnEnabled())&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.warn(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">发送邮件失败!&nbsp;邮件标题为:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">title);<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: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">false</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;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br>&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;邮件模板中得到信息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@return</span><span style="COLOR: #008000">&nbsp;返回特发送的内容<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">private</span><span style="COLOR: #000000">&nbsp;String&nbsp;getMessage()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;templateLocation,&nbsp;encoding,&nbsp;model);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;String[]&nbsp;createToEmail(String&nbsp;to)&nbsp;{<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">new</span><span style="COLOR: #000000">&nbsp;String[]&nbsp;{to};<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">void</span><span style="COLOR: #000000">&nbsp;setToEmail(String&nbsp;to)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setToEmails(createToEmail(to));<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">void</span><span style="COLOR: #000000">&nbsp;setJavaMailSender(JavaMailSender&nbsp;javaMailSender)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.javaMailSender&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;javaMailSender;<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">void</span><span style="COLOR: #000000">&nbsp;setVelocityEngine(VelocityEngine&nbsp;velocityEngine)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.velocityEngine&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;velocityEngine;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><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;setEncoding(String&nbsp;encoding)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.encoding&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;encoding;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><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;setModel(Map&nbsp;model)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.model&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;model;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><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;setTemplateLocation(String&nbsp;templateLocation)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.templateLocation&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;templateLocation;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><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;setTitle(String&nbsp;title)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.title&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;title;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><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;setToEmails(String[]&nbsp;toEmails)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.toEmails&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;toEmails;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><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;setFrom(String&nbsp;from)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.from&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;from;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;getTemplateLocation()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;templateLocation;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}</span></div>
<br>2.spring配置文件，applictionContext-mail.xml：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><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: #ff00ff">DOCTYPE&nbsp;beans&nbsp;PUBLIC&nbsp;"-//SPRING//DTD&nbsp;BEAN&nbsp;2.0//EN"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"dtd/spring-beans-2.0.dtd"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;http://www.springframework.org/&nbsp;</span><span style="COLOR: #008000">--&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><br></span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;属性文件加载&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">id</span><span style="COLOR: #0000ff">="propertyConfigurer"</span><span style="COLOR: #ff0000">&nbsp;class</span><span style="COLOR: #0000ff">="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"</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">="locations"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">classpath:mail.properties</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&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"><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"><br><br></span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;邮件发送器&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">id</span><span style="COLOR: #0000ff">="mailSender"</span><span style="COLOR: #ff0000">&nbsp;class</span><span style="COLOR: #0000ff">="org.springframework.mail.javamail.JavaMailSenderImpl"</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">="host"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="${mail.host}"</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;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="username"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="${mail.username}"</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;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="password"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="${mail.password}"</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;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="defaultEncoding"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="UTF-8"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="javaMailProperties"</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">props</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">prop&nbsp;</span><span style="COLOR: #ff0000">key</span><span style="COLOR: #0000ff">="mail.smtp.auth"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">${mail.smtp.auth}</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">prop</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">prop&nbsp;</span><span style="COLOR: #ff0000">key</span><span style="COLOR: #0000ff">="mail.smtp.timeout"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">${mail.smtp.timeout}</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">prop</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">props</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"><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"><br>&nbsp;&nbsp;&nbsp;&nbsp;<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">="velocityEngine"</span><span style="COLOR: #ff0000">&nbsp;class</span><span style="COLOR: #0000ff">="org.springframework.ui.velocity.VelocityEngineFactoryBean"</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">="resourceLoaderPath"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="classpath:velocity"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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"><br>&nbsp;&nbsp;&nbsp;&nbsp;<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">="templateMail"</span><span style="COLOR: #ff0000">&nbsp;class</span><span style="COLOR: #0000ff">="com.chenlb.mail.VelocityTemplateMailMessage"</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">="javaMailSender"</span><span style="COLOR: #ff0000">&nbsp;ref</span><span style="COLOR: #0000ff">="mailSender"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="from"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="${mail.from}"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="encoding"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="UTF-8"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="templateLocation"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="test.vm"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="velocityEngine"</span><span style="COLOR: #ff0000">&nbsp;ref</span><span style="COLOR: #0000ff">="velocityEngine"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="title"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="wwww.blogjava.net/chenlb"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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"><br>&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">beans</span><span style="COLOR: #0000ff">&gt;</span></div>
说明：模板文件放到classpath的velocity目录下，可自行改。<br><br>3.发送者邮件信息，mail.properties(classpath位置)：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">mail.from</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">yourname@</span><span style="COLOR: #000000">126</span><span style="COLOR: #000000">.com<br>mail.host</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">smtp</span><span style="COLOR: #000000">.126</span><span style="COLOR: #000000">.com<br>mail.password</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">yourpassword<br>mail.smtp.auth</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">true<br>mail.smtp.timeout</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">25000</span><span style="COLOR: #000000"><br>mail.username</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">yourname</span></div>
<br>4.模板文件，text.vm(classpath的velocity目录下)：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">你好！${me}&nbsp;这是模板生成的邮件。</span></div>
<br>5.使用：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">VelocityTemplateMailMessage&nbsp;vtmm&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(VelocityTemplateMailMessage)&nbsp;context.getBean(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">templateMail</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>Map</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">String,&nbsp;String</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;data&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;HashMap</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">String,&nbsp;String</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">();<br>data(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">me</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">yourname</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>vtmm.setModel(data);<br>vtmm.setToMail(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">yourOtherMail@163.com</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>vtmm.setTitle(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">mail&nbsp;with&nbsp;veloctiy&nbsp;and&nbsp;spring</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>vtmm.send();</span></div>
<p>&nbsp;</p>
<p>看下是否收到邮件了。^_^<br></p>
<img src ="http://www.blogjava.net/chenlb/aggbug/138437.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-08-21 19:43 <a href="http://www.blogjava.net/chenlb/archive/2007/08/21/138437.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>unable to find resource velocity in spring</title><link>http://www.blogjava.net/chenlb/archive/2007/08/18/137735.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Fri, 17 Aug 2007 18:11:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/08/18/137735.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/137735.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/08/18/137735.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/137735.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/137735.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; Velocity 邮件模板在Spring 中发邮件报unable to find resource 'WEB-INF/test.vm' in any resource loader导常。配置如下：</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">&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">="templateMail"</span><span style="COLOR: #ff0000">&nbsp;class</span><span style="COLOR: #0000ff">="com.chenlb.mail.VelocityTemplateMessage"</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">="javaMailSender"</span><span style="COLOR: #ff0000">&nbsp;ref</span><span style="COLOR: #0000ff">="mailSender"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="from"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="${mail.from}"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="encoding"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="UTF-8"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="templateLocation"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="WEB-INF/test.vm"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="velocityEngine"</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">bean&nbsp;</span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="org.springframework.ui.velocity.VelocityEngineFactoryBean"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">bean</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"><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">="title"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="www.blogjava.net/chenlb"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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></div>
<br>邮件内容生成如下：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,&nbsp;templateLocation,&nbsp;encoding,&nbsp;model);</span></div>
<br>但导常，说不可用的资源。<br><br>说明：VelocityEngineUtils.mergeTemplateIntoString()里的templateLocation的文件，不会像Spring一样找。然后就看Spring 的 VelocityEnginFactory API和试，最后发现<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.ui.velocity.VelocityEngineFactoryBean"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;<br></span><span>单独定义，并配置resourceLoaderPath属性即可搞定。<br><br>配置后的：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">&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">="velocityEngine"</span><span style="COLOR: #ff0000">&nbsp;class</span><span style="COLOR: #0000ff">="org.springframework.ui.velocity.VelocityEngineFactoryBean"</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">="resourceLoaderPath"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="WEB-INF/"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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"><br>&nbsp;&nbsp;&nbsp;&nbsp;<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">="templateMail"</span><span style="COLOR: #ff0000">&nbsp;class</span><span style="COLOR: #0000ff">="com.chenlb.mail.VelocityTemplateMessage"</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">="javaMailSender"</span><span style="COLOR: #ff0000">&nbsp;ref</span><span style="COLOR: #0000ff">="mailSender"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="from"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="${mail.from}"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="encoding"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="UTF-8"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="templateLocation"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="test.vm"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="velocityEngine"</span><span style="COLOR: #ff0000">&nbsp;ref</span><span style="COLOR: #0000ff">="velocityEngine"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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">="title"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="wwww.blogjava.net/chenlb"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</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></div>
<br>resourceLoaderPath是由Spring设置过的，跟平常的(Spring)文件资源一样方式引用，Spring真的太方便了。</span>
<img src ="http://www.blogjava.net/chenlb/aggbug/137735.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-08-18 02:11 <a href="http://www.blogjava.net/chenlb/archive/2007/08/18/137735.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring ehcache 之"城市"缓存</title><link>http://www.blogjava.net/chenlb/archive/2007/08/02/133988.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Thu, 02 Aug 2007 06:35:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/08/02/133988.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/133988.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/08/02/133988.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/133988.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/133988.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;先描述下我的环境eclipse 3.2.2+myeclilpse 5.5.1Spring 2.0.6,Ehcache用spring2.0.6带的1.2.4加入的jarSpring.jarcommons-logging.jarehcache-1.2.4.jarlog4j-1.2.14.jarjunit3.8.1.jar&nbsp...&nbsp;&nbsp;<a href='http://www.blogjava.net/chenlb/archive/2007/08/02/133988.html'>阅读全文</a><img src ="http://www.blogjava.net/chenlb/aggbug/133988.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-08-02 14:35 <a href="http://www.blogjava.net/chenlb/archive/2007/08/02/133988.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ehcahe 了解</title><link>http://www.blogjava.net/chenlb/archive/2007/08/02/133986.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Thu, 02 Aug 2007 06:19:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/08/02/133986.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/133986.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/08/02/133986.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/133986.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/133986.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;想学习缓存框架已经很久了，一直没做到，可能是太忙了．现在开始学习了，<br><br>1.下载<br>我下的是1.2.4<br>下载地址: <a href="http://sourceforge.net/project/showfiles.php?group_id=93232">http://sourceforge.net/project/showfiles.php?group_id=93232</a><br><br>2.看了文档,有几个核心的类要记住<br>CacheManager&nbsp;&nbsp;&nbsp;缓存管理器<br>Cache&nbsp;&nbsp;&nbsp;缓存<br>Element&nbsp;&nbsp;&nbsp;被缓存的内容<br><br>CacheManager 可以是单例,也可以是instance <br>CacheManager.create();返回单例<br>直接new 是instance<br><br>添加Cache<br>CacheManager singletonManager = CacheManager.create();<br>Cache memoryOnlyCache = new Cache("testCache", 5000, false, false, 5, 2);<br>manager.addCache(memoryOnlyCache);<br><br>得到Cache<br>Cache test = singletonManager.getCache("testCache");<br><br><br>Cache的参数可以放到属性文件里,我比较关注这点<br><br>在下载来的包里有ehcache.xml文件,<br><br>讲不清楚还是写个例子好,看我例子的文章: <a href="http://www.blogjava.net/chenlb/archive/2007/08/02/133988.html">http://www.blogjava.net/chenlb/archive/2007/08/02/133988.html</a><br><br><br>官方手册<br><a href="http://ehcache.sourceforge.net/EhcacheUserGuide.html">http://ehcache.sourceforge.net/EhcacheUserGuide.html</a><br><br><br><br>
<img src ="http://www.blogjava.net/chenlb/aggbug/133986.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-08-02 14:19 <a href="http://www.blogjava.net/chenlb/archive/2007/08/02/133986.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>utf-8编码页面 与 fileupload 乱码问题</title><link>http://www.blogjava.net/chenlb/archive/2007/07/26/132586.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Thu, 26 Jul 2007 09:13:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/07/26/132586.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/132586.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/07/26/132586.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/132586.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/132586.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我的页面都是UTF-8，所有请求中文都没有问题，但一个表单里加了 fileupload 后，就乱码了。用到fileItem.getString();方法，结果乱码。网上找了下用getString("UTF-8");就可了。^_^<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fileupload是commons-fileupload-1.0.jar的<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;多谢。<a href="http://argen.bokee.com/viewdiary.14753538.html">http://argen.bokee.com/viewdiary.14753538.html</a> 
<img src ="http://www.blogjava.net/chenlb/aggbug/132586.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-07-26 17:13 <a href="http://www.blogjava.net/chenlb/archive/2007/07/26/132586.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>iBatis 对 hsql 的 selectKey</title><link>http://www.blogjava.net/chenlb/archive/2007/06/09/123106.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Sat, 09 Jun 2007 14:21:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/06/09/123106.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/123106.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/06/09/123106.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/123106.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/123106.html</trackback:ping><description><![CDATA[call identity();<br><br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">&lt;</span><span style="COLOR: #0000ff">insert</span><span style="COLOR: #000000">&nbsp;id</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">"addUser"&nbsp;parameterClass</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #ff00ff">user</span><span style="COLOR: #000000">"</span><span style="COLOR: #808080">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">insert</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">into</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff00ff">User</span><span style="COLOR: #000000">(UserName,Password)&nbsp;</span><span style="COLOR: #0000ff">values</span><span style="COLOR: #000000">(#userName#,#password#)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">&lt;</span><span style="COLOR: #000000">selectKey&nbsp;keyProperty</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">"uid"&nbsp;resultClass</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">int</span><span style="COLOR: #000000">"</span><span style="COLOR: #808080">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;</span><span style="COLOR: #ff00ff">identity</span><span style="COLOR: #000000">()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">&lt;/</span><span style="COLOR: #000000">selectKey</span><span style="COLOR: #808080">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">&lt;/</span><span style="COLOR: #0000ff">insert</span><span style="COLOR: #808080">&gt;</span></div>
<img src ="http://www.blogjava.net/chenlb/aggbug/123106.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-06-09 22:21 <a href="http://www.blogjava.net/chenlb/archive/2007/06/09/123106.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>build-blank.xml</title><link>http://www.blogjava.net/chenlb/archive/2007/05/05/115422.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Sat, 05 May 2007 06:32:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/05/05/115422.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/115422.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/05/05/115422.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/115422.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/115422.html</trackback:ping><description><![CDATA[第一个项目都要写 build.xml 一些基本的东西先写好<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee" twffan="done"><span style="COLOR: #0000ff" twffan="done">&lt;?</span><span style="COLOR: #ff00ff" twffan="done">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="COLOR: #0000ff" twffan="done">?&gt;</span><span style="COLOR: #000000" twffan="done"><br></span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">project&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="jsp-svn"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;default</span><span style="COLOR: #0000ff" twffan="done">="init"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">property&nbsp;</span><span style="COLOR: #ff0000" twffan="done">file</span><span style="COLOR: #0000ff" twffan="done">="build.properties"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">property&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="src.java.dir"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;value</span><span style="COLOR: #0000ff" twffan="done">="src"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">property&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="src.test.dir"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;value</span><span style="COLOR: #0000ff" twffan="done">="test"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">property&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="build.java.dir"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;value</span><span style="COLOR: #0000ff" twffan="done">="build/classes/java"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">property&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="build.test.dir"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;value</span><span style="COLOR: #0000ff" twffan="done">="build/classes/test"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">property&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="build.classes.dir"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;value</span><span style="COLOR: #0000ff" twffan="done">="build/classes"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">property&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="test.docxml.dir"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;value</span><span style="COLOR: #0000ff" twffan="done">="doc/test/xml"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">property&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="test.reports.dir"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;value</span><span style="COLOR: #0000ff" twffan="done">="doc/test/reports"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">property&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="web.root"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;value</span><span style="COLOR: #0000ff" twffan="done">="WebContent"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000" twffan="done">&lt;!--</span><span style="COLOR: #008000" twffan="done">&nbsp;定义类路径&nbsp;</span><span style="COLOR: #008000" twffan="done">--&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">path&nbsp;</span><span style="COLOR: #ff0000" twffan="done">id</span><span style="COLOR: #0000ff" twffan="done">="project.classpath"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">fileset&nbsp;</span><span style="COLOR: #ff0000" twffan="done">dir</span><span style="COLOR: #0000ff" twffan="done">="${web.root}/WEB-INF/lib"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">include&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="*.jar"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">fileset</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">pathelement&nbsp;</span><span style="COLOR: #ff0000" twffan="done">location</span><span style="COLOR: #0000ff" twffan="done">="${build.java.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">pathelement&nbsp;</span><span style="COLOR: #ff0000" twffan="done">location</span><span style="COLOR: #0000ff" twffan="done">="${build.test.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">pathelement&nbsp;</span><span style="COLOR: #ff0000" twffan="done">location</span><span style="COLOR: #0000ff" twffan="done">="${junit.jar}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">path</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">target&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="init"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">mkdir&nbsp;</span><span style="COLOR: #ff0000" twffan="done">dir</span><span style="COLOR: #0000ff" twffan="done">="${build.java.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">mkdir&nbsp;</span><span style="COLOR: #ff0000" twffan="done">dir</span><span style="COLOR: #0000ff" twffan="done">="${build.test.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">target</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">target&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="compile.java"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;depends</span><span style="COLOR: #0000ff" twffan="done">="init"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">mkdir&nbsp;</span><span style="COLOR: #ff0000" twffan="done">dir</span><span style="COLOR: #0000ff" twffan="done">="${build.java.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">javac&nbsp;</span><span style="COLOR: #ff0000" twffan="done">destdir</span><span style="COLOR: #0000ff" twffan="done">="${build.java.dir}"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">src&nbsp;</span><span style="COLOR: #ff0000" twffan="done">path</span><span style="COLOR: #0000ff" twffan="done">="${src.java.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">classpath&nbsp;</span><span style="COLOR: #ff0000" twffan="done">refid</span><span style="COLOR: #0000ff" twffan="done">="project.classpath"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">classpath</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">javac</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">target</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">target&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="compile.test"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;depends</span><span style="COLOR: #0000ff" twffan="done">="compile.java"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">mkdir&nbsp;</span><span style="COLOR: #ff0000" twffan="done">dir</span><span style="COLOR: #0000ff" twffan="done">="${build.test.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">javac&nbsp;</span><span style="COLOR: #ff0000" twffan="done">destdir</span><span style="COLOR: #0000ff" twffan="done">="${build.test.dir}"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">src&nbsp;</span><span style="COLOR: #ff0000" twffan="done">path</span><span style="COLOR: #0000ff" twffan="done">="${src.test.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">classpath&nbsp;</span><span style="COLOR: #ff0000" twffan="done">refid</span><span style="COLOR: #0000ff" twffan="done">="project.classpath"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">javac</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">target</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">target&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="compile"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;depends</span><span style="COLOR: #0000ff" twffan="done">="compile.java,compile.test"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">target</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">target&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="build.java"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;depends</span><span style="COLOR: #0000ff" twffan="done">="compile.java"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">copy&nbsp;</span><span style="COLOR: #ff0000" twffan="done">todir</span><span style="COLOR: #0000ff" twffan="done">="${build.java.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;preservelastmodified</span><span style="COLOR: #0000ff" twffan="done">="true"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">fileset&nbsp;</span><span style="COLOR: #ff0000" twffan="done">dir</span><span style="COLOR: #0000ff" twffan="done">="${src.java.dir}"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">include&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="**/*.*"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">exclude&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="**/*.java"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">fileset</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">copy</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">target</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">target&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="build.test"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;depends</span><span style="COLOR: #0000ff" twffan="done">="compile.test"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">target</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">target&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="build"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;depends</span><span style="COLOR: #0000ff" twffan="done">="build.java,build.test"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">target&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="deploy"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;depends</span><span style="COLOR: #0000ff" twffan="done">="build.java"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">target</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">target&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="test"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;depends</span><span style="COLOR: #0000ff" twffan="done">="build"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">mkdir&nbsp;</span><span style="COLOR: #ff0000" twffan="done">dir</span><span style="COLOR: #0000ff" twffan="done">="${test.docxml.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">mkdir&nbsp;</span><span style="COLOR: #ff0000" twffan="done">dir</span><span style="COLOR: #0000ff" twffan="done">="${test.reports.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">junit&nbsp;</span><span style="COLOR: #ff0000" twffan="done">haltonfailure</span><span style="COLOR: #0000ff" twffan="done">="yes"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;fork</span><span style="COLOR: #0000ff" twffan="done">="yes"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">formatter&nbsp;</span><span style="COLOR: #ff0000" twffan="done">type</span><span style="COLOR: #0000ff" twffan="done">="plain"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;usefile</span><span style="COLOR: #0000ff" twffan="done">="false"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">formatter&nbsp;</span><span style="COLOR: #ff0000" twffan="done">type</span><span style="COLOR: #0000ff" twffan="done">="xml"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">test&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="example.ExampleTest"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;todir</span><span style="COLOR: #0000ff" twffan="done">="${test.docxml.dir}"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">test</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">classpath&nbsp;</span><span style="COLOR: #ff0000" twffan="done">refid</span><span style="COLOR: #0000ff" twffan="done">="project.classpath"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">junit</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">junitreport&nbsp;</span><span style="COLOR: #ff0000" twffan="done">todir</span><span style="COLOR: #0000ff" twffan="done">="${test.docxml.dir}"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">fileset&nbsp;</span><span style="COLOR: #ff0000" twffan="done">dir</span><span style="COLOR: #0000ff" twffan="done">="${test.docxml.dir}"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">include&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="TEST-*.xml"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">fileset</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">report&nbsp;</span><span style="COLOR: #ff0000" twffan="done">format</span><span style="COLOR: #0000ff" twffan="done">="frames"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;todir</span><span style="COLOR: #0000ff" twffan="done">="${test.reports.dir}"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">junitreport</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">target</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">target&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="schema"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;depends</span><span style="COLOR: #0000ff" twffan="done">="build.java"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">taskdef&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="schemaexport"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;classname</span><span style="COLOR: #0000ff" twffan="done">="org.hibernate.tool.hbm2ddl.SchemaExportTask"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">classpath&nbsp;</span><span style="COLOR: #ff0000" twffan="done">refid</span><span style="COLOR: #0000ff" twffan="done">="project.classpath"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">taskdef</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">schemaexport&nbsp;</span><span style="COLOR: #ff0000" twffan="done">config</span><span style="COLOR: #0000ff" twffan="done">="${build.java.dir}/hibernate.cfg.xml"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;quiet</span><span style="COLOR: #0000ff" twffan="done">="no"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;text</span><span style="COLOR: #0000ff" twffan="done">="true"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;drop</span><span style="COLOR: #0000ff" twffan="done">="no"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;delimiter</span><span style="COLOR: #0000ff" twffan="done">=";"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output</span><span style="COLOR: #0000ff" twffan="done">="${build.classes.dir}/${project.name}_db.sql"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">target</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">target&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="clean"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">delete&nbsp;</span><span style="COLOR: #ff0000" twffan="done">includeEmptyDirs</span><span style="COLOR: #0000ff" twffan="done">="true"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">fileset&nbsp;</span><span style="COLOR: #ff0000" twffan="done">dir</span><span style="COLOR: #0000ff" twffan="done">="${build.classes.dir}"</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;</span><span style="COLOR: #800000" twffan="done">include&nbsp;</span><span style="COLOR: #ff0000" twffan="done">name</span><span style="COLOR: #0000ff" twffan="done">="**/*.class"</span><span style="COLOR: #ff0000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">/&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">fileset</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">delete</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">target</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br></span><span style="COLOR: #0000ff" twffan="done">&lt;/</span><span style="COLOR: #800000" twffan="done">project</span><span style="COLOR: #0000ff" twffan="done">&gt;</span><span style="COLOR: #000000" twffan="done"><br></span></div>
<br><br>build.properties<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee" twffan="done"><span style="COLOR: #000000" twffan="done">junit.jar</span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done">${eclipse.home}/plugins/org.junit_3</span><span style="COLOR: #000000" twffan="done">.8.1</span><span style="COLOR: #000000" twffan="done">/junit.jar</span></div>
<img src ="http://www.blogjava.net/chenlb/aggbug/115422.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-05-05 14:32 <a href="http://www.blogjava.net/chenlb/archive/2007/05/05/115422.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>初用 hsqldb</title><link>http://www.blogjava.net/chenlb/archive/2007/04/28/114350.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Sat, 28 Apr 2007 07:31:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/04/28/114350.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/114350.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/04/28/114350.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/114350.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/114350.html</trackback:ping><description><![CDATA[今天初了下 hsqldb<br><br>下载 hsqldb<br><a href="http://sourceforge.net/project/showfiles.php?group_id=23316">http://sourceforge.net/project/showfiles.php?group_id=23316</a><br><br>下载 hsqldb_1_8_0_7.zip<br><br>解压到 D:/hsqldb<br><br>在 D:/hsqldb 目录下创建 runxdb.bat 文件如下:<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee" twffan="done"><span style="COLOR: #000000" twffan="done">cd&nbsp;data<br>java&nbsp;-cp&nbsp;../lib/hsqldb.jar&nbsp;org.hsqldb.Server&nbsp;-database</span><span style="COLOR: #000000" twffan="done">.0</span><span style="COLOR: #000000" twffan="done">&nbsp;xdb&nbsp;-dbname</span><span style="COLOR: #000000" twffan="done">.0</span><span style="COLOR: #000000" twffan="done">&nbsp;xdb</span></div>
<br>然后双击 runxdb.bat 启动 hsqldb Server<br><br>到目录 demo 下运行 runManagerSwing.bat 来创建表<br>type : HSQL Database Engine Server<br>url : jdbc:hsqldb:hsql://localhost/xdb<br>user : SA<br><br>建表:<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">CREATE</span><span style="COLOR: #000000">&nbsp;MEMORY&nbsp;</span><span style="COLOR: #0000ff">TABLE</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">TEXT</span><span style="COLOR: #000000">(ID&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">INTEGER</span><span style="COLOR: #000000">&nbsp;GENERATED&nbsp;</span><span style="COLOR: #0000ff">BY</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">DEFAULT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">AS</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff00ff">IDENTITY</span><span style="COLOR: #000000">(START&nbsp;</span><span style="COLOR: #0000ff">WITH</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">1</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #808080">NOT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">PRIMARY</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">KEY</span><span style="COLOR: #000000">,NAME&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR</span><span style="COLOR: #000000">);</span></div>
<br>添加数据:<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">INSERT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INTO</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">TEXT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">VALUES</span><span style="COLOR: #000000">(</span><span style="FONT-WEIGHT: bold; COLOR: #800000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">chenlb</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #0000ff">INSERT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INTO</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">TEXT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">VALUES</span><span style="COLOR: #000000">(</span><span style="FONT-WEIGHT: bold; COLOR: #800000">2</span><span style="COLOR: #000000">,</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">Tenny</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">)</span></div>
<br><br><br>Java 文件<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee" twffan="done"><span style="COLOR: #0000ff" twffan="done">package</span><span style="COLOR: #000000" twffan="done">&nbsp;hsqldb;<br><br></span><span style="COLOR: #0000ff" twffan="done">import</span><span style="COLOR: #000000" twffan="done">&nbsp;java.sql.Connection;<br></span><span style="COLOR: #0000ff" twffan="done">import</span><span style="COLOR: #000000" twffan="done">&nbsp;java.sql.DriverManager;<br></span><span style="COLOR: #0000ff" twffan="done">import</span><span style="COLOR: #000000" twffan="done">&nbsp;java.sql.ResultSet;<br></span><span style="COLOR: #0000ff" twffan="done">import</span><span style="COLOR: #000000" twffan="done">&nbsp;java.sql.SQLException;<br></span><span style="COLOR: #0000ff" twffan="done">import</span><span style="COLOR: #000000" twffan="done">&nbsp;java.sql.Statement;<br><br></span><span style="COLOR: #008000" twffan="done">/**</span><span style="COLOR: #008000" twffan="done"><br>&nbsp;*&nbsp;<br>&nbsp;*&nbsp;</span><span style="COLOR: #808080" twffan="done">@author</span><span style="COLOR: #008000" twffan="done">&nbsp;chenlb&nbsp;2007-4-28<br>&nbsp;*<br>&nbsp;</span><span style="COLOR: #008000" twffan="done">*/</span><span style="COLOR: #000000" twffan="done"><br></span><span style="COLOR: #0000ff" twffan="done">public</span><span style="COLOR: #000000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">class</span><span style="COLOR: #000000" twffan="done">&nbsp;HsqldbFirstSimple&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000" twffan="done">/**</span><span style="COLOR: #008000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080" twffan="done">@param</span><span style="COLOR: #008000" twffan="done">&nbsp;args<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000" twffan="done">*/</span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">public</span><span style="COLOR: #000000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">static</span><span style="COLOR: #000000" twffan="done">&nbsp;</span><span style="COLOR: #0000ff" twffan="done">void</span><span style="COLOR: #000000" twffan="done">&nbsp;main(String[]&nbsp;args)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000" twffan="done">//</span><span style="COLOR: #008000" twffan="done">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="COLOR: #008000" twffan="done"><br></span><span style="COLOR: #000000" twffan="done"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">try</span><span style="COLOR: #000000" twffan="done">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Class.forName(</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">org.hsqldb.jdbcDriver</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="COLOR: #0000ff" twffan="done">catch</span><span style="COLOR: #000000" twffan="done">&nbsp;(Exception&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">ERROR:&nbsp;failed&nbsp;to&nbsp;load&nbsp;HSQLDB&nbsp;JDBC&nbsp;driver.</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">return</span><span style="COLOR: #000000" twffan="done">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">try</span><span style="COLOR: #000000" twffan="done">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connection&nbsp;c&nbsp;</span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done">&nbsp;DriverManager.getConnection(</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">jdbc:hsqldb:hsql://localhost/xdb</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">,&nbsp;</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">sa</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">,&nbsp;</span><span style="COLOR: #000000" twffan="done">""</span><span style="COLOR: #000000" twffan="done">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Statement&nbsp;stmt&nbsp;</span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done">&nbsp;c.createStatement();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResultSet&nbsp;rs&nbsp;</span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done">&nbsp;stmt.executeQuery(</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">select&nbsp;*&nbsp;from&nbsp;text</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff" twffan="done">while</span><span style="COLOR: #000000" twffan="done">(rs.next())&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(rs.getString(</span><span style="COLOR: #000000" twffan="done">1</span><span style="COLOR: #000000" twffan="done">)</span><span style="COLOR: #000000" twffan="done">+</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">\t</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">+</span><span style="COLOR: #000000" twffan="done">rs.getString(</span><span style="COLOR: #000000" twffan="done">2</span><span style="COLOR: #000000" twffan="done">));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="COLOR: #0000ff" twffan="done">catch</span><span style="COLOR: #000000" twffan="done">&nbsp;(SQLException&nbsp;e)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000" twffan="done">//</span><span style="COLOR: #008000" twffan="done">&nbsp;TODO&nbsp;Auto-generated&nbsp;catch&nbsp;block</span><span style="COLOR: #008000" twffan="done"><br></span><span style="COLOR: #000000" twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>}<br></span></div>
<img src ="http://www.blogjava.net/chenlb/aggbug/114350.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-04-28 15:31 <a href="http://www.blogjava.net/chenlb/archive/2007/04/28/114350.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ant + hibernate 生成*.sql</title><link>http://www.blogjava.net/chenlb/archive/2007/03/27/106760.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Tue, 27 Mar 2007 12:58:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/03/27/106760.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/106760.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/03/27/106760.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/106760.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/106760.html</trackback:ping><description><![CDATA[一开始没有在&lt;schemaexport /&gt;里加<br />quiet="no" text="true" drop="no" delimiter=";" <br />   output="${build.class.dir}/schema-export.sql" <br /><br />运行ant提示失败<br /><br />下面是正确的：<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="schema"</span><span style="COLOR: #ff0000"> depends</span><span style="COLOR: #0000ff">="build"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">taskdef </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="schemaexport"</span><span style="COLOR: #ff0000"> classname</span><span style="COLOR: #0000ff">="org.hibernate.tool.hbm2ddl.SchemaExportTask"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">classpath </span><span style="COLOR: #ff0000">refid</span><span style="COLOR: #0000ff">="project.classpath"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">taskdef</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">schemaexport </span><span style="COLOR: #ff0000">config</span><span style="COLOR: #0000ff">="${src.java.dir}/hibernate.cfg.xml"</span><span style="COLOR: #ff0000"> <br />            quiet</span><span style="COLOR: #0000ff">="no"</span><span style="COLOR: #ff0000"> text</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #ff0000"> drop</span><span style="COLOR: #0000ff">="no"</span><span style="COLOR: #ff0000"> delimiter</span><span style="COLOR: #0000ff">=";"</span><span style="COLOR: #ff0000"> <br />            output</span><span style="COLOR: #0000ff">="${build.class.dir}/schema-export.sql"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span></div><br /><br />参考：<a href="http://mzrj.itpub.net/post/2660/11489">http://mzrj.itpub.net/post/2660/11489</a><img src ="http://www.blogjava.net/chenlb/aggbug/106760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-03-27 20:58 <a href="http://www.blogjava.net/chenlb/archive/2007/03/27/106760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>