﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-快乐人生</title><link>http://www.blogjava.net/caihaibo2008/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 03 May 2026 04:33:47 GMT</lastBuildDate><pubDate>Sun, 03 May 2026 04:33:47 GMT</pubDate><ttl>60</ttl><item><title>利用复合的javabean构造基于jasperreports的子报表(转)</title><link>http://www.blogjava.net/caihaibo2008/archive/2009/09/29/296856.html</link><dc:creator>caihaibo</dc:creator><author>caihaibo</author><pubDate>Tue, 29 Sep 2009 01:01:00 GMT</pubDate><guid>http://www.blogjava.net/caihaibo2008/archive/2009/09/29/296856.html</guid><wfw:comment>http://www.blogjava.net/caihaibo2008/comments/296856.html</wfw:comment><comments>http://www.blogjava.net/caihaibo2008/archive/2009/09/29/296856.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihaibo2008/comments/commentRss/296856.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihaibo2008/services/trackbacks/296856.html</trackback:ping><description><![CDATA[<p style="text-indent: 2em">前次，我曾经介绍过可以通过使用JRBeanCollectionDataSource()返回一个JRDataSource，当时javabean 的数据类型都是原始类型，不曾碰到过使用集合类的复合javabean。这次考虑仍然使用javabean 来构造数据源，由于对ireport的datasource的处理机制不是很熟悉，经过很多次尝试后才摸索出一个往子报表插入特定数据源的办法（不是传递父报表的数据源，而是将父报表的一个变量当成数据源传递给子报表！）</p>
<p style="text-indent: 2em">DEMO：</p>
<p style="text-indent: 2em">准备工作：</p>
<p style="text-indent: 2em">一、程序准备：</p>
<p style="text-indent: 2em">1、 创建复合javabean ：MainVO.java：（getter和setter方法自写）</p>
<p style="text-indent: 2em"></p>
<table border="1" cellspacing="0" cellpadding="0">
    <tbody>
        <tr>
            <td valign="top" width="576">
            <p>&nbsp;</p>
            <p style="text-indent: 2em">package com.test;</p>
            <p style="text-indent: 2em">import java.util.List;</p>
            <p style="text-indent: 2em">public class MainVO {</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; private String title;</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; private String time;</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; private List&lt;SubVO&gt; subList;</p>
            <p style="text-indent: 2em">}</p>
            <p style="text-indent: 2em"></p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p style="text-indent: 2em">2、 创建子表javabean：SubVO.java（getter和setter方法自写）</p>
