<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>kerry.honghao</title>
    <description></description>
    <link>http://zhuhonghao.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
          <item>
        <title>Applet版JFreeChart演示</title>
        <author>kerry.honghao</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhuhonghao.javaeye.com">kerry.honghao</a>&nbsp;
                    链接：<a href="http://zhuhonghao.javaeye.com/blog/132752" style="color:red;">http://zhuhonghao.javaeye.com/blog/132752</a>&nbsp;
          发表时间: 2007年10月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <ul>
    <li>此演示基于Eclipse3.3开发</li>
    <li>使用到的附加类包jfreechart-1.0.6.jar、jcommon-1.0.10.jar、mysql-connector-java-5.0.6-bin.jar等。<br />
    </li>
</ul>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前段时间参加一个C/S架构的项目，项目中用到的技术有Struts、IBatis等。由于项目需要显示趋势图给用户，因此学习了一下JFreeChart，在此做个例子，希望对在项目中有相同需求的同仁们有点帮助。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ......<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近没时间写啦，啥也不说了，看附件程序吧。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注：解压缩程序并放到webapps目录下运行就能访问，sql目录中为数据库脚本，测试数据库为Mysql5.0。在实际运行中，可能会碰到数据库访问权限问题，在项目中的解决方法是我自己制作了一个jre的安装程序，将jre/lib/security/目录下的policy文件的权限设置好了，但是这个文件比SUN提供的JRE安装程序整整大了5M。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .......先说这么多，有时间再写.<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果Applet不能访问数据库，将附件中的java.policy文件替换掉jre安装目录中的/lib/security/java.policy文件即可。
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhuhonghao.javaeye.com/blog/132752#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/138' target='_blank'><span style="color:red;font-weight:bold;">加入阿里巴巴，发展潜力无限</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 17 Oct 2007 08:57:39 +0800</pubDate>
        <link>http://zhuhonghao.javaeye.com/blog/132752</link>
        <guid>http://zhuhonghao.javaeye.com/blog/132752</guid>
      </item>
          <item>
        <title>log4j的配置和简单应用示例</title>
        <author>kerry.honghao</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhuhonghao.javaeye.com">kerry.honghao</a>&nbsp;
                    链接：<a href="http://zhuhonghao.javaeye.com/blog/95790" style="color:red;">http://zhuhonghao.javaeye.com/blog/95790</a>&nbsp;
          发表时间: 2007年06月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <br />
对于众多的日志记录器来说，Log4j是使用最广泛的。关于如何配置log4j和web应用结合起来，下面是我用到的方法。<br />
1、在工程中引入log4j-1.2.12.jar和commons-logging.jar.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">commons-logging.jar的版本为1.0.3,低版本的配置稍有不同</font><br />
2、在WEB-INF\classes目录下新建commons-logging.properties文件，文件内容如下:
<div class="dp-highlighter">
<ol class="dp-j" start="1">
    <li class="alt"><span><span>org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger&nbsp;&nbsp;</span></span></li>
</ol>
</div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 此行将log实现指定为Log4j<br />
3、在WEB-INF\classes目录下新建log4j.properties文件,简单的配置文件示例如下：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-j" start="1">
    <li class="alt"><span><span class="comment">//logger</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>log4j.rootLogger=DEBUG,console&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="comment">//appender</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>log4j.appender.console=org.apache.log4j.ConsoleAppender&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="comment">//layout</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>log4j.appender.console.layout=org.apache.log4j.SimpleLayout&nbsp;&nbsp;</span></li>
</ol>
</div>
4、好了，运行服务器，控制台将会输出程序中定义的log.debug(&quot;&quot;)及更低级别的信息。<br />
<br />
对于复杂的log4j配置，只要参考log4j的文档，一样可以实现。
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhuhonghao.javaeye.com/blog/95790#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/138' target='_blank'><span style="color:red;font-weight:bold;">加入阿里巴巴，发展潜力无限</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 30 Jun 2007 14:17:36 +0800</pubDate>
        <link>http://zhuhonghao.javaeye.com/blog/95790</link>
        <guid>http://zhuhonghao.javaeye.com/blog/95790</guid>
      </item>
          <item>
        <title>用P6Spy监视iBatis的SQL输出</title>
        <author>kerry.honghao</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhuhonghao.javaeye.com">kerry.honghao</a>&nbsp;
                    链接：<a href="http://zhuhonghao.javaeye.com/blog/95774" style="color:red;">http://zhuhonghao.javaeye.com/blog/95774</a>&nbsp;
          发表时间: 2007年06月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <br />
