﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-方大帝的JAVA空间-随笔分类-j2ee</title><link>http://www.blogjava.net/fangts/category/28234.html</link><description>JAVA</description><language>zh-cn</language><lastBuildDate>Sat, 26 May 2012 20:45:51 GMT</lastBuildDate><pubDate>Sat, 26 May 2012 20:45:51 GMT</pubDate><ttl>60</ttl><item><title>MySQL大表重复字段的查询方法</title><link>http://www.blogjava.net/fangts/archive/2012/05/25/379223.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Fri, 25 May 2012 06:15:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2012/05/25/379223.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/379223.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2012/05/25/379223.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/379223.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/379223.html</trackback:ping><description><![CDATA[<p>数据库中有个大表，需要查找其中的名字有重复的记录id，以便比较。</p>
<p>如果仅仅是查找数据库中name不重复的字段，很容易</p><pre><ol class="dp-xml"><li class="alt"><span>SELECT&nbsp;min(`id`),`name`&nbsp; &nbsp;</span></li><li><span>FROM&nbsp;`table`&nbsp; &nbsp;</span></li><li class="alt"><span>GROUP&nbsp;BY&nbsp;`name`; &nbsp;</span></li></ol></pre>
<p>但是这样并不能得到说有重复字段的id值。（只得到了最小的一个id值）</p>
<p>查询哪些字段是重复的也容易</p><pre><ol class="dp-xml"><li class="alt"><span>SELECT&nbsp;`name`,count(`name`)&nbsp;as&nbsp;count&nbsp; &nbsp;</span></li><li><span>FROM&nbsp;`table`&nbsp; &nbsp;</span></li><li class="alt"><span>GROUP&nbsp;BY&nbsp;`name`&nbsp;HAVING&nbsp;count(`name`)&nbsp;</span><span class="tag">&gt;</span><span>1&nbsp; &nbsp;</span></li><li><span>ORDER&nbsp;BY&nbsp;count&nbsp;DESC; &nbsp;</span></li></ol></pre>
<p>但是要一次查询到重复字段的id值，就必须使用子查询了，于是使用下面的语句来实现MySQL大表重复字段查询。</p><pre><ol class="dp-xml"><li class="alt"><span>SELECT&nbsp;`id`,`name`&nbsp; &nbsp;</span></li><li><span>FROM&nbsp;`table`&nbsp; &nbsp;</span></li><li class="alt"><span>WHERE&nbsp;`name`&nbsp;in&nbsp;(&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;SELECT&nbsp;`name`&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;FROM&nbsp;`table`&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;GROUP&nbsp;BY&nbsp;`name`&nbsp;HAVING&nbsp;count(`name`)&nbsp;</span><span class="tag">&gt;</span><span>1 &nbsp;</span></li><li class="alt"><span>); &nbsp;</span></li></ol></pre>
<p>但是这条语句在mysql中效率太差，感觉mysql并没有为子查询生成零时表。</p>
<p>于是使用先建立零时表</p><pre><ol class="dp-xml"><li class="alt"><span>create&nbsp;table&nbsp;`tmptable`&nbsp;as&nbsp;( &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;SELECT&nbsp;`name`&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;FROM&nbsp;`table`&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;GROUP&nbsp;BY&nbsp;`name`&nbsp;HAVING&nbsp;count(`name`)&nbsp;</span><span class="tag">&gt;</span><span>1 &nbsp;</span></li><li class="alt"><span>); &nbsp;</span></li></ol></pre>
<p>然后使用多表连接查询</p><pre><ol class="dp-xml"><li class="alt"><span>SELECT&nbsp;a.`id`,&nbsp;a.`name`&nbsp; &nbsp;</span></li><li><span>FROM&nbsp;`table`&nbsp;a,&nbsp;`tmptable`&nbsp;t&nbsp; &nbsp;</span></li><li class="alt"><span>WHERE&nbsp;a.`name`&nbsp;=&nbsp;t.`name`; &nbsp;</span></li></ol></pre>
<p>结果这次结果很快就出来了。</p>
<p>用 distinct去重复</p><pre><ol class="dp-xml"><li class="alt"><span>SELECT&nbsp;distinct&nbsp;a.`id`,&nbsp;a.`name`&nbsp; &nbsp;</span></li><li><span>FROM&nbsp;`table`&nbsp;a,&nbsp;`tmptable`&nbsp;t&nbsp; &nbsp;</span></li><li class="alt"><span>WHERE&nbsp;a.`name`&nbsp;=&nbsp;t.`name`; &nbsp;</span></li></ol></pre><img src ="http://www.blogjava.net/fangts/aggbug/379223.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2012-05-25 14:15 <a href="http://www.blogjava.net/fangts/archive/2012/05/25/379223.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>输入流和输出流</title><link>http://www.blogjava.net/fangts/archive/2011/05/07/349744.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Sat, 07 May 2011 09:19:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2011/05/07/349744.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/349744.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2011/05/07/349744.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/349744.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/349744.html</trackback:ping><description><![CDATA[InputStream:输入流&nbsp;&nbsp;&nbsp; InputStream in = new FileInputStream(file1);&nbsp;&nbsp; file1指读取文件的路径<br />
OutputStream:输出流 OutputStream ou = new FileOutputStream(file2);&nbsp; file2指写入文件的路径<br />
BufferInputStream高级输入流 BufferedInputStream bi=new BufferedInputStream(in);<br />
BufferOutputStream高级输出流 BufferedOutputStream out = new BufferedOutputStream(ou);<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;file&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(</span><span style="color: #000000">"</span><span style="color: #000000">d:\\通知.doc</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img id="Codehighlighter1_46_646_Open_Image" onclick="this.style.display='none'; Codehighlighter1_46_646_Open_Text.style.display='none'; Codehighlighter1_46_646_Closed_Image.style.display='inline'; Codehighlighter1_46_646_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_46_646_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_46_646_Closed_Text.style.display='none'; Codehighlighter1_46_646_Open_Image.style.display='inline'; Codehighlighter1_46_646_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_46_646_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_46_646_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">long</span><span style="color: #000000">&nbsp;st&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;System.currentTimeMillis();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream&nbsp;in&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;FileInputStream(file);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedInputStream&nbsp;bi</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BufferedInputStream(in);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputStream&nbsp;ou</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;&nbsp;FileOutputStream(</span><span style="color: #000000">"</span><span style="color: #000000">d:\\通知11.doc&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedOutputStream&nbsp;out&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BufferedOutputStream(ou<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;b&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />
<img id="Codehighlighter1_366_413_Open_Image" onclick="this.style.display='none'; Codehighlighter1_366_413_Open_Text.style.display='none'; Codehighlighter1_366_413_Closed_Image.style.display='inline'; Codehighlighter1_366_413_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_366_413_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_366_413_Closed_Text.style.display='none'; Codehighlighter1_366_413_Open_Image.style.display='inline'; Codehighlighter1_366_413_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;((b&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;bi.read())&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_366_413_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_366_413_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;循环读取in对象的字节</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.write(b);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;写入到文件</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_422_485_Open_Image" onclick="this.style.display='none'; Codehighlighter1_422_485_Open_Text.style.display='none'; Codehighlighter1_422_485_Closed_Image.style.display='inline'; Codehighlighter1_422_485_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_422_485_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_422_485_Closed_Text.style.display='none'; Codehighlighter1_422_485_Open_Image.style.display='inline'; Codehighlighter1_422_485_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_422_485_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_422_485_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in.close();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.flush();&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.close();&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;好习惯</span><span style="color: #008000"><br />
<img id="Codehighlighter1_507_537_Open_Image" onclick="this.style.display='none'; Codehighlighter1_507_537_Open_Text.style.display='none'; Codehighlighter1_507_537_Closed_Image.style.display='inline'; Codehighlighter1_507_537_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_507_537_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_507_537_Closed_Text.style.display='none'; Codehighlighter1_507_537_Open_Image.style.display='inline'; Codehighlighter1_507_537_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;</span><span id="Codehighlighter1_507_537_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_507_537_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">long</span><span style="color: #000000">&nbsp;et&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;System.currentTimeMillis();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print&nbsp;(et&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;st);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;System.out.println(s);</span><span style="color: #008000"><br />
<img id="Codehighlighter1_670_698_Open_Image" onclick="this.style.display='none'; Codehighlighter1_670_698_Open_Text.style.display='none'; Codehighlighter1_670_698_Closed_Image.style.display='inline'; Codehighlighter1_670_698_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_670_698_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_670_698_Closed_Text.style.display='none'; Codehighlighter1_670_698_Open_Image.style.display='inline'; Codehighlighter1_670_698_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(IOException&nbsp;e)&nbsp;</span><span id="Codehighlighter1_670_698_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_670_698_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<img src ="http://www.blogjava.net/fangts/aggbug/349744.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2011-05-07 17:19 <a href="http://www.blogjava.net/fangts/archive/2011/05/07/349744.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MyEclipse5.5注册机</title><link>http://www.blogjava.net/fangts/archive/2011/04/26/349019.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Tue, 26 Apr 2011 02:28:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2011/04/26/349019.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/349019.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2011/04/26/349019.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/349019.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/349019.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;1import&nbsp;java.io.BufferedReader;&nbsp;2import&nbsp;java.io.IOException;&nbsp;3import&nbsp;java.io.InputStreamReader;&nbsp;4import&nbsp;java.io.PrintStream;&nbsp;5import&nbsp;java.tex...&nbsp;&nbsp;<a href='http://www.blogjava.net/fangts/archive/2011/04/26/349019.html'>阅读全文</a><img src ="http://www.blogjava.net/fangts/aggbug/349019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2011-04-26 10:28 <a href="http://www.blogjava.net/fangts/archive/2011/04/26/349019.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java将Word/Excel/PDF文件转换成HTML整理</title><link>http://www.blogjava.net/fangts/archive/2011/04/20/348625.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Wed, 20 Apr 2011 06:26:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2011/04/20/348625.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/348625.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2011/04/20/348625.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/348625.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/348625.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;项目开发过程中，需求涉及到了各种文档转换为HTML或者网页易显示格式，现在将实现方式整理如下： 一、使用Jacob转换Word,Excel为HTML &#8220;JACOB一个Java-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32 libraries。&#8221;首先下载Jacob包，JDK1.5以上需要使用Jacob1.9...&nbsp;&nbsp;<a href='http://www.blogjava.net/fangts/archive/2011/04/20/348625.html'>阅读全文</a><img src ="http://www.blogjava.net/fangts/aggbug/348625.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2011-04-20 14:26 <a href="http://www.blogjava.net/fangts/archive/2011/04/20/348625.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>apche与多个tomcat整合</title><link>http://www.blogjava.net/fangts/archive/2009/07/17/287112.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Fri, 17 Jul 2009 03:14:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2009/07/17/287112.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/287112.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2009/07/17/287112.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/287112.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/287112.html</trackback:ping><description><![CDATA[<p>整合条件：1、apche2.0.49&nbsp;mod_jk2.dll<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 2、tomcat4.1&nbsp; tomcat5.0.28<br />
<br />
一、安装tomcat4.1（所有端口默认）<br />
二、tomcat5.0.28必须为非安装版（server.xml）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1、更改8005端口，为防止与tomcat4.1占用端口冲突&lt;Server port="8005" shutdown="SHUTDOWN" debug="0"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、找到 &lt;!-- Define a non-SSL Coyote HTTP/1.1...--&gt; 更改port端口号（此处更改为tomcat，暂时更改为8081）</p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、找到&lt;!-- Define a Coyote/JK2 AJP 1.3 Connector on ...--&gt;更改port端口号（此处更改为apache，暂时更改为8018）<br />
三、更改apache的workers2.properties文件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">[shm]<br />
<img id="Codehighlighter1_12_23_Open_Image" onclick="this.style.display='none'; Codehighlighter1_12_23_Open_Text.style.display='none'; Codehighlighter1_12_23_Closed_Image.style.display='inline'; Codehighlighter1_12_23_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_12_23_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_12_23_Closed_Text.style.display='none'; Codehighlighter1_12_23_Open_Image.style.display='inline'; Codehighlighter1_12_23_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />file</span><span style="color: #000000">=</span><span style="color: #000000">$</span><span id="Codehighlighter1_12_23_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_12_23_Open_Text"><span style="color: #000000">{serverRoot}</span></span><span style="color: #000000">/</span><span style="color: #000000">logs</span><span style="color: #000000">/</span><span style="color: #000000">shm.file<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />size</span><span style="color: #000000">=</span><span style="color: #000000">1048576</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#&nbsp;Example&nbsp;socket&nbsp;channel,&nbsp;override&nbsp;port&nbsp;and&nbsp;host.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />[channel.socket:localhost:</span><span style="color: #000000">8009</span><span style="color: #000000">]<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />port</span><span style="color: #000000">=</span><span style="color: #000000">8009</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />host</span><span style="color: #000000">=</span><span style="color: #000000">127.0</span><span style="color: #000000">.</span><span style="color: #000000">0.1</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />[channel.socket:localhost:</span><span style="color: #000000">8018</span><span style="color: #000000">]<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />port</span><span style="color: #000000">=</span><span style="color: #000000">8018</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />host</span><span style="color: #000000">=</span><span style="color: #000000">127.0</span><span style="color: #000000">.</span><span style="color: #000000">0.1</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#&nbsp;define&nbsp;the&nbsp;worker<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />[ajp13:localhost:</span><span style="color: #000000">8009</span><span style="color: #000000">]<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />channel</span><span style="color: #000000">=</span><span style="color: #000000">channel.socket:localhost:</span><span style="color: #000000">8009</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />[ajp13:localhost:</span><span style="color: #000000">8018</span><span style="color: #000000">]<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />channel</span><span style="color: #000000">=</span><span style="color: #000000">channel.socket:localhost:</span><span style="color: #000000">8018</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#&nbsp;Uri<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#&nbsp;Map&nbsp;All&nbsp;webapp&nbsp;to&nbsp;the&nbsp;Web&nbsp;server&nbsp;uri&nbsp;space<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_428_557_Open_Image" onclick="this.style.display='none'; Codehighlighter1_428_557_Open_Text.style.display='none'; Codehighlighter1_428_557_Closed_Image.style.display='inline'; Codehighlighter1_428_557_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_428_557_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_428_557_Closed_Text.style.display='none'; Codehighlighter1_428_557_Open_Image.style.display='inline'; Codehighlighter1_428_557_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />[uri:</span><span style="color: #000000">/</span><span style="color: #000000">servlet</span><span id="Codehighlighter1_428_557_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_428_557_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000">]<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />worker=ajp13:localhost:8009<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />[uri:/infoseek/*]<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />worker=ajp13:localhost:8009<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />[uri:/dataReport/*]<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />worker=ajp13:localhost:8018<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span></div>
<br />
这样apche与tomcat的整合就完成了<br />
另：apche的http.conf文件 DocumentRoot "D:/www" 可以指定apache项目发布路径<br />
tomcat的server.xml文件搜索&lt;Logger className="org.apache.catalina.logger.FileLogger".../&gt;下加入&lt;Context path="/infoseek" docBase="D:\www\webapps\infoseek" debug="0"/&gt;可指定tomcat发布路径</span> 
<img src ="http://www.blogjava.net/fangts/aggbug/287112.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2009-07-17 11:14 <a href="http://www.blogjava.net/fangts/archive/2009/07/17/287112.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ssh+taglib实现分页</title><link>http://www.blogjava.net/fangts/archive/2009/06/12/281773.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Fri, 12 Jun 2009 03:12:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2009/06/12/281773.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/281773.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2009/06/12/281773.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/281773.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/281773.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 经过几天业余时间的研究，已经做了一套关于分页的高效解决方案，所谓的高效，就是在数据库底层，也做了分页查询，因此在进行大数据量的查询时，速度会很快。如果不做底层的分页的话，数据量超过５W，速度将会慢的象乌龟一样。 　　这套解决方案，是按照MVC的模式来做的，基于STRUTS框架。分为三个部分，表现层用的是JSP，其中用了JSTL和pager taglib做分页；控制层就是用的很传统的Action...&nbsp;&nbsp;<a href='http://www.blogjava.net/fangts/archive/2009/06/12/281773.html'>阅读全文</a><img src ="http://www.blogjava.net/fangts/aggbug/281773.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2009-06-12 11:12 <a href="http://www.blogjava.net/fangts/archive/2009/06/12/281773.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用JS在页面上显示当前的时间</title><link>http://www.blogjava.net/fangts/archive/2008/04/11/192095.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Fri, 11 Apr 2008 02:45:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2008/04/11/192095.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/192095.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2008/04/11/192095.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/192095.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/192095.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="138" background="../images/index08.jpg"&gt;&lt;div align="center"&gt;&nbsp; &lt;script language=JavaScript&gt;<br />
&nbsp;today=new Date();<br />
&nbsp;function initArray(){<br />
&nbsp;&nbsp; this.length=initArray.arguments.length<br />
&nbsp;&nbsp; for(var i=0;i&lt;this.length;i++)<br />
&nbsp;&nbsp; this[i+1]=initArray.arguments[i]&nbsp; }<br />
&nbsp;&nbsp; var d=new initArray(<br />
&nbsp;&nbsp;&nbsp;&nbsp; "星期日",<br />
&nbsp;&nbsp;&nbsp;&nbsp; "星期一",<br />
&nbsp;&nbsp;&nbsp;&nbsp; "星期二",<br />
&nbsp;&nbsp;&nbsp;&nbsp; "星期三",<br />
&nbsp;&nbsp;&nbsp;&nbsp; "星期四",<br />
&nbsp;&nbsp;&nbsp;&nbsp; "星期五",<br />
&nbsp;&nbsp;&nbsp;&nbsp; "星期六");<br />
document.write(<br />
&nbsp;&nbsp;&nbsp;&nbsp; "&lt;font color=##000000 style='font-size:9pt;font-family: 宋体'&gt; ",<br />
&nbsp;&nbsp;&nbsp;&nbsp; today.getYear(),"年",<br />
&nbsp;&nbsp;&nbsp;&nbsp; today.getMonth()+1,"月",<br />
&nbsp;&nbsp;&nbsp;&nbsp; today.getDate(),"日",<br />
&nbsp;&nbsp;&nbsp;&nbsp; d[today.getDay()+1],<br />
&nbsp;&nbsp;&nbsp;&nbsp; "&lt;/font&gt;" );<br />
//&nbsp; End --&gt;<br />
&lt;/script&gt; &lt;/div&gt;&lt;/td&gt;
<img src ="http://www.blogjava.net/fangts/aggbug/192095.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2008-04-11 10:45 <a href="http://www.blogjava.net/fangts/archive/2008/04/11/192095.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>根据分割符截取字符串</title><link>http://www.blogjava.net/fangts/archive/2008/01/12/174795.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Sat, 12 Jan 2008 05:41:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2008/01/12/174795.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/174795.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2008/01/12/174795.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/174795.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/174795.html</trackback:ping><description><![CDATA[<p>package cn.goodsers.test;</p>
<p>public class Comminute {</p>
<p>&nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;String ss = "1||2||3||";<br />
&nbsp;&nbsp;//String str1[] = ss.split("[||]");<br />
&nbsp;&nbsp;String str1[]=ss.split("[||]{2}");<br />
&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;for (int i = 0; i &lt; str1.length; i++) {<br />
&nbsp;&nbsp;&nbsp;System.out.println(str1[i]);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;System.out.println(str1.length);<br />
&nbsp;}<br />
}<br />
</p>
<img src ="http://www.blogjava.net/fangts/aggbug/174795.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2008-01-12 13:41 <a href="http://www.blogjava.net/fangts/archive/2008/01/12/174795.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java错误大集合</title><link>http://www.blogjava.net/fangts/archive/2007/12/28/171125.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Fri, 28 Dec 2007 03:40:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2007/12/28/171125.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/171125.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2007/12/28/171125.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/171125.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/171125.html</trackback:ping><description><![CDATA[<p>该错误集合中有些是我自己总结的,有些是从网络上搜索到的别人的一些错误处理集合,都放在一起来了<br />
<font style="background-color: #fffbf0"><br />
0、&nbsp;需要标识符<br />
a)&nbsp;不在函数内<br />
1、&nbsp;非法表达式开始<br />
b)&nbsp;可能:丢失括号 .<br />
2.&nbsp;no data found <br />
a)&nbsp;可能:setInt(1,100)中,没有100这个值<br />
3.&nbsp;找不到符号<br />
a)&nbsp;可能:没导入包<br />
4.&nbsp;指定了无效URL<br />
a)&nbsp;可能:数据库名或IP错误,即连接出错<br />
5.&nbsp;类路径没有找到<br />
a)&nbsp;可能: ClassNotFoundException: oracle.jdbc.driver.OracleDriver<br />
b)&nbsp;原因: 一般是指包名写错,或者没有import包,或者没有在类路径中找到jar文件<br />
c)&nbsp;解决: 没有加载Oracle驱动jar,在.bash_profile中把ojdbc14.jar加进来<br />
6.&nbsp;空指针异常<br />
a)&nbsp;可能: 数据源错误 比如数据库名或IP错误<br />
7.&nbsp;不能执行查询<br />
a)&nbsp;可能: 数据库中表的问题,比如列名不存在<br />
8.&nbsp;invalid identity<br />
a)&nbsp;可能: 列名出错<br />
9.&nbsp;若在数据库中创建了&nbsp;两个sequence ,运行时出现异常可能是先后执行了多次select语句,导致与原有的序列号产生冲突<br />
10.&nbsp;表名或列名不存在<br />
a)&nbsp;可能:表不存在或者没有插入数据到表中<br />
11.&nbsp;不支持的类,类的版本错误<br />
a)&nbsp;可能:没有导入jdk5.0,或者编译器仍为1.4&nbsp;<br />
12.&nbsp;MappingNotFoundException<br />
a)&nbsp;Maybe:&nbsp;In the Eclipse Not refersh , or not exist in the dirctory<br />
13.&nbsp;HibernateException: /hibernate.cfg.xml not found<br />
a)&nbsp;Maybe1: hibernate.cfg.xml not in the root directory<br />
b)&nbsp;Maybe2: Could not parse configuration .<br />
c)&nbsp;resolve:&nbsp;database not connect or use another database<br />
14.&nbsp;ConstraintViolationException<br />
a)&nbsp;Maybe:&nbsp;used a not true database<br />
15.&nbsp;驱动没有找到 或者 JDBC Driver not found<br />
可能：连接数据库的驱动jar包不存在或者版本不一致，比如将旧的版本换成新的会造成该类错误<br />
16.&nbsp;空指针异常 ， java.lang.NullPointerException&nbsp; <br />
a)&nbsp;可能1：数据库连接出错，比如在hibernate.cfg.xml中的数据错误会导致异常。<br />
17.&nbsp;数据插入异常 ，GenericJDBCException: could not insert&nbsp;<br />
a)&nbsp;可能1：没有建立表或者表中没有任何数据<br />
b)&nbsp;可能2：插入数据后没有执行提交语句：commit<br />
18.&nbsp;LazyInitializationException 或者延迟加载异常<br />
a)&nbsp;可能1：没有在查询语句中加fetch&nbsp;<br />
19.&nbsp;IdentifierGenerationException<br />
a)&nbsp;可能1：高位表没有初始化（比如hi_value中没有记录)&nbsp;<br />
20.&nbsp;could not initialize a collection: [hibernate.entity.Role.modules#32768] Syntax error: Encountered "-" at line 1, column 132.<br />
a)&nbsp;错误原因：&lt;set name="modules" table="module-role" lazy="false"&gt;红色字部分中&#8220;-&#8221;为非法字符，替换为module_role<br />
21.&nbsp;could not insert collection rows: [hibernate.entity.Module.roles#1]<br />
&nbsp;在Module.hbm.xml文件的如下配置中加入inverse=&#8221;true&#8221;<br />
&lt;set name="roles" table="module_role" inverse="true"&gt;</font></p>
<p><font style="background-color: #fffbf0">22．在部署Struts时，出现如下错误信息：<br />
HTTP Status 404 - Servlet action is not available<br />
&nbsp;<br />
type Status report<br />
message Servlet action is not available<br />
description The requested resource (Servlet action is not available) is not available.<br />
问题原因：<br />
1.、web.xml文件中未配置ActionServlet。<br />
2、struts-config.xml文件未配置你要访问的Action。<br />
3、你的jsp文件form标记中action属性的路径名称错误。<br />
4、非以上三种情况。<br />
针对以上4种情况相应的解决方案如下：<br />
1、在web.xml文件中加上ActionServlet的配置信息<br />
?????? /WEB-INF/struts-config.xml?<br />
?2、在struts-config.xml文件检查你要访问的Action配置文件。<br />
3、检查jsp文件form标记中action属性的路径名称是否与struts-config.xml文件中action标记的path属性的路径名称一致。<br />
4、非以上情况的解决办法就是检查web容器的log日志，如果时tomcat则检查下logs目录下的localhost_log文件，看里边是否记录有错误信息，然后根据错误信息提示将其纠正。</font></p>
<p><font style="background-color: #fffbf0">23．java.lang.NoClassDefFoundError: org/apache/commons/beanutils/Converter<br />
缺少spring-framework-2.0.3\lib\jakarta-commons\commons-beanutils.jar<br />
24.<br />
ava 代码Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/Type&nbsp;&nbsp; <br />
缺少spring-framework-2.0.3\lib\asm\asm-2.2.2.jar包,版本不同,该包的名字有相应的区别</font></p>
<p><font style="background-color: #fffbf0">java 代码Caused by: java.lang.NoClassDefFoundError: org/dom4j/DocumentException&nbsp;&nbsp; <br />
缺少spring-framework-2.0.3\lib\dom4j\dom4j-1.6.1.jar包,版本不同,该包的名字有相应的区别<br />
把这个包进去就可以了：\Spring206\lib\dom4j、dom4j-1.6.1.jar</font></p>
<p><font style="background-color: #fffbf0">java 代码Caused by: java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap&nbsp;&nbsp; <br />
缺少spring-framework-2.0.3\lib\jakarta-commons\commons-collections.jar包,版本不同,该包的名字有相应的区别</font></p>
<p><font style="background-color: #fffbf0">java 代码Caused by: java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter&nbsp;&nbsp; <br />
缺少spring-framework-2.0.3\lib\cglib\cglib-nodep-2.1_3.jar包,版本不同,该包的名字有相应的区别</font></p>
<p><font style="background-color: #fffbf0">java 代码Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor&nbsp;&nbsp; <br />
缺少hibernate-3.2\lib\asm.jar包,版本不同,该包的名字有相应的区别 </font></p>
<p><font style="background-color: #fffbf0">java 代码<br />
org.hibernate.exception.SQLGrammarException: could not load an entity: [www.proudsoul.xml.User#1]&nbsp; <br />
JAVA工程与WEB工程包的区别:一个是asm.jar,一个是jta.jar</font></p>
<p><font style="background-color: #fffbf0">java 代码Caused by: java.lang.NoClassDefFoundError: javax/transaction/TransactionManager&nbsp;&nbsp; <br />
缺少spring-framework-2.0.3\lib\j2ee\jta.jar包,版本不同,该包的名字有相应的区别此种错误请检查相应的***.hbm.xml配置文件的配置</font></p>
<p><font style="background-color: #fffbf0">25,<br />
Exception in thread "main" org.springframework.dao.InvalidDataAccessResourceUsageException: could not get next sequence value; nested exception is org.hibernate.exception.SQLGrammarException: could not get next sequence value<br />
Caused by: org.hibernate.exception.SQLGrammarException: could not get next sequence value<br />
原因：没有加Sequence或者数据库的方言写错了</font></p>
<p><font style="background-color: #fffbf0">26,<br />
我的配置文件<br />
&nbsp;&nbsp;&nbsp; &lt;id name="id" column="id"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;generator class="native" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/id&gt;<br />
然后我运行保存一条数据进去<br />
The database returned no natively generated identity value<br />
就会报这个错误<br />
因为你native是根据看底层数据库的能力选择identity, sequence 或者hilo中的一个<br />
而我建表的时候id没有指定<br />
alter table `student` change `id` `id` int auto_increment <br />
我们把我们的表的结构小小的改动一下就没问题了</font></p>
<p><font style="background-color: #fffbf0">27,<br />
UpdateManager无法启动2007-08-09 15:21如果在应用程序安装过程中，暴力中断安装程序，会出现如下状况：1.apt-get remove 和dpkg --remove 无法删除软件 2.UpdateManager无法启动3.新立得软件包管理程序无法启动<br />
以上可能是deb损坏之类造成的<br />
sudo dpkg -r sqldveloper<br />
正在读取软件包列表... 完成<br />
正在分析软件包的依赖关系树... 完成<br />
E: 软件包 sqldeveloper 需要重新安装，但是我无法找到相应的安装文件。<br />
解决方法：1.从 /var/lib/dpkg/status 中把对应的段删掉<br />
重要：修改之前请先备份<br />
在status中找到你对应的包删除就OK了... </font></p>
<p><font style="background-color: #fffbf0">28,<br />
Exception in thread "main" java.lang.NoClassDefFoundError: antlr/ANTLRException<br />
少了antlr-2.7.5H3.jar包,从D:\eclipse\eclipse\plugins\com.genuitec.org.hibernate.eclipse_4.1.1\myeclipse-data\3.0\lib</font></p>
<p><font style="background-color: #fffbf0">29,<br />
Caused by: <br />
java.lang.NoClassDefFoundError: javax/transaction/Synchronization<br />
缺少Spring206\lib\j2ee\jta.jar</font></p>
<p><font style="background-color: #fffbf0">30,<br />
Caused by: <br />
java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy3] to required type [business.impl.PriceBiz] for property 'priceBiz': no matching editors or conversion strategy found<br />
在java类中设置priceBiz时应该设置的是接口PriceBizIf，而非实现类</font></p>
<p><font style="background-color: #fffbf0">18, 数组越界<br />
&nbsp;可能1: 在命令行后面需要加入参数.<br />
&nbsp;可能2:加入的参数错误<br />
19, car is not mapped<br />
&nbsp;可能1: 在cfg.xml中没有增加映射的hbm.xml文件在&lt;mapping.../&gt;中&nbsp;&nbsp;&nbsp; <br />
20, 属性没有找到<br />
&nbsp;可能1: hbm.xml文件中的 &lt;property name =""&gt; 有问题, 也许是name的值与对应类中的成员名不一致&nbsp;<br />
21,SQLException: 无当前连接&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可能1:在比如创建帐户时没有对相应的方法添加到&lt;list&gt;中去,比如这个没有加入:&lt;value&gt;newAccount&lt;/value&gt;<br />
&nbsp;<br />
&nbsp;&lt;bean id="transactionAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor"&gt;<br />
&nbsp;&nbsp;&lt;property name="advice"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;ref bean="advice"/&gt;<br />
&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&nbsp;&lt;property name="mappedNames"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;list&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;transfer&lt;/value&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/list&gt;<br />
&nbsp;&lt;/bean&gt;<br />
22,SQLException: Syntax error: Encountered "table" at line 1, column 8.&nbsp;<br />
&nbsp;可能1;执行SQL时出现冲突,可能是SQL语句中使用了关键字作为变量来用,比如<br />
&nbsp;&nbsp;update order set balance=1000000;<br />
&nbsp;&nbsp;其中order被用作表名来使用,这是错误的,因为order是个关键字,用在order by中</font></p>
<p><font style="background-color: #fffbf0">23, Servlet /Spring-WebMvc threw load() exception<br />
org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".<br />
&nbsp;jar包的冲突,spring-1.2.6.jar和spring.jar出现在一个war的目录中:JBoss/server/all/deploy/Spring-WebMvc.war/WEB-INF/lib&nbsp;&nbsp;&nbsp;&nbsp;</font></p>
<p><font style="background-color: #fffbf0">24, java.sql.SQLException: 当事务仍处于活动状态时，无法关闭连接。&nbsp;</font></p>
<font style="background-color: #fffbf0">
<p><br />
25 , <br />
validateJarFile(/home/soft01/Tomcat/webapps/sms-token-struts/WEB-INF/lib/servlet-api.jar)<br />
Servlet /sms-struts-tiles threw load() exception<br />
java.lang.ClassNotFoundException: org.apache.struts.action.ActionServlet<br />
原因:在WEB-INF/lib/ 目录下有servlet-api.jar与/Tomcat/common/lib目录下的servlet-api.jar冲突了,把WEB-INF/lib/下的servlet-api.jar删除就可以了</p>
<p>26,java.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugIn<br />
Marking servlet action as unavailable<br />
10:30:47,088 ERROR [/NetCT_OSS]:3953 - Servlet /NetCT_OSS threw load() exception<br />
javax.servlet.UnavailableException</p>
<p>27,org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".<br />
缺少MyEclipse/eclipse/plugins/com.genuitec.eclipse.springframework_5.5.0/data/2.0/dist/modules/spring-struts.jar</p>
<p>28,Caused by: java.sql.BatchUpdateException: ORA-02291: integrity constraint (SD0702.FK82D343CF49A4B831) violated - parent key not found<br />
Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update<br />
有可能是ID生成策略的问题,我将它XML映射文件改成&lt;generator class="increment" /&gt;就好了</p>
<p>29,<br />
2007-08-19 16:21:43,290 ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/OSS].[action]] - Servlet.service() for servlet action threw exception<br />
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [entity.Module#2]<br />
java.util.ConcurrentModificationException<br />
原因:已经有对象拥有了所选择的module,用clear(),而不是remove();</p>
<p>30,<br />
ERROR [org.apache.catalina.session.ManagerBase] - IOException while loading persisted sessions: java.io.InvalidClassException: entity.Module; local class incompatible: stream classdesc serialVersionUID = -5988350031935445758, local class serialVersionUID = -297934247726484429<br />
java.io.InvalidClassException: entity.Module; local class incompatible: stream classdesc serialVersionUID = -5988350031935445758, local class serialVersionUID = -297934247726484429<br />
在Module中加上一个关键字:transient</p>
<p>31,<br />
Caused by: java.sql.BatchUpdateException: ORA-02292: integrity constraint (SD0702.SYS_C00132664) violated - child record found<br />
原因:有其他的表引用了该表的外建,所以报这个异常,如果没有引用就不会出现</p>
<p>32,<br />
出现数组越界的时候,看看是不是循环时没有加=,比如:<br />
for(int i = 1; i&lt;arr.length;i++)可以改成<br />
for(int i = 1; i&lt;=arr.length;i++)</p>
<p>&nbsp;</p>
<p>1.如果使用Ant和Junit是被报找不到test,检查一下是否误用了private<br />
出错信息：<br />
&nbsp;&nbsp;&nbsp; &lt;failure message="No tests found in test.AllTest" type="junit.framework.AssertionFailedError"&gt;junit.framework.AssertionFailedError: No tests found in test.AllTest<br />
该错误有个很特别的特点，当你不通过ant来运行测试，而是通过AllTest类来运行的话，可以正常运行。小心哦</p>
<p>2.如果遇到报：表名无效，且jvm报严重错误，看看是不是用了数据库的保留关键字来做表名了，如User。</p>
<p>3.使用ant时必须小心ant的classpath它用的不是IDE的classpath，小心!</p>
<p>4.小心下边的异常，<br />
exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of xp.bean.Users.?" type="net.sf.hibernate.PropertyAccessException"&gt;java.lang.ClassCastException at xp.bean.UsersMetaClass1.setPropertyValues(&lt;generated&gt;) at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues<br />
上次出现该错错误的原因是:<br />
源文件里我的class类型为一个类Contact contact<br />
而跑到mapping里却成了Set,呵呵厉害。</p>
<p>5.突然间冒出大量的NullPointException<br />
重新build一下看看先。</p>
<p>6.="Flush during cascade is dangerous - this might occur if an object was deleted and then re-saved by cascade" </p>
<p>7.Tapestry的出错信息：<br />
Class com.bookshop.Hello does not implement the IPage interface. <br />
location: context:/WEB-INF/Home.page, line 6 <br />
原因：与显示有关的哪个java类没有从IPage家族继承。</p>
<p>8.使用ant时给出的路径好象不允许出现空格。</p>
<p>9.由于使用ant时用junit做测试的话，classpath中出现j2ee.jar的话，问题多多。例如xml格式的log文件生成不了，莫名其妙的NullPointException等。所以我设置了两个包个包含j2ee.jar，为编译用；一个没有,为junit用</p>
<p>10.进行单元测试时，在查询返回后应马上assertNotNull()，这样可以更快速的定位NullPointException</p>
<p>11.要使用ResourceBundle的话，要千万小心。必须用日志记录下它的状态。还有该属性文件应该放在classes下面。</p>
<p>12.当要显示任何页面时，都被提示无效，那么应该检查一下lib目录了，还有一些很奇怪的异常，例如你明明可以找到一个类但是服务器却提示ClassNotDefException，那么估计是缺少了该类所必须的包了。或者多了不兼容的包，如, xdoclet系列包不被struts的lib目录所兼容</p>
<p>13.编写clone时从Java编程思想(2nd)上学到的(732)：<br />
.引数传递过程中会自动产生别名(alias)。<br />
.没有局域对象(local objects)，只有局域性的(local)references。<br />
.reference受范围(scope)的限制，对象则否。<br />
.对象的寿命从来不是Java的讨论议题(因为有垃圾回收机制)</p>
<p>14.try catch finally的域居然是分离的。</p>
<p>15.jsp乱码的其中一个原因：charset="gb2312" 等号"="的两边不允许有空格。</p>
<p>16.我的基于Displaytag的简单报表解决方案。<br />
http://displaytag.sourceforge.net/<br />
下载displaytag.jar和displaytag.tld<br />
displaytag.jar放在lib目录，而displaytag.tld放在WEB-INF目录，在web.xml中为displaytag.tld声明一下。<br />
&nbsp; &lt;taglib&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;taglib-uri&gt;http://displaytag.org&lt;/taglib-uri&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;taglib-location&gt;/WEB-INF/displaytag.tld&lt;/taglib-location&gt;<br />
&nbsp; &lt;/taglib&gt;<br />
在jsp里使用前，加上<br />
&nbsp; &lt;%@ taglib uri="http://displaytag.org" prefix="display" %&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
注意该软件有个bug，他要用的一个包common-lang.jar版本必须在2.0以上。<br />
如果碰到下面异常，则应坚持一下是否该包的版本问题。<br />
java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.capitalize(Ljava/lang/String;)Ljava/lang/String;<br />
然后就可放心使用了<br />
&lt;display:column property = "xxx"/&gt;其中xxx为对象中的带有getter的变量&gt;。<br />
定义表格的样子，用css定义。如<br />
TABLE.its THEAD TR {<br />
&nbsp;BACKGROUND-COLOR: #69c<br />
}<br />
TABLE.its TR.even {<br />
&nbsp;BACKGROUND-COLOR: #def<br />
}<br />
在使用分页时，可能会出现这种情况，点击其他页时，弹出下载窗口，让你下载当前jsp页面，这是因为你在当前页面读取了数据的缘故。解决办法为在action里读取数据而不是在jsp里。可以参考<br />
http://www.displaytag.org/example-paging.jsp?d-26189-p=2</p>
<p>17.使用displaytag时，在一列中放入多个元素<br />
必须在display:table中定义一个id<br />
&lt;display:table name = "allBooks" class = "its" pagesize = "5" id = "item"&gt;<br />
&nbsp; &lt;display:column title = "操作"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;a href = "/Bookshop/admin/bookManagement.do?action=view&amp;id=&lt;%=((Book)item).getId()%&gt;" target = "_blank" &gt;查看&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;a href = "/Bookshop/admin/bookManagement.do?action=edit&amp;id=&lt;%=((Book)item).getId()%&gt;"&gt;编辑&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;a href = "/Bookshop/admin/bookManagement.do?action=delete&amp;id=&lt;%=((Book)item).getId()%&gt;"&gt;删除&lt;/a&gt;<br />
&nbsp; &lt;/display:column&gt;<br />
要在displaytag中使用链接，必须具备paramId，否则不显示为链接<br />
&nbsp;&lt;display:column property = "product.name" href = "viewDetailV2.0.jsp" title = "书名" paramId="item" paramProperty="product.id"/&gt;<br />
可以这样使用display<br />
&nbsp; &lt;display:column property = "product.id" title = "ID"/&gt;<br />
其中product为对象</p>
<p>18.&lt;bean:write name = "xxxx" property = "xxx"/&gt; 可以直接取到session.getAttribute()取到的东西。</p>
<p>19.实验struts-upload例子时要注意的地方：<br />
&nbsp;&nbsp; 1.If you would rather write this file to another file, please check here:<br />
&nbsp;这一行要打钩<br />
&nbsp;&nbsp; 2.If you checked the box to write to a file, please specify the file path here:<br />
在这里要重命名如：c:\b.jpg<br />
上传成功的话，会出现提示 The file has been written to "c:\b.jpg"</p>
<p>20.Hibernate的like可以这么用：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Query query = session.createQuery("from src.persistent.Book as book where upper(book.name) like :name ");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; query.setString("name", "%");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result = query.list();</p>
<p>21.Hibernate出现 duplicate import : className<br />
异常也可能是因为忘了为持久类在configuration中addClass了<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
22.&lt;logic:iterate id = "author" name = "authors"&gt;<br />
name所引用的是session里的attribute。</p>
<p>23.如果发现要出现询问下载的情况，有可能是因为要跳转的页面出现了问题。试试在要跳转到的页删掉<br />
&lt;%@ page contentType="text/html; charset=gb2312"%&gt;</p>
<p>24.如果JSP页面跳转时出现下边的错误信息：<br />
The request sent by the client was syntactically incorrect (Invalid path /web/shoppingCart was requested).<br />
原因是struts-config的action = "x" 写成了 action = "x.do"</p>
<p>25.在struts中，strut-config.xml中，forward时使用redirect = "true"可以将.do重定向为.jsp</p>
<p>26.以后在判断相等性之前先用logger把两个值显示出来。</p>
<p>27.从session里getAttribute后，修改并不需要重新setAttribute一次。</p>
<p>28.在hibernate中使用subclass是一棵继承树共用一个表，仅生成个mapping。<br />
每个类中必须有discrimator-value。在最上层的类中必须声明：<br />
@hibernate.discriminator column = "class"。<br />
不可以将子类添加到configuration里去。(即不可addClass(子类))<br />
使用Xdoclet的建立subclass的例子(该类是父类)<br />
/**<br />
&nbsp;* @hibernate.class discriminator-value = "customer"<br />
&nbsp;* @hibernate.discriminator column = "class"<br />
&nbsp;*/</p>
<p>而使用joined-subclass则是一类一表,也不许将子类添加进configuration里去。<br />
/**<br />
&nbsp;* @hibernate.joined-subclass<br />
&nbsp;* @hibernate.joined-subclass-key<br />
&nbsp;* column="customer_id"<br />
&nbsp;*/<br />
如果发现生成的mapping文件中joined-subclass的key column为空，那么可能是@hibernate.joined-subclass-key这句没有写对。<br />
用joined-subclass生成的表，仔细看。Member extends Customer<br />
create table Customer (<br />
&nbsp;&nbsp; id VARCHAR2(255) not null,<br />
&nbsp;&nbsp; name VARCHAR2(255),<br />
&nbsp;&nbsp; description VARCHAR2(255),<br />
&nbsp;&nbsp; primary key (id)<br />
)<br />
create table Member (<br />
&nbsp;&nbsp; customer_id VARCHAR2(255) not null,<br />
&nbsp;&nbsp; password VARCHAR2(255),<br />
&nbsp;&nbsp; primary key (customer_id)<br />
)</p>
<p>29.在junit中尽量使用assertEquals代替assertTrue;</p>
<p>30.Hibernate<br />
如果Child extends Parent<br />
那么from Parent as parent 也将会将Child选出来，而from Child as child 则不会选出Parent</p>
<p>31.Hibernate<br />
使用hibernate的one-to-one时，应该两方向都set,否则会报save NullPointException<br />
parent.setChild(child);<br />
child.setParent(parent);</p>
<p>32.Hibernate<br />
遇到下边的异常，估计是与因为外键出现了问题：</p>
<p>java.lang.NullPointerException<br />
&nbsp;at net.sf.hibernate.persister.AbstractEntityPersister.getPropertyValue(AbstractEntityPersister.java:675)<br />
&nbsp;at net.sf.hibernate.id.ForeignGenerator.generate(ForeignGenerator.java:33)<br />
如:<br />
* @hibernate.id generator-class = "foreign"<br />
* @hibernate.generator-param name = "property" value = "customer"<br />
* @hibernate.one-to-one name = "custmoer" class = "src.persistent.Customer"<br />
value的值和one-to-one 中name的值不符，则会出现上边的异常。如果不显示指定name则默认取成员变量名<br />
如<br />
Customer a<br />
则name = "a" 需要小心的是不是类名。所以，以后最好显示指定名字为好。</p>
<p>33.出现异常：<br />
Exceptionobject references an unsaved transient instance - save the transient instance before flushing: src.persistent.Product<br />
原因没有为某对象进行set设置， 如上边的这个就是某对象没有调用setProduct</p>
<p>34.<br />
"xxx action = "/a" 不用.do和根目录名<br />
&lt;a href = "b.do" 需要.do和根目录名</p>
<p>35.<br />
Caused by: java.sql.SQLException: ORA-02291: 违反完整约束条件 (BOOKSHOP.FK4AAEE<br />
47687CCA6B) - 未找到父项关键字<br />
如果你觉得该做的e是出现这个问题，那么检查一下，是否将类的继承关系在hibernate的mapping中反映了出来。joined-subclass或subclass<br />
例如a extends b<br />
如果持久类c 需要Set的是持久类a，那么你把b传入，而b又没有在mapping中将父子关系反映出来的话，就会出现该异常</p>
<p>36.使用DynaActionForm需要注意的问题<br />
在struts-config声明<br />
&lt;form-bean name="memberloginForm" dynamic ="true" type="org.apache.struts.action.DynaActionForm"&gt;<br />
&nbsp; &lt;form-property name = "name" type = "java.lang.String"/&gt;<br />
&nbsp; &lt;form-property name = "password" type = "java.lang.String"/&gt;<br />
&lt;/form-bean&gt;<br />
在Action里将form强制转化成DynaActionForm，然后get("属性名")就可以了</p>
<p>37.那位大侠能给出一个用hibernate进行分页得实际例子，学习中！ <br />
http://forum.hibernate.org.cn/viewtopic.php?t=1772<br />
Query q = s.find("....."); <br />
q.setFirstResult(10);&nbsp;&nbsp; //&nbsp; 从第11条记录开始 <br />
q.setMaxResults(100);&nbsp; //&nbsp; 取出100条 <br />
......</p>
<p>38.struts的validate最简单实现<br />
1.首先准备好错误提示信息。<br />
xxx.properties 里<br />
errors.required={0} is required.(默认已有)<br />
2.Form必须从ValidatorForm继承<br />
3.不可以重载ValidatorForm的validate函数<br />
4.在validate.xml中为你想验证的表单进行验证设计。例如<br />
&lt;form name="logonForm"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;field property="userName" depends="required"&gt;<br />
&nbsp;&lt;arg0 key="prompt.userName"/&gt;<br />
&nbsp;(该参数将在显示错误信息是从xxx.properties读取prompt.userName,填入{}方括号里，取代0。如果是arg1将将填入{1}位置，以此类推。<br />
&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&lt;/form&gt;<br />
不需要在action里做任何处理。只管forward就行了。作为forward的目标页，不需要任何有关用于处理出错信息的处理。</p>
<p>39.服务器报<br />
The requested resource (/xxxx/xxx.htm) is not available.的很奇怪的一个的可能原因<br />
在web.xml中定义的tld，没有找到<br />
或者是lib目录下的包太多出现了问题。<br />
如<br />
&nbsp; &lt;taglib&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;taglib-uri&gt;/spring&lt;/taglib-uri&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;taglib-location&gt;/WEB-INF/spring.tld&lt;/taglib-location&gt;<br />
&nbsp; &lt;/taglib&gt;<br />
如WEB-INF目录下不存在spring.tld的话，就会报上边的错误</p>
<p>40.<br />
spring的xxx-servlet.xml的使用SimpleFormController系列的类问题：<br />
&nbsp; &lt;bean id = "priceIncreaseForm" class="PriceIncreaseFormController"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="sessionForm"&gt;&lt;value&gt;true&lt;/value&gt;&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="beanName"&gt;&lt;value&gt;priceIncrease&lt;/value&gt;&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="commandClass"&gt;&lt;value&gt;PriceIncrease&lt;/value&gt;&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="formView"&gt;&lt;value&gt;priceIncrease&lt;/value&gt;&lt;/property&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;property name="successView"&gt;&lt;value&gt;hello&lt;/value&gt;&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="productManager"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref bean="prodMan"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp; &lt;/bean&gt;<br />
这里要注意几个问题：<br />
(1)上边的PriceIncrease是了类名，必须在classes里存在该类，否则报：<br />
PropertyVetoExceptionsException: 1 errors:-- ErrorCodedPropertyVetoException: message=[Failed to convert property value of type [java.lang.String] to required type [java.lang.Class] for property named 'commandClass'; nested exception is: <br />
&nbsp;java.lang.IllegalArgumentException: Invalid class name [PriceIncrease]: PriceIncrease]; errorCode=[typeMismatch]<br />
java.lang.IllegalArgumentException: Invalid class name [PriceIncrease]: PriceIncrease<br />
(2)&lt;property name="formView"&gt;&lt;value&gt;priceIncrease&lt;/value&gt;&lt;/property&gt;<br />
这一行必不可少，priceIncrease是页面的名字，他将会是prefix + priceIncrease + suffix<br />
如果缺少该行，则报：<br />
javax.servlet.ServletException: Error in ModelAndView object or View resolution encountered by servlet with name 'pocketSpring': View to render cannot be null with ModelAndView [ModelAndView: materialized View is [null]; Model=[{priceIncrease=PriceIncrease@148e798, org.springframework.validation.BindException.priceIncrease=org.springframework.validation.BindException: BindException: 0 errors}]]</p>
<p>使用Errors的rejectValue相关问题：<br />
rejectValue(java.lang.String field, java.lang.String errorCode, java.lang.Object[] errorArgs, java.lang.String defaultMessage) <br />
Reject the given field of the current object, using the given error description.<br />
当前对象指的是xxx-servlet.xml中与validator类有联系的哪个对象。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
第一个是：当前对象的属性名，必须存在<br />
第二个是：将要从属性文件中读取的消息<br />
第三个是：传递给所读取的消息的参数，如：<br />
error.too-low=You have to specify a percentage higher than {0}!<br />
第四个是：当从属性文件中读取消息不成功时，所reject的值</p>
<p>以后从request中读取parameter可以借用spring的RequestUtils包里的<br />
getStringParameter<br />
public static java.lang.String getStringParameter(javax.servlet.http.HttpServletRequest request,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.lang.String name,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.lang.String defaultVal)<br />
Get a string parameter, with a fallback value. Never throws an exception. Can pass a distinguished value to default to enable checks of whether it was supplied. <br />
不会抛异常<br />
Hibernate的问题：2.1rc的问题<br />
INFO: cache provider: net.sf.ehcache.hibernate.Provider <br />
net.sf.hibernate.HibernateException: could not instantiate CacheProvider: <br />
解决办法，2.1rc比以前的版本多需要一个包<br />
ehcache.jar </p>
<p>43.static的问题<br />
static函数只可以访问static成员变量。<br />
而static变量可以被任何成员函数访问。</p>
<p>44.<br />
java.lang.NoClassDefFoundError: javax/transaction/Synchronization]; <br />
需要添加JTA.jar</font></p>
   <img src ="http://www.blogjava.net/fangts/aggbug/171125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2007-12-28 11:40 <a href="http://www.blogjava.net/fangts/archive/2007/12/28/171125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP中嵌套IF语句</title><link>http://www.blogjava.net/fangts/archive/2007/12/21/169329.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Fri, 21 Dec 2007 07:46:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2007/12/21/169329.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/169329.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2007/12/21/169329.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/169329.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/169329.html</trackback:ping><description><![CDATA[&lt;%<br />
&nbsp;&nbsp;int i = 1;<br />
&nbsp;&nbsp;%&gt;<br />
&nbsp;&nbsp;&lt;%<br />
&nbsp;&nbsp;if (i != 1) {<br />
&nbsp;&nbsp;%&gt;<br />
&nbsp;&nbsp;&lt;td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;%=3%&gt;<br />
&nbsp;&nbsp;&lt;/td&gt;<br />
&nbsp;&nbsp;&lt;%<br />
&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;%&gt;<br />
&nbsp;&nbsp;&lt;td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;%=5%&gt;<br />
&nbsp;&nbsp;&lt;/td&gt;<br />
&nbsp;&nbsp;&lt;%<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;%&gt;<br />
<br />
if(条件){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;值&lt;/td&gt;<br />
}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;值&lt;/td&gt;<br />
}
   <img src ="http://www.blogjava.net/fangts/aggbug/169329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2007-12-21 15:46 <a href="http://www.blogjava.net/fangts/archive/2007/12/21/169329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse汉化</title><link>http://www.blogjava.net/fangts/archive/2007/12/20/169040.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Thu, 20 Dec 2007 07:15:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2007/12/20/169040.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/169040.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2007/12/20/169040.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/169040.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/169040.html</trackback:ping><description><![CDATA[<div class="tit">&nbsp;</div>
<table style="table-layout: fixed">
    <tbody>
        <tr>
            <td>
            <div class="cnt">一、eclipse中文化<br />
            &nbsp;&nbsp;&nbsp;&nbsp;自己去下载汉化包地址如下:<a href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/L-3.2.1_" target="_blank">http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/L-3.2.1_Language_Packs-200609210945/NLpack1-eclipse-SDK-3.2.1-win32.zip</a><br />
            下载后用LINK安装方式<br />
            1、多国语言包下载成功在eclipse的安装目录内新建一个文件夹(假设在D:)，并命名为"language"，即：D:\eclipse\language<br />
            2、将解压后的语言包(名为"eclise")复制到"language"文件夹下，即路径为D:eclipse\language\eclipse（注意第二个eclipse为解压后的文件夹名字）<br />
            eclipse的安装目录内新建一个文件夹(假设在D:)，并命名为"links"&nbsp;，即：D:\eclipse\links<br />
            3、在"links"文件夹下再新建一个文本文档，并为该文档命名为"language.txt",然后再文档内编辑如下:path=D://Eclipse//language&nbsp;(注意：路径分隔符由两个反斜扛组成)，编辑完成保存后将.txt后缀名改为.link<br />
            4、重新启动"eclipse",便成功变为中文版eclipse</div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/fangts/aggbug/169040.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2007-12-20 15:15 <a href="http://www.blogjava.net/fangts/archive/2007/12/20/169040.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>删除目录及子文件(活动的也可以删除)</title><link>http://www.blogjava.net/fangts/archive/2007/12/19/168675.html</link><dc:creator>方涛升</dc:creator><author>方涛升</author><pubDate>Wed, 19 Dec 2007 03:02:00 GMT</pubDate><guid>http://www.blogjava.net/fangts/archive/2007/12/19/168675.html</guid><wfw:comment>http://www.blogjava.net/fangts/comments/168675.html</wfw:comment><comments>http://www.blogjava.net/fangts/archive/2007/12/19/168675.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fangts/comments/commentRss/168675.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fangts/services/trackbacks/168675.html</trackback:ping><description><![CDATA[<p>import java.io.File;<br />
import java.io.IOException;</p>
<p>public class Deldirectory {</p>
<p>&nbsp;/**<br />
&nbsp; * @param args<br />
&nbsp; */<br />
&nbsp;public static void del(String filepath) throws IOException {<br />
&nbsp;&nbsp;File f = new File(filepath);// 定义文件路径<br />
&nbsp;&nbsp;if (f.exists() &amp;&amp; f.isDirectory()) {// 判断是文件还是目录<br />
&nbsp;&nbsp;&nbsp;if (f.listFiles().length == 0) {// 若目录下没有文件则直接删除<br />
&nbsp;&nbsp;&nbsp;&nbsp;f.delete();<br />
&nbsp;&nbsp;&nbsp;} else {// 若有则把文件放进数组，并判断是否有下级目录<br />
&nbsp;&nbsp;&nbsp;&nbsp;File delFile[] = f.listFiles();<br />
&nbsp;&nbsp;&nbsp;&nbsp;int i = f.listFiles().length;<br />
&nbsp;&nbsp;&nbsp;&nbsp;for (int j = 0; j &lt; i; j++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (delFile[j].isDirectory()) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;del(delFile[j].getAbsolutePath());// 递归调用del方法并取得子目录路径<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delFile[j].delete();// 删除文件<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;del(filepath);// 递归调用<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;}</p>
<p>&nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;Deldirectory.del("d:\\sellindex");<br />
&nbsp;&nbsp;} catch (IOException e) {<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;}</p>
<p>}<br />
</p>
    <img src ="http://www.blogjava.net/fangts/aggbug/168675.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fangts/" target="_blank">方涛升</a> 2007-12-19 11:02 <a href="http://www.blogjava.net/fangts/archive/2007/12/19/168675.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>