<p style="text-indent: 2em"></p>
<table border="1" cellspacing="0" cellpadding="0">
    <tbody>
        <tr>
            <td valign="top" width="576">
            <p>&nbsp;</p>
            <p style="text-indent: 2em">package com.test;</p>
            <p style="text-indent: 2em">public class SubVO {</p>
            <p style="text-indent: 2em">private String name;</p>
            <p style="text-indent: 2em"></p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p style="text-indent: 2em">3、 创建JRAbstractBeanDataSourceProvider：TestSubReport.java</p>
<p style="text-indent: 2em"></p>
<table border="1" cellspacing="0" cellpadding="0">
    <tbody>
        <tr>
            <td valign="top" width="576">
            <p>&nbsp;</p>
            <p style="text-indent: 2em">package com.test;</p>
            <p style="text-indent: 2em">public class TestSubReport extends JRAbstractBeanDataSourceProvider {</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; public TestSubReport() {</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super(MainVO.class);</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; }</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; public JRDataSource create(JasperReport arg0) throws JRException {</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *测试数据，在使用中，不需要继承JRAbstractBeanDataSourceProvider，</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *只需要把集合类封装到JRBeanCollectionDataSource中就可以了</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; **/</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;MainVO&gt; mainList = new ArrayList&lt;MainVO&gt;();</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;SubVO&gt; list = new ArrayList&lt;SubVO&gt;();</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MainVO vo;</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**测试数据自写*/</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new JRBeanCollectionDataSource(mainList);</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; }</p>
            <p style="text-indent: 2em"></p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p style="text-indent: 2em">4、 创建外部测试类：TestMain.java:</p>
<p style="text-indent: 2em"></p>
<table border="1" cellspacing="0" cellpadding="0">
    <tbody>
        <tr>
            <td valign="top" width="576">
            <p>&nbsp;</p>
            <p style="text-indent: 2em">public static void main(String[] args) {</p>
            <p style="text-indent: 2em">String filename = "bin/SubReport.jasper";</p>
            <p style="text-indent: 2em">String outFileName = "bin/Out.html";</p>
            <p style="text-indent: 2em">/**测试数据mainList自写*/</p>
            <p style="text-indent: 2em">try {</p>
            <p style="text-indent: 2em">JasperPrint print = JasperFillManager.fillReport(filename, new HashMap(),new JRBeanCollectionDataSource(mainList));</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; JRExporter exporter = new JRHtmlExporter();</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp; exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outFileName);</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; exporter.exportReport();</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (JRException e) {</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; }</p>
            <p style="text-indent: 2em"></p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p style="text-indent: 2em">5、 创建Scriptlet：reportScriptlet.java</p>
<p style="text-indent: 2em">注意： 如果你从父报表传给子报表的数据源是个集合类型，且不需要任何的数据处理，这步可以省略，但需要注意我在第二部分的第7步骤的提示。</p>
<p style="text-indent: 2em">该类是用来进行类型转换的，要想让jasperreports识别数据源就必须把集合类封装到JRDataSource中。由于父报表把数据源传递给子报表是在afterDetailEval()方法之后，因此只需要重写该方法：</p>
<p style="text-indent: 2em"></p>
<table border="1" cellspacing="0" cellpadding="0">
    <tbody>
        <tr>
            <td valign="top" width="576">
            <p>&nbsp;</p>
            <p style="text-indent: 2em">package com.test;</p>
            <p style="text-indent: 2em">public class reportScriptlet extends JRAbstractScriptlet {</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; /**其余方法省略*/</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; @Override</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; public void afterDetailEval() throws JRScriptletException {</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("afterDetailEval...");</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List subList = (List)getFieldValue("subList");</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JRDataSource jr = new JRBeanCollectionDataSource(subList);</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *该值是在父报表中定义的一个变量Variables,</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *类型为net.sf.jasperreports.engine.JRDataSource</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *（需要手动填写Class Type）</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; **/</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setVariableValue("other", jr);</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; }</p>
            <p style="text-indent: 2em">}</p>
            <p style="text-indent: 2em"></p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp; 该Scriptlet供父报表使用</p>
<p style="text-indent: 2em">二、报表准备</p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 由于ireport的汉化很不完整，这里就使用英文的界面做demo(有兴趣汉化的，可以编辑位于ireport.jar包的it.businesslogic.ireport.locale下的Ireport_zh_CN.properties)。</p>
<p style="text-indent: 2em">1、 创建父报表：SubReport.jrxml，通过菜单栏：Data --&gt;Connections /Datasources --&gt;new选择JRDataSourceProvider定义如图：</p>
<p style="text-indent: 2em"><img title="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" border="0" alt="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/fefc727d53c948ae89cc2178cb1cd96a.png" /></p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Test 成功后（前提是先在ireport的classpath中设置工程编译文件夹路径）save。</p>
<p style="text-indent: 2em">2、 设置另一个数据源（给子报表用）在这里我选择了使用Custom JRDataSource</p>
<p style="text-indent: 2em"><img title="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" border="0" alt="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/9358447d4f574af29e9bcf91011bda2d.png" /></p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用Custom JRDataSource这里我必须在项目中编写一个额外的类用于测试：</p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p style="text-indent: 2em"></p>
<table border="1" cellspacing="0" cellpadding="0">
    <tbody>
        <tr>
            <td valign="top" width="504">
            <p>&nbsp;</p>
            <p style="text-indent: 2em">package com.test;</p>
            <p style="text-indent: 2em">public class CRDSFactory{</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; public static JRDataSource createDatasource(){</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; List&lt;SubVO&gt; list = new ArrayList&lt;SubVO&gt; ();</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; /**测试数据自写*/</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; return new JRBeanCollectionDataSource(list);</p>
            <p style="text-indent: 2em">&nbsp;&nbsp;&nbsp; }</p>
            <p style="text-indent: 2em">}</p>
            <p style="text-indent: 2em"></p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Test 成功后 save。</p>
<p style="text-indent: 2em">3、 注册字段Fileld</p>
<p style="text-indent: 2em">利用菜单中的Data --&gt; Report Query --&gt;DataSource Provider 获取字段，然后全选获取到的字段点击确认注册。</p>
<p style="text-indent: 2em"><img title="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" border="0" alt="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/1705355c8d54482593b3ce9bad2207be.png" /></p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p style="text-indent: 2em">4、 添加变量Variables</p>
<p style="text-indent: 2em">该变量用途是作为父报表传递给子报表的数据源，所以类型为JRDataSource</p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如图：</p>
<p style="text-indent: 2em"><img title="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" border="0" alt="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/682ca43f0bd040cf9defce1d68d94c04.png" /></p>
<p style="text-indent: 2em">5、 创建子报表： SubReport_subreport0.jrxml,(名字由系统生成) 点击工具栏中的&#8221;SubReport&#8221;图标，并确定好子报表的位置，利用系统的wizard一步一步设置，注意在第2步设置&#8221;Connection/Datasource &#8221;时最好选择&#8221;no connection or datasource&#8221;，因为我们的datasource是父报表中的一个变量)</p>
<p style="text-indent: 2em">6、 将ireport的Files视窗的其他报表文件关闭（大概需要这样，前几次因为没关闭出了点问题，不清楚什么原因）如果看不到Files视窗，可以通过菜单的View --&gt; Docking panes --&gt;Files 回显。单独选择刚才为该子报表而设置的数据源&#8220;custds&#8221;，通过刚才的Report Query --&gt;JavaBean Data Source读取子报表相关的javabean属性。选择后点ok将其注册到Fields中。如图：</p>
<p style="text-indent: 2em"><img title="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" border="0" alt="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/130d66c6e2f74804b8ba25c3210d10e1.png" /></p>
<p style="text-indent: 2em">7、 打开父报表，在设计窗口的子报表上右键，选择Properties --&gt;SubReport,设置由父报表传递给子报表的数据源：</p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p style="text-indent: 2em"><img title="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" border="0" alt="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/efa337aaa1b9479eaca3ad7ac72fd4dc.png" /></p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 提示：如果你略过了第一部分的第5步，这里的&#8220; $V{other} &#8221;要改成&#8220; new&nbsp;&nbsp;net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($V{other})&#8221;</p>
<p style="text-indent: 2em">8、 依次编译（使用动态连接）子报表、父报表(注意数据源的对应关系)，如果能通过父报表看到子报表的内容被填充，则说明测试成功了！如果不成功，检查刚才设置是否有遗漏的地方，最好重新创建子报表，有时并不是我们设置问题，ireport目前还不是很稳定，在编译和保存数据时很容易出错，有时连子报表都不认-_-!!</p>
<p style="text-indent: 2em">9、 </p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 效果图：（没有修饰，确实很难看&#8230;）</p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p style="text-indent: 2em"><img title="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" border="0" alt="利用复合的javabean构造基于jasperreports的子报表(转) - 涸辙之鱼 - 涸辙之鱼" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/a32f975de0244714874454ac8bbfff51.png" /></p>
<p style="text-indent: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注意事项：</p>
<p style="text-indent: 2em">?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 熟悉jaspereports的以手动编辑代码为主， ireport为辅，使用ireport时有时也必须手动编辑jasperreport，特别是在编译出错的时候。</p>
<p style="text-indent: 2em">? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不能把父报表的一个变量同时传递给多个子报表，不然可能只能显示一个或什么都不显示，如果需要这么做，请定义多个变量。</p>
<p style="text-indent: 2em">? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;子报表的添加不要用旧报表，即使你的旧报表是刚才使用的子报表。</p>
<p style="text-indent: 2em">? &nbsp;&nbsp;&nbsp;&nbsp; 如果子报表还要嵌套子报表的话，可以通过为子报表编写一个Scriptlet实现。</p>
<p style="text-indent: 2em">&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; 不过要清楚的是子报表有可能不执行afterDetailEval()和beforeDetailEval()（比如使用jdbc连 接，这也许跟子报表的数据源选择有关），最好先测试，具体原因希望达人告知！</p>
<p style="text-indent: 2em">? &nbsp;&nbsp;&nbsp;&nbsp;在使用ireport进行开发时，当修改了某个类时，就需要重启ireport才能看到修改的效果，即使是使用ireport的Scriptlet编辑器也一样。</p>
<p style="text-indent: 2em">? &nbsp;&nbsp;&nbsp;&nbsp;不是越高版本越好用，主要是缺少使用文档，连javadoc</p>
<img src ="http://www.blogjava.net/caihaibo2008/aggbug/296856.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihaibo2008/" target="_blank">caihaibo</a> 2009-09-29 09:01 <a href="http://www.blogjava.net/caihaibo2008/archive/2009/09/29/296856.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>查看被锁的表和解锁</title><link>http://www.blogjava.net/caihaibo2008/archive/2009/08/18/291640.html</link><dc:creator>caihaibo</dc:creator><author>caihaibo</author><pubDate>Tue, 18 Aug 2009 07:22:00 GMT</pubDate><guid>http://www.blogjava.net/caihaibo2008/archive/2009/08/18/291640.html</guid><wfw:comment>http://www.blogjava.net/caihaibo2008/comments/291640.html</wfw:comment><comments>http://www.blogjava.net/caihaibo2008/archive/2009/08/18/291640.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihaibo2008/comments/commentRss/291640.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihaibo2008/services/trackbacks/291640.html</trackback:ping><description><![CDATA[<div class="blog_content">查看被锁的表 <br />
<br />
select&nbsp;&nbsp; p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name&nbsp;&nbsp; from&nbsp;&nbsp; v$process&nbsp;&nbsp; p,v$session&nbsp;&nbsp; a,&nbsp;&nbsp; v$locked_object&nbsp;&nbsp; b,all_objects&nbsp;&nbsp; c&nbsp;&nbsp; where&nbsp;&nbsp; p.addr=a.paddr&nbsp;&nbsp; and&nbsp;&nbsp; a.process=b.process&nbsp;&nbsp; and&nbsp;&nbsp; c.object_id=b.object_id&nbsp;&nbsp; <br />
<br />
<br />
<br />
<br />
查看连接的进程 <br />
<br />
SELECT sid, serial#, username, osuser FROM v$session; <br />
<br />
<br />
<br />
<br />
杀掉进程 <br />
<br />
alter&nbsp;&nbsp; system&nbsp;&nbsp;&nbsp;&nbsp; kill&nbsp;&nbsp; session&nbsp;&nbsp; 'sid,serial#'; <br />
</div>
<img src ="http://www.blogjava.net/caihaibo2008/aggbug/291640.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihaibo2008/" target="_blank">caihaibo</a> 2009-08-18 15:22 <a href="http://www.blogjava.net/caihaibo2008/archive/2009/08/18/291640.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设置tomcat jdk</title><link>http://www.blogjava.net/caihaibo2008/archive/2009/08/17/291484.html</link><dc:creator>caihaibo</dc:creator><author>caihaibo</author><pubDate>Mon, 17 Aug 2009 06:26:00 GMT</pubDate><guid>http://www.blogjava.net/caihaibo2008/archive/2009/08/17/291484.html</guid><wfw:comment>http://www.blogjava.net/caihaibo2008/comments/291484.html</wfw:comment><comments>http://www.blogjava.net/caihaibo2008/archive/2009/08/17/291484.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihaibo2008/comments/commentRss/291484.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihaibo2008/services/trackbacks/291484.html</trackback:ping><description><![CDATA[修改bin下的catalina.bat中的java_home
 <img src ="http://www.blogjava.net/caihaibo2008/aggbug/291484.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihaibo2008/" target="_blank">caihaibo</a> 2009-08-17 14:26 <a href="http://www.blogjava.net/caihaibo2008/archive/2009/08/17/291484.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IOException while loading persisted sessions: java.io.EOFException</title><link>http://www.blogjava.net/caihaibo2008/archive/2009/08/03/289528.html</link><dc:creator>caihaibo</dc:creator><author>caihaibo</author><pubDate>Mon, 03 Aug 2009 01:25:00 GMT</pubDate><guid>http://www.blogjava.net/caihaibo2008/archive/2009/08/03/289528.html</guid><wfw:comment>http://www.blogjava.net/caihaibo2008/comments/289528.html</wfw:comment><comments>http://www.blogjava.net/caihaibo2008/archive/2009/08/03/289528.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihaibo2008/comments/commentRss/289528.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihaibo2008/services/trackbacks/289528.html</trackback:ping><description><![CDATA[<table>
    <tbody>
        <tr>
            <td>
            <p>&nbsp;</p>
            <p style="text-indent: 2em">严重: IOException while loading persisted sessions: java.io.EOFException</p>
            <p style="text-indent: 2em">java.io.EOFException</p>
            <p style="text-indent: 2em">at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)</p>
            <p style="text-indent: 2em">at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)</p>
            <p style="text-indent: 2em">at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)</p>
            <p style="text-indent: 2em">at java.io.ObjectInputStream.&lt;init&gt;(ObjectInputStream.java:280)</p>
            <p style="text-indent: 2em">at org.apache.catalina.util.CustomObjectInputStream.&lt;init&gt;(CustomObjectInputStream.java:58)</p>
            <p style="text-indent: 2em">at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:362)</p>
            <p style="text-indent: 2em">at org.apache.catalina.session.StandardManager.load(StandardManager.java:321)</p>
            <p style="text-indent: 2em">at org.apache.catalina.session.StandardManager.start(StandardManager.java:637)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:438)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardContext.start(StandardContext.java:4271)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)</p>
            <p style="text-indent: 2em">at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardService.start(StandardService.java:516)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.Catalina.start(Catalina.java:578)</p>
            <p style="text-indent: 2em">at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</p>
            <p style="text-indent: 2em">at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</p>
            <p style="text-indent: 2em">at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</p>
            <p style="text-indent: 2em">at java.lang.reflect.Method.invoke(Method.java:597)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)</p>
            <p style="text-indent: 2em">2008-10-21 15:18:18 org.apache.catalina.session.StandardManager start</p>
            <p style="text-indent: 2em">严重: Exception loading sessions from persistent storage</p>
            <p style="text-indent: 2em">java.io.EOFException</p>
            <p style="text-indent: 2em">at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)</p>
            <p style="text-indent: 2em">at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)</p>
            <p style="text-indent: 2em">at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)</p>
            <p style="text-indent: 2em">at java.io.ObjectInputStream.&lt;init&gt;(ObjectInputStream.java:280)</p>
            <p style="text-indent: 2em">at org.apache.catalina.util.CustomObjectInputStream.&lt;init&gt;(CustomObjectInputStream.java:58)</p>
            <p style="text-indent: 2em">at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:362)</p>
            <p style="text-indent: 2em">at org.apache.catalina.session.StandardManager.load(StandardManager.java:321)</p>
            <p style="text-indent: 2em">at org.apache.catalina.session.StandardManager.start(StandardManager.java:637)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:438)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardContext.start(StandardContext.java:4271)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)</p>
            <p style="text-indent: 2em">at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardService.start(StandardService.java:516)</p>
            <p style="text-indent: 2em">at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.Catalina.start(Catalina.java:578)</p>
            <p style="text-indent: 2em">at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</p>
            <p style="text-indent: 2em">at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</p>
            <p style="text-indent: 2em">at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</p>
            <p style="text-indent: 2em">at java.lang.reflect.Method.invoke(Method.java:597)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)</p>
            <p style="text-indent: 2em">at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)</p>
            <p style="text-indent: 2em">==================================================================================</p>
            <p style="text-indent: 2em">出现原因：tomcat对保存硬盘的session读取失败</p>
            <p style="text-indent: 2em">解决方法：打开TOMCAT的安装目录，在WORK文件夹找到当前项目文件夹，把里面的session.ser删除即可。</p>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/caihaibo2008/aggbug/289528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihaibo2008/" target="_blank">caihaibo</a> 2009-08-03 09:25 <a href="http://www.blogjava.net/caihaibo2008/archive/2009/08/03/289528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>myeclipse显示行号</title><link>http://www.blogjava.net/caihaibo2008/archive/2009/07/31/289217.html</link><dc:creator>caihaibo</dc:creator><author>caihaibo</author><pubDate>Fri, 31 Jul 2009 01:50:00 GMT</pubDate><guid>http://www.blogjava.net/caihaibo2008/archive/2009/07/31/289217.html</guid><wfw:comment>http://www.blogjava.net/caihaibo2008/comments/289217.html</wfw:comment><comments>http://www.blogjava.net/caihaibo2008/archive/2009/07/31/289217.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihaibo2008/comments/commentRss/289217.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihaibo2008/services/trackbacks/289217.html</trackback:ping><description><![CDATA[Preferences-&gt;General -&gt; Editors -&gt; Text Editors