最近公司项目用到iBatis,开发环境是JDeveloper + Oracle10g,在进行调试的时候感觉很不方便，因为后台并不打印SQL语句，而sqlmap.xml文件中的Sql语句错误又很难被发现，因此想到了用P6Spy帮一下忙，大致配置过程如下：<br />
<br />
1、下载P6Spy.jar文件,虽然p6spy很久没有更新了，但是也能满足我只是&ldquo;看看SQL语句&ldquo;的需要了。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.p6spy.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 直接下载p6spy-src.zip文件，因为要自定义p6spy的输出格式，而默认的输出中SQL中的空格导致察看SQL很不方便。<br />
2、解压缩，是一个Ant编译目录，打开build.xml文件，里面定义了编译所需要用到的JAR包。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其中jboss.jar为2.4.6,比较早的版本，如果应用服务器不是jboss的话可以把com\p6spy目录下的management目录删除，这样编译的时候就可以不用找jboss.jar文件了（不好找）。<br />
3、将com\p6spy\engine\logging\appender\FormattedLogger.java文件中的logSQL()方法更改为如下:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-j" start="1">
    <li class="alt"><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;logSQL(</span><span class="keyword">int</span><span>&nbsp;connectionId,</span><span class="keyword">long</span><span>&nbsp;elapsed,String&nbsp;category,</span></span></li>
    <li class="alt"><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String&nbsp;prepared,String&nbsp;sql){&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//String&nbsp;logEntry&nbsp;=&nbsp;now&nbsp;+&nbsp;&quot;|&quot;&nbsp;+&nbsp;elapsed&nbsp;+&nbsp;&quot;|&quot;&nbsp;+ <br />
    </span></span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //(connectionId==-1?&quot;&quot;:String.valueOf(connectionId))&nbsp;+&nbsp;&quot;|&quot;&nbsp;+ <br />
    </span></span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //category&nbsp;+&nbsp;&quot;|&quot;&nbsp;+&nbsp;prepared&nbsp;+&nbsp;&quot;|&quot;&nbsp;+&nbsp;sql;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//将sql中的多余空格删除掉</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;sql&nbsp;=&nbsp;sql.replaceAll(<span class="string">&quot;\\s+&quot;</span><span>,</span><span class="string">&quot;&nbsp;&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//定义成简单输出格式</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;logEntry&nbsp;=&nbsp;<span class="string">&quot;|&quot;</span><span>&nbsp;+&nbsp;category&nbsp;+&nbsp;</span><span class="string">&quot;|&quot;</span><span>&nbsp;+&nbsp;sql;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;logText(logEntry);&nbsp;&nbsp;</span></li>
    <li class=""><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<br />
4、运行Ant进行编译，默认目标即是生成jar文件。<br />
5、将dist\p6spy.jar拷贝到项目WEB-INF\lib目录下，也可以定义为自定义包变量引入到工程中。<br />
6、将spy.properties文件拷贝到目录WEB-INF\classes目录下。<br />
7、更改spy.properties文件，将项目中用到的数据库驱动改为com.p6spy.engine.spy.P6SpyDriver,并将spy.properties文件中的realdriver改为真实连接数据库的driver.<br />
8、完成。
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhuhonghao.javaeye.com/blog/95774#comments" style="color:red;">已有 <strong>2</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/138' target='_blank'><span style="color:red;font-weight:bold;">加入阿里巴巴，发展潜力无限</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 30 Jun 2007 13:49:00 +0800</pubDate>
        <link>http://zhuhonghao.javaeye.com/blog/95774</link>
        <guid>http://zhuhonghao.javaeye.com/blog/95774</guid>
      </item>
      </channel>
</rss>