<img src ="http://www.blogjava.net/caihaibo2008/aggbug/289217.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihaibo2008/" target="_blank">caihaibo</a> 2009-07-31 09:50 <a href="http://www.blogjava.net/caihaibo2008/archive/2009/07/31/289217.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat 缓存页面解决办法</title><link>http://www.blogjava.net/caihaibo2008/archive/2009/07/31/289215.html</link><dc:creator>caihaibo</dc:creator><author>caihaibo</author><pubDate>Fri, 31 Jul 2009 01:44:00 GMT</pubDate><guid>http://www.blogjava.net/caihaibo2008/archive/2009/07/31/289215.html</guid><wfw:comment>http://www.blogjava.net/caihaibo2008/comments/289215.html</wfw:comment><comments>http://www.blogjava.net/caihaibo2008/archive/2009/07/31/289215.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihaibo2008/comments/commentRss/289215.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihaibo2008/services/trackbacks/289215.html</trackback:ping><description><![CDATA[internet选项——常规——设置——Internet&#183;临时文件 （检查网页的较新版本）选中每次访问网页时
<img src ="http://www.blogjava.net/caihaibo2008/aggbug/289215.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihaibo2008/" target="_blank">caihaibo</a> 2009-07-31 09:44 <a href="http://www.blogjava.net/caihaibo2008/archive/2009/07/31/289215.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apache Ant 1.7 安裝</title><link>http://www.blogjava.net/caihaibo2008/archive/2008/11/29/243482.html</link><dc:creator>caihaibo</dc:creator><author>caihaibo</author><pubDate>Sat, 29 Nov 2008 15:24:00 GMT</pubDate><guid>http://www.blogjava.net/caihaibo2008/archive/2008/11/29/243482.html</guid><description><![CDATA[其實只要下載完後設定環境變數就可以了。<br />
<br />
<br />
下載後解壓縮到C槽，更名資料夾為ant<br />
接著設定以下環境變數，<br />
<br />
ANT_HOME=c:\ant<br />
JAVA_HOME=c:\jdk-1.5.0.05<br />
PATH=%PATH%;%ANT_HOME%\bin<br />
<br />
<br />
開始 -&gt; 控制台 -&gt; 系統 -&gt; 進階 -&gt; 環境變數 -&gt; <br />
1. 新增 -&gt; 變數名稱: ANT_HOME&nbsp; 變數值:<font color="#ff0000"><strong> c:\ant</strong></font> -&gt; 確定<br />
2. 找到變數Path -&gt;&nbsp;編輯 -&gt; 在變數值最後面加上<font color="#ff0000"><strong> ;%ANT_HOME%\bin</strong></font>&nbsp;&nbsp; (注意分號)<br />
確定離開後重新啟動電腦。<br />
<br />
<br />
重新啟動後，<br />
開始 -&gt; 執行 -&gt; cmd -&gt; 在命令提示字元下輸入 ant&nbsp;<br />
若出現<br />
Buildfile: build.xml does not exist!<br />
Build failed<br />
表示路徑已完成設定。<br />
 <img src ="http://www.blogjava.net/caihaibo2008/aggbug/243482.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihaibo2008/" target="_blank">caihaibo</a> 2008-11-29 23:24 <a href="http://www.blogjava.net/caihaibo2008/archive/2008/11/29/243482.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>养身秘诀 容易生气的人必看</title><link>http://www.blogjava.net/caihaibo2008/archive/2008/11/26/242896.html</link><dc:creator>caihaibo</dc:creator><author>caihaibo</author><pubDate>Wed, 26 Nov 2008 14:43:00 GMT</pubDate><guid>http://www.blogjava.net/caihaibo2008/archive/2008/11/26/242896.html</guid><wfw:comment>http://www.blogjava.net/caihaibo2008/comments/242896.html</wfw:comment><comments>http://www.blogjava.net/caihaibo2008/archive/2008/11/26/242896.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihaibo2008/comments/commentRss/242896.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihaibo2008/services/trackbacks/242896.html</trackback:ping><description><![CDATA[&nbsp; 美国《心身医学》杂志刊登一项最新研究显示，夫妻争执时保持缄默的女性面对死亡的几率是在争执中能自由表达意见女性的４倍，抑郁症和肠胃病在前者人群中较为常见。
<p><font color="#800080">　　&#8220;我常常跟女士说，如果跟你先生吵架了，什么时候把你气哭了再走，别气半截。&#8221;北京崔月犁传统医学研究中心研究员樊正伦说。</font></p>
<p><font color="#800080">　　&#8220;有人为了实验老鼠生气，就掐它尾巴让它生气，制造一个生气的模型，但那与人生气不可能一样，人就是人，是很难模拟的。&#8221;樊正伦指出，中医说喜、怒、忧、思、悲、恐、惊是作为一个正常人必须有的情绪，而这些情绪跟你的五脏密切相关。所以情绪的好坏、变化直接影响着你的生命活动。</font></p>
<p><font color="#800080">　　怒与肝相关。生气的时候肝气特别旺，一哭，肺气上来了，肺属金，肝属木，金克木，肺气一通肝气就调达了，如果气一半，肝气没下来，回头还得接着吵架不说，还容易得病。&#8220;所以，吵架时不能气半截，要吵透。&#8221;樊正伦说。</font></p>
<p><font color="#800080">　　五脏相互制约，如果可以很好地调整情绪，就可以少生很多病。樊正伦说，临床中发现，女人三四十岁时，甲状腺、卵巢、乳腺都容易出现一系列病变。其原因是35岁到42岁这个阶段，阳明脉衰，自身运化的能力弱了。而且这个年龄，上有老，下有小，在家里和单位都是顶梁柱，郁闷得不到疏散，这类疾病的发病率就非常高。</font></p>
<p><font color="#800080">　　他建议，这个年龄段的女性要自觉地调整自己的状态，调整自己的情绪，在特别抑郁的时候大哭一场，或者大骂一顿，能自如地嬉笑怒骂，疾病就会少很多。</font></p>
<p><font color="#800080">　　男性以阳气为主，表现得不像女人那么剧烈，不爱哭，什么事都憋着扛着，认为这样才是男子汉。这也是不对的，男人与女人一样，都需要宣泄，以免肝气郁结。</font></p>
<img src ="http://www.blogjava.net/caihaibo2008/aggbug/242896.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihaibo2008/" target="_blank">caihaibo</a> 2008-11-26 22:43 <a href="http://www.blogjava.net/caihaibo2008/archive/2008/11/26/242896.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>容易生气的人应该怎么办</title><link>http://www.blogjava.net/caihaibo2008/archive/2008/11/26/242884.html</link><dc:creator>caihaibo</dc:creator><author>caihaibo</author><pubDate>Wed, 26 Nov 2008 13:53:00 GMT</pubDate><guid>http://www.blogjava.net/caihaibo2008/archive/2008/11/26/242884.html</guid><wfw:comment>http://www.blogjava.net/caihaibo2008/comments/242884.html</wfw:comment><comments>http://www.blogjava.net/caihaibo2008/archive/2008/11/26/242884.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihaibo2008/comments/commentRss/242884.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihaibo2008/services/trackbacks/242884.html</trackback:ping><description><![CDATA[我认为生气就是当一个人认为某种事物或现象违背了他内心的准则或信念时产生的一种情绪体验。 <br />
我们每个人都有自己的信念系统和价值系统。比如说我认为怎么样才是对的，别人应该怎么样才是对的，我应该怎么样才是对的等等，一旦别人或自己的一些行为违背了这些标准，我们就会不高兴和生气。 <br />
<br />
这么看来生气是必然的了，确实如此。只不过生气也有轻重之分，也有难易之分。 <br />
<br />
一个人如果他的标准越宽容他就越难生气，所谓你的胸怀的大小决定于你生气事情的大小。动不动就生气的人，是因为他的信念系统和价值系统认同的范围太窄，所以别人或他自己的一些行为很容易触犯他的准则，使他不高兴，于是生气。其实别人可能根本就没有做错什么。当然别人做没做错也正是根据他的信念系统来评估的，所以别人的对错也没有客观标准，完全在于接受方的评价。 <br />
其实还有一点，就是不容易生气的人除了拥有比较宽容的信念系统以外，他还有一条直接避免生气的信念，那就是同理心，即将心比心。虽然他不赞同别人的意见或行为。但他能理解，如果能做到这一点，生气的次数大概要减少80％。 <br />
<br />
还有一条信念就是，可以将生气压到最低限度。那就是当别人的行为你不能赞同，也不能表示理解，可以说你认定他完全错误，这时候告诫自己，生气就是拿别人的错误来惩罚自己。有了这一条，你想生气都难了。 <br />
<br />
所以还是那句行话：生气是一种态度，是一种选择，全在乎你愿不愿意，不关别人的事。千万别说是谁惹了你，是谁令你生气，生气完全是你自己要的，自己选的。 <br />
<br />
建议:每天坚持做长跑也是锻练自控能力的好方法,每天2000米,这样你每天坚持,你的自控能力必然能改善,三天打鱼两天晒网就不可能改善的哦. <br />
<br />
我送你12个字:缓一缓 再生气 想一想 再行动！ <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
有句话送给你，不要拿别人的错误来惩罚自己。很多事情，也没必要事事完美，与其改变别人做的更好，不如先改变自己接受一些缺点。或者说把一些你看不惯的东西看成是芝麻绿豆大。 <br />
有个故事不知你有没听过，鸭子看东西时，眼睛是放大镜，它看到的人都很大，所以它看到人的时候，总是以为人要来打它，所以它会去咬人，牛看东西的时候，所以的东西在它的眼里都是蚂蚁一样这么小，所以它不会袭击人类。 <br />
<br />
<br />
<br />
要生气的时候先问问自己： <br />
我为什么生气？ <br />
生气有什么用？ <br />
生完气会给别人造成什么伤害？有什么后果？ <br />
<br />
回答完这几个问题，再从一数到十。<br />
<br />
<br />
告诉他：怒主肝，生气直接伤肝，肝脏出了问题会影响其他器官，继而身体病就来了。相信他知道了利害关系，会尽快控制自己的情绪。<br />
<br />
<br />
每次生气都记个数，看看自己每天会生多少次。 <br />
然后学习控制自己，慢慢减少次数！！ 
<img src ="http://www.blogjava.net/caihaibo2008/aggbug/242884.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihaibo2008/" target="_blank">caihaibo</a> 2008-11-26 21:53 <a href="http://www.blogjava.net/caihaibo2008/archive/2008/11/26/242884.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MyEclipse Update Progress Error解决方法</title><link>http://www.blogjava.net/caihaibo2008/archive/2008/11/21/241854.html</link><dc:creator>caihaibo</dc:creator><author>caihaibo</author><pubDate>Fri, 21 Nov 2008 06:57:00 GMT</pubDate><guid>http://www.blogjava.net/caihaibo2008/archive/2008/11/21/241854.html</guid><wfw:comment>http://www.blogjava.net/caihaibo2008/comments/241854.html</wfw:comment><comments>http://www.blogjava.net/caihaibo2008/archive/2008/11/21/241854.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/caihaibo2008/comments/commentRss/241854.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihaibo2008/services/trackbacks/241854.html</trackback:ping><description><![CDATA[MyEclipse Update Progress Error现象：<br />
频繁弹出Update Progress(Time of error:&#8230;&#8230;)窗口。<br />
.log文件里
<p>org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.IllegalArgumentException: Argument cannot be null) <br />
at org.eclipse.swt.SWT.error(SWT.java:3563) <br />
at org.eclipse.swt.SWT.error(SWT.java:3481) <br />
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:126) <br />
中略<br />
Caused by: java.lang.IllegalArgumentException: Argument cannot be null <br />
at org.eclipse.swt.SWT.error(SWT.java:3547) <br />
at org.eclipse.swt.SWT.error(SWT.java:3481) <br />
at org.eclipse.swt.SWT.error(SWT.java:3452) <br />
略</p>
<p>&nbsp;</p>
<p>解决方案<br />
在某英文网站上找到一下答案，试了，没好用。你们可以试下OK不？ <br />
a) leave myeclipse <br />
b) point explorer to the .metadata folder <br />
c) right mouse button select "search" giving criteria 'org.eclipse.update*' (without quotes) <br />
d) deleting all the files/folders found <br />
e) restart myeclipse </p>
<p>通过上面的联想到其它UpdateStamp的文件，到MyEclipse的安装目录，之下的&#8220;eclipseconfigurationorg.eclipse.update&#8221;目录， <br />
发现有一个，last.config.stamp。 <br />
a) leave myeclipse <br />
b) delete last.config.stamp <br />
c) restart myeclipse <br />
之后就没有同样的窗口弹出来。 <br />
但是，如果在某项目上右键打开项目的属性窗口，点击&#8220;Myeclipse&#8221;的Update按钮，又会弹出同样的窗口。 <br />
这样的话，只要再重复一下上述操作就OK。 </p>
<img src ="http://www.blogjava.net/caihaibo2008/aggbug/241854.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihaibo2008/" target="_blank">caihaibo</a> 2008-11-21 14:57 <a href="http://www.blogjava.net/caihaibo2008/archive/2008/11/21/241854.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>