<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>lveyo的BCNDYL</title>
    <description></description>
    <link>http://lveyo.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>关于div的隐藏</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/212878" style="color:red;">http://lveyo.javaeye.com/blog/212878</a>&nbsp;
          发表时间: 2008年07月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          div的visibility可以控制div的显示和隐藏，但是隐藏后页面显示空白<br /><br />style="visibility: none;"<br /><br />document.getElementById("typediv1").style.visibility="hidden";//隐藏<br /><br />document.getElementById("typediv1").style.visibility="visible";//显示<br /><br /><br />通过设置display属性可以使div隐藏后释放占用的页面空间，如下<br /><br />style="display: none;"<br /><br />document.getElementById("typediv1").style.display="none";//隐藏<br /><br />document.getElementById("typediv1").style.display="";//显示
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/212878#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 08 Jul 2008 22:47:32 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/212878</link>
        <guid>http://lveyo.javaeye.com/blog/212878</guid>
      </item>
      <item>
        <title>nl2br和htmlspecialchars的使用</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/210984" style="color:red;">http://lveyo.javaeye.com/blog/210984</a>&nbsp;
          发表时间: 2008年07月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          string nl2br (string $string)<br />说明：将换行符用 &lt;br/>代替<br />范例：<pre name="code" class="html">&lt;?php
echo nl2br("foo isn't\n bar");
?>
</pre><br />将输出：<br />foo isn't&lt;br /><br /> bar<br /><br />string htmlspecialchars  ( string $string  [, int $quote_style  [, string $charset  [, bool $double_encode  ]]] )<br />说明：将特殊字符转成 HTML 的字符串格式 ( &....; )。最常用到的场合可能就是处理客户留言的留言版了。<br />&#039;&amp;&#039; 转换成 &#039;&amp;amp;&#039;<br />&#039;&quot;&#039; (双引号)转换成 &#039;&amp;quot;&#039; 要设置ENT_NOQUOTES<br />&#039;&#039;&#039; (单引号)转换成 &#039;&amp;#039;&#039; 要设置ENT_QUOTES<br />&#039;&lt;&#039; (小于)转换成 &#039;&amp;lt;&#039;<br />&#039;&gt;&#039; (大于)转换成 &#039;&amp;gt;&#039;<br />htmlspecialchars()比htmlentities()支持的字符集多一些(PHP5支持12个)，不容易出线中文的乱码<br />范例：<br /><pre name="code" class="html">&lt;?php
$new = htmlspecialchars("&lt;a href='test'>Test&lt;/a>", ENT_QUOTES);
echo $new; 
?>
</pre><br />运行结果：&nbsp;&amp;lt;a&nbsp;href=&amp;#039;test&amp;#039;&amp;gt;Test&amp;lt;/a&amp;gt;<br />这两个函数一般用于网页提交内容的转换，防止恶意的注入HTML代码。
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/210984#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 03 Jul 2008 11:45:31 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/210984</link>
        <guid>http://lveyo.javaeye.com/blog/210984</guid>
      </item>
      <item>
        <title>JMX简单实例</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/205665" style="color:red;">http://lveyo.javaeye.com/blog/205665</a>&nbsp;
          发表时间: 2008年06月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一、概念<br /><br />1.什么是JMX：JMX（Java Management Extensions，即Java管理扩展）是一个为应用程序、设备、系统等植入管理功能的框架。<br /><br />2.JMX的特点：JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议，灵活的开发无缝集成的系统、网络和服务管理应用。JMX是一种应用编程接口，可扩充对象和方法的集合体，可以用于跨越一系列不同的异构操作系统平台、系统体系结构和网络传输协议，灵活的开发无缝集成的系统、网络和服务管理应用它提供了用户界面指导、Java类和开发集成系统、网络及网络管理应用的规范。 <br /><br />3.JMX的优点：JMX可以非常容易的使应用程序具有被管理的功能；提供具有高度伸缩性的架构；主要提供接口，允许有不同的实现 <br /><br />4.JMX的详细内容：<a href="http://www.itisedu.com/phrase/200604261751455.html" target="_blank">http://www.itisedu.com/phrase/200604261751455.html</a>（以上内容摘抄于此）<br /><br />二、简单实例<br /><br />1.建立一个需要被JMX管理的类Hello<br /><pre name="code" class="java">package bcndly.test.jmx;

public class Hello implements HelloMBean {
	
	private String name;

	public String getName() {
		return name;
	}

	public void printHello() {
		System.out.println("Hello, " + name);
	}

	public void printHello(String theName) {
		System.out.println("Hello, " + theName);
	}

	public void setName(String name) {
		this.name = name;
	}

}</pre><br /><br />2.建立Hello类的MBean接口，接口名必须是要管理的类名+MBean<br /><pre name="code" class="java">package bcndly.test.jmx;

public interface HelloMBean {
	
	public String getName();

	public void setName(String name);

	public void printHello();

	public void printHello(String theName);
}</pre><br /><br />3.创建一个Agent类<br /><pre name="code" class="java">package bcndly.test.jmx;

import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;

import com.sun.jdmk.comm.HtmlAdaptorServer;

public class HelloAgent {

	public static void main(String[] args) throws Exception {
		MBeanServer server = MBeanServerFactory.createMBeanServer();
		ObjectName helloName = new ObjectName("bcndyl:name=HelloWorld");
		server.registerMBean(new Hello(), helloName);
		ObjectName adapterName = new ObjectName("HelloAgent:name=htmladapter,port=8091");
		HtmlAdaptorServer adapter = new HtmlAdaptorServer();
		server.registerMBean(adapter, adapterName);
		adapter.start();
		System.out.println("start.....");
	}

}
</pre><br />说明：<ul><li>HtmlAdaptorServer在jmxtools.jar包中，需要到SUN网站下载JMX 1.2.1 Reference Implementation</li><li>MBeanServer是一个包含所有注册MBean的仓库.它是JMX代理层的核心.JMX1.0规范提供一个接口叫 javax.management.MBeanServer. 所有管理的在MBean操作通过MBeanServer执行.使用MBeanServer实例,你能够管理所有MBean.每一个MBean具有一个唯一标志,叫ObjectName.</li><li>ObjectName (javax.management.ObjectName)是一个类,唯一标志一个在MBeanServer的MBean.这个对象名称用于管理应用程序来标志MBean以便操作能够在适当的MBean上被调用.一个对象名称包含两部分：域名称和没有经过排序的一个或者多个关键属性集，语法：[domain name]:property=value[,property=value]</li><li>AdaptorServer，这个类将决定MBean的管理界面，这里用最普通的Html型界面。AdaptorServer其实也是一个MBean</li><li>运行HelloAgent，打开IE输入http://localhost:8091就可以看到注册的MBean，在控制台看printHello的输出结果</li></ul>
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/205665#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 19 Jun 2008 10:33:17 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/205665</link>
        <guid>http://lveyo.javaeye.com/blog/205665</guid>
      </item>
      <item>
        <title>Firefox3 is released</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/205061" style="color:red;">http://lveyo.javaeye.com/blog/205061</a>&nbsp;
          发表时间: 2008年06月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p style="text-align: center;"><a href="http://www.spreadfirefox.com/node&amp;id=237150&amp;t=302" target="_blank"></a></p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="http://www.spreadfirefox.com/node&amp;id=237150&amp;t=264" target="_blank"><img src="http://www.spreadfirefox.com/files/images/affiliates_banners/dday_badge_fox.png" height="200" alt="Download Day" width="250" /></a></p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p><span style="font-size: large;"><em>Firefox 3 is released on June 17, 2008.</em></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;<a href="http://www.spreadfirefox.com/node&amp;id=237150&amp;t=302" target="_blank"></a></p>
<p style="text-align: center;"><a href="http://www.spreadfirefox.com/node&amp;id=237150&amp;t=302" target="_blank"><img title="Download Day - Chinese" src="http://www.spreadfirefox.com/files/images/affiliates_banners/468x60_dday_zh-CN.png" border="0" alt="Download Day - Chinese" /></a></p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/205061#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 18 Jun 2008 11:23:26 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/205061</link>
        <guid>http://lveyo.javaeye.com/blog/205061</guid>
      </item>
      <item>
        <title>我的第一个正版杀毒软件</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/204520" style="color:red;">http://lveyo.javaeye.com/blog/204520</a>&nbsp;
          发表时间: 2008年06月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          前两天整理电脑桌的时候翻出来的，我的第一个正版杀毒软件——KV300。那个时代是KV和KILL的天下，电脑硬件还标配软驱，用软盘引导进入杀毒软件，那会还没有病毒实时监控，现在KV和KILL都没落了，人们电脑里装的最多的是卡巴斯基，瑞星和诺顿。<br />我今天也把笔记本里的卡巴斯基删除了，换成了免费的AVAST HOME，用着感觉还不错，而家里的电脑用UBUNTU，也没装杀毒软件。
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/204520#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' 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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 17 Jun 2008 00:00:24 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/204520</link>
        <guid>http://lveyo.javaeye.com/blog/204520</guid>
      </item>
      <item>
        <title>Ubuntu操作系统常用命令</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/195234" style="color:red;">http://lveyo.javaeye.com/blog/195234</a>&nbsp;
          发表时间: 2008年05月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          sudo apt－get install 软件名 安装软件命令<br />sudo nautilus 打开文件（有root权限）<br />fdisk fdisk -l 查看系统分区信息<br />fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区<br />Usermod -l 新用户名 老用户名 为用户改名<br />tar –cvf benet.tar /home/benet 把/home/benet目录打包<br />tar –zcvf benet.tar.gz /mnt 把目录打包并压缩<br />tar –zxvf benet.tar.gz 压缩包的文件解压恢复<br />tar –jxvf benet.tar.bz2 解压缩<br /><br /><br />uname -a 查看内核版本<br />cat /etc/issue 查看ubuntu版本<br />lsusb 查看usb设备<br />sudo ethtool eth0 查看网卡状态<br />cat /proc/cpuinfo 查看cpu信息<br />lshw 查看当前硬件信息<br />df -h 查看硬盘剩余空间<br />free -m 查看当前的内存使用情况<br />ps -A 查看当前有哪些进程<br /><br /><br /><br />常用apt命令：<br />apt-cache search package 搜索包<br />apt-cache show package 获取包的相关信息，如说明、大小、版本等<br />sudo apt-get install package 安装包<br />sudo apt-get install package - - reinstall 重新安装包<br />sudo apt-get -f install 修复安装”-f = –fix-missing”<br />sudo apt-get remove package 删除包<br />sudo apt-get remove package - - purge 删除包，包括删除配置文件等<br />sudo apt-get update 更新源<br />sudo apt-get upgrade 更新已安装的包<br />sudo apt-get dist-upgrade 升级系统<br />sudo apt-get dselect-upgrade 使用 dselect 升级<br />apt-cache depends package 了解使用依赖<br />apt-cache rdepends package 是查看该包被哪些包依赖<br />sudo apt-get build-dep package 安装相关的编译环境<br />apt-get source package 下载该包的源代码<br />sudo apt-get clean && sudo apt-get autoclean 清理无用的包<br />sudo apt-get check 检查是否有损坏的依赖<br /><br />本文出自 51CTO.COM技术博客<a href="http://zamp3.blog.51cto.com/308782/59438" target="_blank">http://zamp3.blog.51cto.com/308782/59438</a>
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/195234#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 May 2008 13:40:39 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/195234</link>
        <guid>http://lveyo.javaeye.com/blog/195234</guid>
      </item>
      <item>
        <title>开启TOMCAT6的GZIP压缩</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/194831" style="color:red;">http://lveyo.javaeye.com/blog/194831</a>&nbsp;
          发表时间: 2008年05月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          修改 $CATALINA_HOME/conf/server.xml<br /><br />找到：<br /><pre name="code" class="java">&lt;Connector port="8080"
protocol="HTTP/1.1"
maxThreads="150"
connectionTimeout="20000"
redirectPort="8443" /></pre><br /><br />与压缩相关的设置说明：<br /><ul><br />compression : The Connector can use HTTP/1.1 GZIP compression to get better bandwidth<br />from the server. This can be enabled via the compression attribute. The valid values are off (disables compression), on (enables compression), force (forces compression in all cases), or a numerical value that specifies the minimum amount of data required before the output is compressed.The default value of the compression attribute is off .<br /></ul><br /><ul><br />compressibleMimeTypes : This is a comma-separated list of MIME types for which HTTP compressions (see the next attribute) can be used. The default value is text/html,text/xml,text/plain .<br /></ul><br /><ul><br />noCompressionUserAgents : This is a comma-separated list that matches the HTTP UserAgent value of Web browsers that have a broken support for HTTP/1.1 compression. Regular expressions can be used here.<br /></ul><br /><br />修改后的server.xml<br /><pre name="code" class="java">
&lt;Connector port="8080" protocol="HTTP/1.1" maxThreads="150" 
compression="on" 
	noCompressionUserAgents="gozilla, traviata" 
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json"
               connectionTimeout="20000" 
               redirectPort="8443" />
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/194831#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' 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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 20 May 2008 15:12:51 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/194831</link>
        <guid>http://lveyo.javaeye.com/blog/194831</guid>
      </item>
      <item>
        <title>AMD64 UBUNTU中安装MyEclipse6.0.1</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/194596" style="color:red;">http://lveyo.javaeye.com/blog/194596</a>&nbsp;
          发表时间: 2008年05月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          安装MyEclipse_6_0_1GA_E3_3_1_Installer.bin的时候提示错误：<br /><br />Preparing to install...<br />Extracting the JRE from the installer archive...<br />Unpacking the JRE...<br />Extracting the installation resources from the installer archive...<br />Configuring the installer for this system's environment...<br /><br />Launching installer...<br /><br />exec: 2481: /tmp/install.dir.10999/Linux/resource/jre/bin/java: not found<br /><br /><br />$ java -version<br /><br />java version "1.6.0_06"<br />Java(TM) SE Runtime Environment (build 1.6.0_06-b02)<br />Java HotSpot(TM) 64-Bit Server VM (build 10.0-b22, mixed mode)<br /><br /><br />Google找了一下，看到一篇blog<a href="http://www.dualface.com/blog/?p=512" target="_blank">http://www.dualface.com/blog/?p=512</a>，有描述，需要安装libc6-i386 和 ia32-libs两个包，但是用32位版本的ubuntu就不用安装这两个包，我查了一下这两个包的说明<br /><br />libc6-i386：<br />GNU C Library: 32bit shared libraries for AMD64 <br />This package includes shared versions of the standard C<br />library and the standard math library, as well as many others.<br />This is the 32bit version of the library, meant for AMD64 systems.<br /><br />ia32-libs：<br />ia32 shared libraries for use on amd64 and ia64 systems<br />This package contains runtime libraries for the ia32/i386<br />architecture, configured for use on an amd64 or ia64 Debian system running a 64-bit kernel.
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/194596#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 19 May 2008 21:50:32 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/194596</link>
        <guid>http://lveyo.javaeye.com/blog/194596</guid>
      </item>
      <item>
        <title>Apache2.2和PHP5.2的配置</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/190603" style="color:red;">http://lveyo.javaeye.com/blog/190603</a>&nbsp;
          发表时间: 2008年05月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.将下载的php的zip包解压缩到c:\php<br /><br />2.默认安装apache2.2.4后，安装目录为：C:\Program Files\Apache Software Foundation\Apache2.2<br /><br />3.按照php.net网站的设置方法(<a href="http://www.php.net/manual/en/install.windows.apache2.php" target="_blank">http://www.php.net/manual/en/install.windows.apache2.php</a>)将php做为模块对apache进行配置：<br /><br /><pre name="code" class="java">
# For PHP 4 do something like this:
LoadModule php4_module "c:/php/php4apache2.dll"
# Don't forget to copy the php4apache2.dll file from the sapi directory!
AddType application/x-httpd-php .php

# For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"
</pre><br /><br />这样配置后apache启动失败，后来查询相关资料后，将配置改为：<br /><br /><pre name="code" class="java">
# For PHP 4 do something like this:
LoadModule php4_module "c:/php/php4apache2.dll"
# Don't forget to copy the php4apache2.dll file from the sapi directory!
AddType application/x-httpd-php .php

# For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"
</pre><br /><br />apache启动成功，测试php页也成功。
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/190603#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 07 May 2008 14:48:42 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/190603</link>
        <guid>http://lveyo.javaeye.com/blog/190603</guid>
      </item>
      <item>
        <title>innerHTML的性能问题</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/182891" style="color:red;">http://lveyo.javaeye.com/blog/182891</a>&nbsp;
          发表时间: 2008年04月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          看到一遍文章<a href="http://blog.stevenlevithan.com/archives/faster-than-innerhtml" target="_blank">When innerHTML isn’t Fast Enough</a>，反应了innerHTML在操作量大了以后的性能下降的问题。<br />并且给出了一个replaceHTML的函数<br /><pre name="code" class="js">function replaceHtml(el, html) {
	var oldEl = typeof el === "string" ? document.getElementById(el) : el;
	/*@cc_on // Pure innerHTML is slightly faster in IE
		oldEl.innerHTML = html;
		return oldEl;
	@*/
	var newEl = oldEl.cloneNode(false);
	newEl.innerHTML = html;
	oldEl.parentNode.replaceChild(newEl, oldEl);
	/* Since we just removed the old element from the DOM, return a reference
	to the new element, which can be used to restore variable references. */
	return newEl;
};</pre><br /><br />用这个函数来代替innerHTML后在不同浏览器中的性能表现为：<br />Safari 3:<br />5000 elements…<br />innerHTML (destroy only): 63ms<br />innerHTML (create only): 390ms<br />innerHTML (destroy & create): 484ms<br />replaceHtml (destroy only): 47ms (1.3x faster)<br />replaceHtml (create only): 15ms (26.0x faster)<br />replaceHtml (destroy & create): 62ms (7.8x faster)<br />Done.<br />10000 elements…<br />innerHTML (destroy only): 110ms<br />innerHTML (create only): 3500ms<br />innerHTML (destroy & create): 4735ms<br />replaceHtml (destroy only): 110ms (~ same speed)<br />replaceHtml (create only): 31ms (112.9x faster)<br />replaceHtml (destroy & create): 141ms (33.6x faster)<br />Done.<br /><br />Firefox 3:<br />5000 elements…<br />innerHTML (destroy only): 863ms<br />innerHTML (create only): 522ms<br />innerHTML (destroy & create): 1421ms<br />replaceHtml (destroy only): 20ms (43.1x faster)<br />replaceHtml (create only): 225ms (2.3x faster)<br />replaceHtml (destroy & create): 239ms (5.9x faster)<br />Done. 10000 elements…<br />innerHTML (destroy only): 5521ms<br />innerHTML (create only): 2626ms<br />innerHTML (destroy & create): 8528ms<br />replaceHtml (destroy only): 39ms (141.6x faster)<br />replaceHtml (create only): 373ms (7.0x faster)<br />replaceHtml (destroy & create): 422ms (20.2x faster)<br />Done.<br /><br />Opera 9.5:<br />5000 elements…<br />innerHTML (destroy only): 16ms<br />innerHTML (create only): 141ms<br />innerHTML (destroy & create): 94ms<br />replaceHtml (destroy only): 16ms (~ same speed)<br />replaceHtml (create only): 78ms (1.8x faster)<br />replaceHtml (destroy & create): 125ms (1.3x slower)<br />Done.<br />10000 elements…<br />innerHTML (destroy only): 31ms<br />innerHTML (create only): 156ms<br />innerHTML (destroy & create): 312ms<br />replaceHtml (destroy only): 31ms (~ same speed)<br />replaceHtml (create only): 203ms (1.3x slower)<br />replaceHtml (destroy & create): 157ms (2.0x faster)<br />Done.<br /><br />IE7:<br />1000 elements…<br />innerHTML (destroy only): 0ms<br />innerHTML (create only): 0ms<br />innerHTML (destroy & create): 0ms<br />replaceHtml (destroy only): 0ms (~ same speed)<br />replaceHtml (create only): 0ms (~ same speed)<br />replaceHtml (destroy & create): 0ms (~ same speed)<br />Done.<br />15000 elements…<br />innerHTML (destroy only): 31ms<br />innerHTML (create only): 156ms<br />innerHTML (destroy & create): 172ms<br />replaceHtml (destroy only): 32ms (~ same speed)<br />replaceHtml (create only): 157ms (~ same speed)<br />replaceHtml (destroy & create): 188ms (1.1x slower)<br />Done.<br /><br />似乎在IE上没有什么改进，但是在其它浏览器上效果明显。<br /><br />经常使用的prototype.js里是调用Element.update(element,content)来完成innerHTML操作的，打开prototype.js文件，修改update的部分<br /><pre name="code" class="js">update: function(element, content) {
    element = $(element);
    if (content && content.toElement) content = content.toElement();
    if (Object.isElement(content)) return element.update().insert(content);
    content = Object.toHTML(content);
    element.innerHTML = content.stripScripts();
    content.evalScripts.bind(content).defer();
    return element;
  },</pre><br />用replaceHTML函数代替element.innerHTML = content.stripScripts();这行就可以了。<br /><pre name="code" class="js">update: function(element, content) {
    element = $(element);
    if (content && content.toElement) content = content.toElement();
    if (Object.isElement(content)) return element.update().insert(content);
    content = Object.toHTML(content);
    element = replaceHtml(element, content.stripScripts());
    content.evalScripts.bind(content).defer();
    return element;
  },
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/182891#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' 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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 15 Apr 2008 13:47:56 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/182891</link>
        <guid>http://lveyo.javaeye.com/blog/182891</guid>
      </item>
      <item>
        <title>ubuntu下的MSN emesene</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/181043" style="color:red;">http://lveyo.javaeye.com/blog/181043</a>&nbsp;
          发表时间: 2008年04月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div style="text-align: center"><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/lveyo/Screenshot-emesene_s.jpg" /></div><br />emesene is an OS independent MSN Messenger client writed in python and GTK. The main idea is to make a client similar to the official MSN Messenger client but kepping it simple and with a nice GUI.<br /><br />emesene的界面和M$的MSN Messenger的界面非常相似，可以发送闪屏振动，并且支持离线消息。比Pidgin功能多一些，但是好像不能传文件。<br /><br />下载地址：<a href="http://www.getdeb.net/release.php?id=1120" target="_blank">http://www.getdeb.net/release.php?id=1120</a><br /><br />安装：  sudo dpkg -i emesene_0.0.0svn20070703-1~getdeb1_all.deb
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/181043#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' 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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 09 Apr 2008 22:32:17 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/181043</link>
        <guid>http://lveyo.javaeye.com/blog/181043</guid>
      </item>
      <item>
        <title>初试MG4J</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/178903" style="color:red;">http://lveyo.javaeye.com/blog/178903</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          按照网站提供的manual中的A Quick Tour of MG4J完成。<br /><br />在mg4j的官方网站下载<a href="http://mg4j.dsi.unimi.it/mg4j-2.1.1-bin.tar.gz" target="_blank">binary tarball</a>和<a href="http://mg4j.dsi.unimi.it/mg4j-deps.tar.gz" target="_blank">dependencies tarball</a>，解压在本地硬盘。<br /><br />以搜索mg4j的javadoc文档为例，<br />首先为要搜索的文件建立一个collection<br /><br /><pre name="code" class="java">
java it.unimi.dsi.mg4j.document.FileSetDocumentCollection -f HtmlDocumentFactory
 -p encoding=UTF-8 javadoc.collection D:\MG4J\mg4j-2.1.1-bin\mg4j-2.1.1\docs\*.html
</pre><br /><br />因为搜索的是html文档，所以这里指定了HtmlDocumentFactory，并且直接写factory的名字不用加包名；指定的编码类型为utf-8；生成的collection文件名为javadoc.collection；D:\MG4J\mg4j-2.1.1-bin\mg4j-2.1.1\docs\*.html为要搜索的文件，如果还有可以直接在后面添加文件名。<br /><br />运行后将生成javadoc.collection文件，这个文件就是一个包含要搜索的文件名的类型java实例序列化后的文件。<br /><br />第二步，为要搜索的文件生成索引。<br /><br /><pre name="code" class="java">java -Xmx256M it.unimi.dsi.mg4j.tool.IndexBuilder --keep-batches
 --downcase -s 10000 -S javadoc.collection javadoc</pre><br /><br />如果collection很大有数百万的文档，就要调整java的内存，以满足索引快速生成索引。<br />--keep-batches是为了查看生成索引时产出的临时文件，可以去掉。<br />--downcase是忽略大小写，搜索的时候STRING和string是一样的。<br />-s 10000设置了批量生成索引的大小。<br />-S javadoc.collection指定了collection文件为javadoc.collection。<br />javadoc为索引文件的文件名前缀。<br /><br />生成的索引文件为javadoc-title.*和javadoc-text.*<br /><br />第三步，启动查询器进行搜索<br /><br /><pre name="code" class="java">java it.unimi.dsi.mg4j.query.Query -h -i FileSystemItem 
-c javadoc.collection javadoc-text javadoc-title</pre><br /><br />可以打开浏览器输入http://localhost:4242/Query进行搜索，Query类中内置了jetty可以提供web服务。也可以在命令行输入要搜索的词。<br /><br />在运行上面的命令之前，一定要把dependencies tarball中的jar包加入到classpath中，才能正常运行。<br /><br />我也试了在要搜索的html文档中加入了一些中文html文档，在搜索中文的时候还是有问题，搜索无法进行。<br /><br />刚刚接触MG4J，还在阅读manual.....
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/178903#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 17:04:05 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/178903</link>
        <guid>http://lveyo.javaeye.com/blog/178903</guid>
      </item>
      <item>
        <title>全文搜索引擎MG4J</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/178751" style="color:red;">http://lveyo.javaeye.com/blog/178751</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          MG4J (Managing Gigabytes for Java) is a free full-text search engine for large document collections written in Java.<br /><br />The main points of MG4J are:<br /><br />    * Powerful indexing. Support for document collections and factories makes it possible to analyse, index and query consistently large document collections, providing easy-to-understand snippets that highlight relevant passages in the retrieved documents.<br />    * Efficiency. We do not provide meaningless data such as "we index x GiB per second" (with which configuration? which language? which data source?)—we invite you to try it. MG4J can index without effort the TREC GOV2 collection (document factories are provided to this purpose) and scales to hundreds of millions of documents.<br />    * Multi-index interval semantics. When you submit a query, MG4J returns, for each index, a list of intervals satisfying the query. This provides the base for several high-precision scorers and for very efficient implementation of sophisticated operators. The intervals are built in linear time using new research algorithms.<br />    * Expressive operators. MG4J goes far beyond the bag-of-words model, providing efficient implementation of phrase queries, proximity restrictions, ordered conjunction, and combined multiple-index queries. Each operator is represented internally by an abstract object, so you can easily plug in your favourite syntax.<br />    * Virtual fields. MG4J supports virtual fields—fields containing text for a different, virtual document; the typical example is anchor text, which must be attributed to the target document.<br />    * Flexibility. You can build much smaller indices by dropping term positions, or even term counts. It's up to you. Several different types of codes can be chosen to balance efficiency and index size. Documents coming from a collection can be renumbered (e.g., to match a static rank or experiment with indexing techniques).<br />    * Openness. The document collection/factory interfaces provide an easy way to present your own data representation to MG4J, making it a breeze to set up a web-based search engine accessing directly your data. Every element along the path of query resolution (parsers, document-iterator builders, query engines, etc.) can be substituted with your own versions.<br />    * Distributed processing. Indices can be built for a collection split in several parts, and combined later. Combination of indices allows non-contiguous indices and even the same document can be split across different collections (e.g., when indexing anchor text).<br />    * Multithreading. Indices can be queried and scored concurrently.<br />    * Clustering. Indices can be clustered both lexically and documentally (possibly after a partitioning). The clustering system is completely open, and user-defined strategies decide how to combine documents from different sources. This architecture makes it possible, for instance, to load in RAM the part of an index that contains terms appearing more frequently in user queries. <br /><br />MG4J is free software distributed under the GNU Lesser General Public License.<br /><br />homepage: http://mg4j.dsi.unimi.it/
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/178751#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 11:39:38 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/178751</link>
        <guid>http://lveyo.javaeye.com/blog/178751</guid>
      </item>
      <item>
        <title>AJAX framework Karora Cooee 1.1 released</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/176788" style="color:red;">http://lveyo.javaeye.com/blog/176788</a>&nbsp;
          发表时间: 2008年03月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          The Karora group has released version 1.1 of their Java-based AJAX framework Cooee. This release includes new components and several bug fixes aimed at improving browser compatibility and stability.<br /><br />The updates to Cooee include:<br />- Overall improved compatibility across all major browsers. Consequently, components now behave in a much more uniform way across different environments.<br />- Improved handling of Modal windows<br />- Changes to the way in which components register event handlers<br />- Improved component styling management<br />- Transparent color support<br />- Improved OSGI Support<br /><br />Amonst the updates, three new components have also been added to the component set, these are:<br />- RegExTextField: Validates input based on regular expressions with helpful user feedback<br />- IntegerTextField: Validates Integer number with helpful user feedback<br />- ActiveTextArea: A text area component which notifies the user when they have exceeded input limits<br /><br />Supporting documentation around the framework has also been vastly improved.<br /><br />Karora Cooee can be downloaded from the Karora website at <a href="http://www.karora.org/?q=node/14" target="_blank">http://www.karora.org/?q=node/14</a>. A full changelog is also available at the website.<br /><br />Karora Cooee was a project established in early 2007. The framework originates from a combination of Nextapp's Echo 2 framework and its supporting libraries such as EchoPointNG. Version 1.1 represents the project's 4th release. Karora also develops two other projects, Moomba and Orana, which are implementations of the Eclipse Workbench and JFace APIs for the Cooee framework.
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/176788#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 27 Mar 2008 15:31:11 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/176788</link>
        <guid>http://lveyo.javaeye.com/blog/176788</guid>
      </item>
      <item>
        <title>Spring2结合DWR2的用户注册的例子</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/175705" style="color:red;">http://lveyo.javaeye.com/blog/175705</a>&nbsp;
          发表时间: 2008年03月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.软件版本<br /><br />Spring-Version: 2.0.7   http://www.springframework.org/<br />DWR-version: 2.0.2  http://getahead.org/dwr<br />IDE: Eclipse 3.2 + MyEclipse 6.0<br /><br /><br />2.新建工程：dwrsping<br /><br />加入对spring的支持，并把dwr的jar包dwr.jar复制到WEB-INF\lib下<br />需要的jar包为：<br /><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/lveyo/1.JPG" /><br /><br /><br />3.编辑web.xml加入对spring和dwr的支持<br /><br /><pre name="code" class="xml">&lt;!-- DWR servlet 配置 -->
&lt;servlet>
	&lt;servlet-name>dwr-invoker&lt;/servlet-name>
	&lt;servlet-class>
		org.directwebremoting.spring.DwrSpringServlet
	&lt;/servlet-class>
	&lt;init-param>
		&lt;param-name>debug&lt;/param-name>
		&lt;param-value>true&lt;/param-value>
	&lt;/init-param>
&lt;/servlet>
&lt;servlet-mapping>
	&lt;servlet-name>dwr-invoker&lt;/servlet-name>
	&lt;url-pattern>/dwr/*&lt;/url-pattern>
&lt;/servlet-mapping>

&lt;!-- 设置Spring监听器 -->
&lt;listener>
	&lt;listener-class>
		org.springframework.web.context.ContextLoaderListener
	&lt;/listener-class>
&lt;/listener>
</pre><br /><br />说明：<br />org.directwebremoting.spring.DwrSpringServlet这个类是dwr专门为整合spring提供的一个servlet，加入这个之后，dwr的配置就可以写入到spring的配置文件applicationContext.xml中，省掉了dwr.xml<br /><br /><br />4.编辑jsp页面 index.jsp<br /><br /><pre name="code" class="html">&lt;%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

&lt;html>
  &lt;head>    
    &lt;title>DWR+SPRING&lt;/title>
    &lt;script type="text/javascript" src="dwr/engine.js">&lt;/script>
  	&lt;script type="text/javascript" src="dwr/util.js">&lt;/script>
  	&lt;script type="text/javascript" src="dwr/interface/UserAjaxHelper.js">&lt;/script>
  	&lt;script language="javascript">
  	function checkUser(widget){
		var username = widget.value;
		//将username传入到checkUsername方法，返回后调用showUsermsg的js方法
		UserAjaxHelper.checkUsername(username,showUsermsg);
	}

	//showUsermsg的方法定义，data为checkUsername的返回值
	var showUsermsg = function(data){
		if(data){
				DWRUtil.setValue("usermsg","&lt;font color='red'>此用户名已被使用&lt;/font>", { escapeHtml:false });
	 		}
	 		else{
				DWRUtil.setValue("usermsg","&lt;font color='green'>此用户名可以使用&lt;/font>", { escapeHtml:false });
	 		}
	}
  	&lt;/script>
  &lt;/head>
  
  &lt;body onload='dwr.util.useLoadingMessage()'>
    &lt;form action="#">
	    &lt;table border="0">
	    	&lt;tr>&lt;td>用户名：&lt;/td>&lt;td>&lt;input type="text" name="username" id="username" value="" onkeyup="checkUser(this);"/>&lt;span id="usermsg">&lt;/span>&lt;/td>&lt;/tr>
	    	&lt;tr>&lt;td>密码：&lt;/td>&lt;td>&lt;input type="password" name="userpwd" id="userpwd" value="">&lt;/td>&lt;/tr>
	    	&lt;tr>&lt;td>&lt;input type="submit" value="注册"/>&lt;/td>&lt;td>&lt;input type="reset" value="清空"/>&lt;/td>&lt;/tr>
	    &lt;/table>
    &lt;/form>
  &lt;/body>
&lt;/html></pre><br /><br />说明：<br /><pre name="code" class="html">&lt;script type="text/javascript" src="dwr/engine.js">&lt;/script>
&lt;script type="text/javascript" src="dwr/util.js">&lt;/script></pre><br />这两个是dwr默认要调用的js文件，必须写到文件里<br />UserAjaxHelper.js就是通过applicationContext.xml文件配置的AJAX操作类<br />调用的写法为：<br /><pre name="code" class="html">UserAjaxHelper.checkUsername(username,showUsermsg);
var showUsermsg = function(data){......}</pre><br /><br />有时写成：<br /><pre name="code" class="html">UserAjaxHelper.checkUsername(username,showUsermsg());
function showUsermsg (data){......}</pre><br />这样就会出问题，showUsermsg就会得不到返回值data，不知道为什么<br /><br /><br />5. 编辑spring的配置文件applicationContext.xml，加入对dwr的配置<br /><pre name="code" class="xml">
&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
	 http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd">
	 
	&lt;!-- DWR 配置开始 -->
	&lt;dwr:configuration>&lt;/dwr:configuration>&lt;!-- 必须要configuration -->
	&lt;dwr:controller id="dwrController" debug="true" />
	&lt;!-- DWR 配置结束 -->
	  
	 &lt;!-- spring bean配置 -->
	 &lt;bean id="userService" class="test.bcndyl.service.impl.UserServiceImpl">
	 &lt;/bean>
	 
	 &lt;bean id="userAjaxHelper" class="test.bcndyl.dwr.UserAjaxHelper">
		&lt;property name="userService" ref="userService" />
		&lt;!-- 定义调用的js文件 -->
		&lt;dwr:remote javascript="UserAjaxHelper">&lt;/dwr:remote>
	&lt;/bean>
	&lt;!-- end spring bean配置 -->
&lt;/beans>
</pre><br />说明：<br /><br />要加入dwr的定义<br /><br />xmlns:dwr=http://www.directwebremoting.org/schema/spring-dwr<br /><br />还有http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd<br /><br />所有dwr的定义要加dwr的前缀，由于只是传入string类型的username，所以就没有配置convert<br /><br />6.dwr调用的操作类UserAjaxHelper<br /><pre name="code" class="java">package test.bcndyl.dwr;

import test.bcndyl.service.IUserService;

public class UserAjaxHelper {
	
	private IUserService userService;

	public IUserService getUserService() {
		return userService;
	}

	public void setUserService(IUserService userService) {
		this.userService = userService;
	}
	
	public boolean checkUsername(String username){
		boolean returnVal = this.getUserService().isUserExist(username);
		return returnVal;
	}

}
</pre><br />用户操作的service接口IUserService<br /><pre name="code" class="java">package test.bcndyl.service;

public interface IUserService {
	
	//用户是否存在
	public boolean isUserExist(String username);

}
</pre><br />用户操作的service接口IUserService的实现类UserServiceImpl<br /><pre name="code" class="java">package test.bcndyl.service.impl;

import test.bcndyl.service.IUserService;

public class UserServiceImpl implements IUserService {

	@Override
	public boolean isUserExist(String username) {
		/*
		 *  添加访问数据库代码 
		 *  或者调用Hibernate方法
		 *  返回用户是否存在
		 *  true--用户存在，false-用户不存在
		 */
		
		//测试代码，检测用户名是否为hello，是hello返回true，不是hello返回false
		if("hello".equals(username))
			return true;
		return false;
	}

}
</pre><br /><br />7.检测dwr是否正确工作的方法，可以在浏览器地址栏输入http://localhost:8080/appName/dwr<br />可以看到可供dwr调用的方法<br /><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/lveyo/2.JPG" /><br /><br />8. 此例子程序运行结果<br /><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/lveyo/3.JPG" />
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/175705#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' 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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 25 Mar 2008 11:43:59 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/175705</link>
        <guid>http://lveyo.javaeye.com/blog/175705</guid>
      </item>
      <item>
        <title>LPAD和RPAD的用法</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/175716" style="color:red;">http://lveyo.javaeye.com/blog/175716</a>&nbsp;
          发表时间: 2008年03月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <h3 class="title">LPAD和RPAD的用法</h3><p>SELECT LPAD('A',10,'-') FROM DUAL;</p><p>A的右边插入10个'-'字符.</p><p>SELECT RPAD('A',10,'-') FROM DUAL;</p><p>A的左边插入10个'-'字符.&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/175716#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' 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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 04 Mar 2008 09:09:30 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/175716</link>
        <guid>http://lveyo.javaeye.com/blog/175716</guid>
      </item>
      <item>
        <title>Oracle与Access表之间的导入和导出实现</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/175717" style="color:red;">http://lveyo.javaeye.com/blog/175717</a>&nbsp;
          发表时间: 2008年02月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-family: 楷体_GB2312">问题的提出：如何在FORM的程序中实现Oracle与Access表之间的导入和导出。</span> <p>　　<strong>问题的解答：</strong></p><p>　　准备工作：</p><p>　　1.安装OCA。运行Developer的安装盘，选择自定义安装，选择Oracle Open Client Adapter for ODBC安装。</p><p>　　2.在数据源(ODBC)中添加DSN。控制面板-&gt;管理工具-&gt;数据源(ODBC)，选择&ldquo;用户DSN&rdquo;，添加要进行操作的Access的文件。在&ldquo;高级&rdquo;选项里，填上&ldquo;登录名称&rdquo;和&ldquo;密码&rdquo;(很重要，在程序中会用到)。</p><p>　　下面以实际例子来说明：</p><p>　　假设在Oracle中和Access中都有一个student表，表中字段相同(name char(10) ,age number(2))，在准备工作2中的&ldquo;数据源名&rdquo;为test，&ldquo;登录名称&rdquo;和&ldquo;密码&rdquo;都为user。</p><p>　　下面为从Oracle导出到Access的procedure：</p><p>&nbsp;</p><div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 4px; width: 95%; padding-top: 4px; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial; border: windowtext 0.5pt solid"><div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">PROCEDURE</span><span style="color: #000000">&nbsp;oracle_to_access&nbsp;</span><span style="color: #0000ff">IS</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　connection_id&nbsp;EXEC_SQL.ConnType;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　action_cursor&nbsp;EXEC_SQL.CursType;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　ignore&nbsp;PLS_INTEGER;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　t_name&nbsp;student.name</span><span style="color: #808080">%</span><span style="color: #000000">type;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　t_age&nbsp;student.age</span><span style="color: #808080">%</span><span style="color: #000000">type;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">cursor</span><span style="color: #000000">&nbsp;temp_cursor&nbsp;</span><span style="color: #0000ff">is</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;student;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">BEGIN</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　connection_id:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;EXEC_SQL.OPEN_CONNECTION(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">user/user@odbc:test</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　action_cursor&nbsp;:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;EXEC_SQL.OPEN_CURSOR(connection_id);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.PARSE(connection_id,&nbsp;action_cursor,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">delete&nbsp;*&nbsp;from&nbsp;student</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　ignore&nbsp;:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;EXEC_SQL.</span><span style="color: #0000ff">EXECUTE</span><span style="color: #000000">(connection_id,&nbsp;action_cursor);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.CLOSE_CURSOR(connection_id,action_cursor);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">open</span><span style="color: #000000">&nbsp;temp_cursor;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　export_count&nbsp;:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　action_cursor&nbsp;:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;EXEC_SQL.OPEN_CURSOR(connection_id);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.PARSE(connection_id,&nbsp;action_cursor,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">INSERT&nbsp;INTO&nbsp;student(name,age)&nbsp;values(:1,:2)</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　loop<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">fetch</span><span style="color: #000000">&nbsp;temp_cursor&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;t_name,t_age;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">exit</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">when</span><span style="color: #000000">&nbsp;temp_cursor</span><span style="color: #808080">%</span><span style="color: #000000">notfound;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.BIND_VARIABLE(connection_id,action_cursor,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">:1</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;t_name);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.BIND_VARIABLE(connection_id,action_cursor,&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">:2</span><span style="color: #ff0000">'</span><span style="color: #000000">,&nbsp;t_age);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　ignore&nbsp;:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;EXEC_SQL.</span><span style="color: #0000ff">EXECUTE</span><span style="color: #000000">(connection_id,&nbsp;action_cursor);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">end</span><span style="color: #000000">&nbsp;loop;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">close</span><span style="color: #000000">&nbsp;temp_cursor;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.PARSE(connection_id,&nbsp;action_cursor,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">commit</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　ignore&nbsp;:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;EXEC_SQL.</span><span style="color: #0000ff">EXECUTE</span><span style="color: #000000">(connection_id,action_cursor);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.CLOSE_CURSOR(connection_id,action_cursor);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.CLOSE_CONNECTION(connection_id);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXCEPTION<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">WHEN</span><span style="color: #000000">&nbsp;EXEC_SQL.PACKAGE_ERROR&nbsp;</span><span style="color: #0000ff">THEN</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">IF</span><span style="color: #000000">&nbsp;EXEC_SQL.LAST_ERROR_CODE(connection_id)&nbsp;</span><span style="color: #808080">!=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">THEN</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　message(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">数据导出至ACCESS失败:&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">||</span><span style="color: #000000">&nbsp;TO_CHAR(EXEC_SQL.LAST_ERROR_CODE&nbsp;(connection_id))&nbsp;</span><span style="color: #808080">||</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">:&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">||</span><span style="color: #000000">&nbsp;EXEC_SQL.LAST_ERROR_MESG(connection_id));<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">END</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">IF</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">IF</span><span style="color: #000000">&nbsp;EXEC_SQL.IS_CONNECTED(connection_id)&nbsp;</span><span style="color: #0000ff">THEN</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">IF</span><span style="color: #000000">&nbsp;EXEC_SQL.IS_OPEN(connection_id,action_cursor)&nbsp;</span><span style="color: #0000ff">THEN</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.CLOSE_CURSOR(connection_id,action_cursor);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">END</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">IF</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.CLOSE_CONNECTION(connection_id);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">END</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">IF</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">END</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　下面为从Access导出到Oracles的procedure：<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">PROCEDURE</span><span style="color: #000000">&nbsp;Access_to_oracle&nbsp;</span><span style="color: #0000ff">IS</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　connection_id&nbsp;EXEC_SQL.ConnType;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　action_cursor&nbsp;EXEC_SQL.CursType;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　ignore&nbsp;PLS_INTEGER;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　t_name&nbsp;student.name</span><span style="color: #808080">%</span><span style="color: #000000">type;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　t_age&nbsp;student.age</span><span style="color: #808080">%</span><span style="color: #000000">type;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">BEGIN</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　connection_id&nbsp;:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;EXEC_SQL.OPEN_CONNECTION(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">user/user@odbc:test</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　action_cursor&nbsp;:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;EXEC_SQL.OPEN_CURSOR(connection_id);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">delete</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;student;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.PARSE(connection_id,&nbsp;action_cursor,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">select&nbsp;name,age&nbsp;from&nbsp;student</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　ignore&nbsp;:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;EXEC_SQL.</span><span style="color: #0000ff">EXECUTE</span><span style="color: #000000">(connection_id,&nbsp;action_cursor);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　exec_sql.define_column(connection_id,action_cursor,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,t_name,</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　exec_sql.define_column(connection_id,action_cursor,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">,t_age);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　ignore&nbsp;:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;EXEC_SQL.</span><span style="color: #0000ff">EXECUTE</span><span style="color: #000000">(connection_id,&nbsp;action_cursor);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">while</span><span style="color: #000000">(exec_sql.fetch_rows(connection_id,action_cursor)</span><span style="color: #808080">&gt;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">)<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　loop<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　exec_sql.column_value(connection_id,action_cursor,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,t_name);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　exec_sql.column_value(connection_id,action_cursor,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">,t_age);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;test(name,age)&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(t_name,t_age);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">end</span><span style="color: #000000">&nbsp;loop;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">commit</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.CLOSE_CURSOR(connection_id,action_cursor);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.CLOSE_CONNECTION(connection_id);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXCEPTION<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">WHEN</span><span style="color: #000000">&nbsp;EXEC_SQL.PACKAGE_ERROR&nbsp;</span><span style="color: #0000ff">THEN</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">IF</span><span style="color: #000000">&nbsp;EXEC_SQL.LAST_ERROR_CODE(connection_id)&nbsp;</span><span style="color: #808080">!=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">THEN</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　message(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">数据导入至ORACLE失败:&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">||</span><span style="color: #000000">&nbsp;TO_CHAR(EXEC_SQL.LAST_ERROR_CODE&nbsp;(connection_id))&nbsp;</span><span style="color: #808080">||</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">:&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">||</span><span style="color: #000000">&nbsp;EXEC_SQL.LAST_ERROR_MESG(connection_id));<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">END</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">IF</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">IF</span><span style="color: #000000">&nbsp;EXEC_SQL.IS_CONNECTED(connection_id)&nbsp;</span><span style="color: #0000ff">THEN</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">IF</span><span style="color: #000000">&nbsp;EXEC_SQL.IS_OPEN(connection_id,action_cursor)&nbsp;</span><span style="color: #0000ff">THEN</span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.CLOSE_CURSOR(connection_id,action_cursor);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">END</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">IF</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　EXEC_SQL.CLOSE_CONNECTION(connection_id);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">END</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">IF</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />　　</span><span style="color: #0000ff">END</span><span style="color: #000000">;</span></div></div><br /><p>&nbsp;</p>&nbsp;注意：EXEC_SQL.BIND_VARIABLE中绑定的变量只能是以下三种类型：NUMBER，DATE，VARCHAR2。对于Access中的 &ldquo;是/否&rdquo;的布尔型变量，可以用NUMBER类型的1和0来表示。如果Access中的表名或者字段名中有空格，在写SQL语句的时候可以用双引号把表名 或者字段名包括起来，如：本例中如果Access中表名为student detail，字段名分别为student name和student age，那插入数据的SQL语句为：insert into &ldquo;student detail&rdquo;(&ldquo;student name&rdquo;,&rdquo;student age&rdquo;) values(:1,:2)。<br /><br />本文引用地址：<a href="http://www.tenwe.com/tech/database/oracle/200701/content_285.shtml">http://www.tenwe.com/tech/database/oracle/200701/content_285.shtml</a>
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/175717#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 28 Feb 2008 10:54:50 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/175717</link>
        <guid>http://lveyo.javaeye.com/blog/175717</guid>
      </item>
      <item>
        <title>给图片加水印图片</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/175721" style="color:red;">http://lveyo.javaeye.com/blog/175721</a>&nbsp;
          发表时间: 2008年02月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: #e6e6e6 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%"><div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;org.bcndyl.util;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.awt.</span><span style="color: #000000">*</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.awt.image.</span><span style="color: #000000">*</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.</span><span style="color: #000000">*</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.swing.</span><span style="color: #000000">*</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.imageio.ImageIO;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.sun.image.codec.jpeg.</span><span style="color: #000000">*</span><span style="color: #000000">;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" id="_199_1636_Open_Image" align="top" alt="" /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" id="_199_1636_Closed_Image" align="top" alt="" style="display: none" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;WaterMark&nbsp;</span><span style="border: 1px solid #808080; display: none; background-color: #ffffff">...</span><span><span style="color: #000000">{<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" id="_204_364_Open_Image" align="top" alt="" /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" id="_204_364_Closed_Image" align="top" alt="" style="display: none" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border: 1px solid #808080; display: none; background-color: #ffffff">/**&nbsp;*/</span><span><span style="color: #008000">/**</span><span style="color: #008000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;pressImg&nbsp;&nbsp;水印文件，最好用gif或者png可以支持透明<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;scourceImg&nbsp;&nbsp;&nbsp;原始图片文件<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;targetImg&nbsp;&nbsp;&nbsp;&nbsp;生成图片文件<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;x&nbsp;&nbsp;水印的横坐标<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;y&nbsp;&nbsp;水印的纵坐标<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" id="_471_1496_Open_Image" align="top" alt="" /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" id="_471_1496_Closed_Image" align="top" alt="" style="display: none" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;pressImage(String&nbsp;pressImg,&nbsp;String&nbsp;scourceImg,&nbsp;String&nbsp;targetImg,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;x,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;y)&nbsp;</span><span style="border: 1px solid #808080; display: none; background-color: #ffffff">...</span><span><span style="color: #000000">{<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" id="_479_1443_Open_Image" align="top" alt="" /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" id="_479_1443_Closed_Image" align="top" alt="" style="display: none" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span style="border: 1px solid #808080; display: none; background-color: #ffffff">...</span><span><span style="color: #000000">{<br /><img src="http://images.csdn.net/syntaxhighlighting/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;目标文件</span><span style="color: #008000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&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(scourceImg);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Image&nbsp;src&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ImageIO.read(_file);<br /><img src="http://images.csdn.net/syntaxhighlighting/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;width&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;src.getWidth(</span><span style="color: #0000ff">null</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/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;height&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;src.getHeight(</span><span style="color: #0000ff">null</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedImage&nbsp;image&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BufferedImage(width,&nbsp;height,<br /><img src="http://images.csdn.net/syntaxhighlighting/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;BufferedImage.TYPE_INT_RGB);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics&nbsp;g&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;image.createGraphics();<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.drawImage(src,&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">,&nbsp;width,&nbsp;height,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/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;水印文件</span><span style="color: #008000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;_filebiao&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(pressImg);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Image&nbsp;src_biao&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ImageIO.read(_filebiao);<br /><img src="http://images.csdn.net/syntaxhighlighting/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;width_biao&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;src_biao.getWidth(</span><span style="color: #0000ff">null</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/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;height_biao&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;src_biao.getHeight(</span><span style="color: #0000ff">null</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.drawImage(src_biao,&nbsp;width&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;width_biao&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;x,&nbsp;height&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;height_biao<br /><img src="http://images.csdn.net/syntaxhighlighting/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;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;y,&nbsp;width_biao,&nbsp;height_biao,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/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;g.drawImage(src_biao,&nbsp;(width&nbsp;-&nbsp;width_biao)&nbsp;/&nbsp;2&nbsp;-&nbsp;x,<br /><img src="http://images.csdn.net/syntaxhighlighting/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;(height&nbsp;-&nbsp;height_biao)&nbsp;/&nbsp;2&nbsp;-&nbsp;y,&nbsp;wideth_biao,&nbsp;height_biao,&nbsp;null);<br /><img src="http://images.csdn.net/syntaxhighlighting/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;水印文件结束</span><span style="color: #008000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.dispose();<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileOutputStream&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;FileOutputStream(targetImg);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JPEGImageEncoder&nbsp;encoder&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;JPEGCodec.createJPEGEncoder(out);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;encoder.encode(image);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.close();<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" id="_1465_1493_Open_Image" align="top" alt="" /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" id="_1465_1493_Closed_Image" align="top" alt="" style="display: none" />&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 style="border: 1px solid #808080; display: none; background-color: #ffffff">...</span><span><span style="color: #000000">{<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" id="_1539_1634_Open_Image" align="top" alt="" /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" id="_1539_1634_Closed_Image" align="top" alt="" style="display: none" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)</span><span style="border: 1px solid #808080; display: none; background-color: #ffffff">...</span><span><span style="color: #000000">{<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">测试方法</span><span style="color: #008000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WaterMark.pressImage(</span><span style="color: #000000">&quot;</span><span style="color: #000000">c:/press.png</span><span style="color: #000000">&quot;</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">&quot;</span><span style="color: #000000">c:/source.jpg</span><span style="color: #000000">&quot;</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">&quot;</span><span style="color: #000000">c:/target.jpg</span><span style="color: #000000">&quot;</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span><span style="color: #000000"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span></div></div>&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/175721#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 27 Feb 2008 12:02:20 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/175721</link>
        <guid>http://lveyo.javaeye.com/blog/175721</guid>
      </item>
      <item>
        <title>ORACLE中Where条件的顺序</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/175723" style="color:red;">http://lveyo.javaeye.com/blog/175723</a>&nbsp;
          发表时间: 2007年03月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>1、如果是多表连接，表连接的条件放在普通条件前<br />2、如果使用到了索引，该条件靠后<br />3、根据条件中筛选得到的记录百分比，越小的越靠后<br />4、数据量大的时候尽量不使用in</p><p><br />例如:<br />where a.id=b.id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --表连接条件<br />and a.month='200505'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --筛选出记录为总记录的60%<br />and b.state='B'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --筛选出记录为总记录的25%<br />and a.serv_id='123456'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --该字段用到索引&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/175723#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 Mar 2007 22:01:00 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/175723</link>
        <guid>http://lveyo.javaeye.com/blog/175723</guid>
      </item>
      <item>
        <title>一种网页进度条</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/175724" style="color:red;">http://lveyo.javaeye.com/blog/175724</a>&nbsp;
          发表时间: 2006年09月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;"><div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">html</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">head</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">meta&nbsp;</span><span style="color: rgb(255, 0, 0);">http-equiv</span><span style="color: rgb(0, 0, 255);">=&quot;Content-Language&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;content</span><span style="color: rgb(0, 0, 255);">=&quot;zh-cn&quot;</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">meta&nbsp;</span><span style="color: rgb(255, 0, 0);">http-equiv</span><span style="color: rgb(0, 0, 255);">=&quot;Content-Type&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;content</span><span style="color: rgb(0, 0, 255);">=&quot;text/html;&nbsp;charset=gb2312&quot;</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">title</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);">文件上传中</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">title</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">head</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">body</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">table&nbsp;</span><span style="color: rgb(255, 0, 0);">border</span><span style="color: rgb(0, 0, 255);">=&quot;1&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;width</span><span style="color: rgb(0, 0, 255);">=&quot;37%&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;cellspacing</span><span style="color: rgb(0, 0, 255);">=&quot;0&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;cellpadding</span><span style="color: rgb(0, 0, 255);">=&quot;4&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;style</span><span style="color: rgb(0, 0, 255);">=&quot;border-collapse:&nbsp;collapse&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;bgcolor</span><span style="color: rgb(0, 0, 255);">=&quot;#FFFFEC&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;height</span><span style="color: rgb(0, 0, 255);">=&quot;87&quot;</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">tr</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">td&nbsp;</span><span style="color: rgb(255, 0, 0);">bgcolor</span><span style="color: rgb(0, 0, 255);">=&quot;#3399FF&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;style</span><span style="color: rgb(0, 0, 255);">=&quot;font-size:12px;color:#ffffff&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;height</span><span style="color: rgb(0, 0, 255);">=24</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);">文件上传中...</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">tr</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">tr</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">td&nbsp;</span><span style="color: rgb(255, 0, 0);">style</span><span style="color: rgb(0, 0, 255);">=&quot;font-size:12px;line-height:200%&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;align</span><span style="color: rgb(0, 0, 255);">=center</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);">文件正在上传处理中.请耐心等待...<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">marquee&nbsp;</span><span style="color: rgb(255, 0, 0);">style</span><span style="color: rgb(0, 0, 255);">=&quot;border:1px&nbsp;solid&nbsp;#000000&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;direction</span><span style="color: rgb(0, 0, 255);">=&quot;right&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;width</span><span style="color: rgb(0, 0, 255);">=&quot;300&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;scrollamount</span><span style="color: rgb(0, 0, 255);">=&quot;5&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;scrolldelay</span><span style="color: rgb(0, 0, 255);">=&quot;10&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;bgcolor</span><span style="color: rgb(0, 0, 255);">=&quot;#ECF2FF&quot;</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">table&nbsp;</span><span style="color: rgb(255, 0, 0);">cellspacing</span><span style="color: rgb(0, 0, 255);">=&quot;1&quot;</span><span style="color: rgb(255, 0, 0);">&nbsp;cellpadding</span><span style="color: rgb(0, 0, 255);">=&quot;0&quot;</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">tr&nbsp;</span><span style="color: rgb(255, 0, 0);">height</span><span style="color: rgb(0, 0, 255);">=8</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">td&nbsp;</span><span style="color: rgb(255, 0, 0);">bgcolor</span><span style="color: rgb(0, 0, 255);">=#3399FF&nbsp;</span><span style="color: rgb(255, 0, 0);">width</span><span style="color: rgb(0, 0, 255);">=8</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">td&nbsp;</span><span style="color: rgb(255, 0, 0);">bgcolor</span><span style="color: rgb(0, 0, 255);">=#3399FF&nbsp;</span><span style="color: rgb(255, 0, 0);">width</span><span style="color: rgb(0, 0, 255);">=8</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">td&nbsp;</span><span style="color: rgb(255, 0, 0);">bgcolor</span><span style="color: rgb(0, 0, 255);">=#3399FF&nbsp;</span><span style="color: rgb(255, 0, 0);">width</span><span style="color: rgb(0, 0, 255);">=8</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">td&nbsp;</span><span style="color: rgb(255, 0, 0);">bgcolor</span><span style="color: rgb(0, 0, 255);">=#3399FF&nbsp;</span><span style="color: rgb(255, 0, 0);">width</span><span style="color: rgb(0, 0, 255);">=8</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">tr</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">table</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">marquee</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">tr</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">table</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">body</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">html</span><span style="color: rgb(0, 0, 255);">&gt;</span></div></div>&nbsp;<meta content="zh-cn" http-equiv="Content-Language" /><meta content="text/html; charset=gb2312" http-equiv="Content-Type" /><title></title><table cellspacing="0" border="1" height="87" width="37%" style="border-collapse: collapse;" cellpadding="4" bgcolor="#ffffec">    <tbody>        <tr>            <td height="24" style="font-size: 12px; color: rgb(255, 255, 255);" bgcolor="#3399ff">文件上传中...</td>        </tr>        <tr>            <td align="center" style="font-size: 12px; line-height: 200%;">文件正在上传处理中.请耐心等待...    <marquee scrolldelay="10" scrollamount="5" direction="right" width="300" style="border: 1px solid rgb(0, 0, 0);" bgcolor="#ECF2FF">            <table cellspacing="1" cellpadding="0">                <tbody>                    <tr height="8">                        <td width="8" bgcolor="#3399ff">&nbsp;</td>                        <td>&nbsp;</td>                        <td width="8" bgcolor="#3399ff">&nbsp;</td>                        <td>&nbsp;</td>                        <td width="8" bgcolor="#3399ff">&nbsp;</td>                        <td>&nbsp;</td>                        <td width="8" bgcolor="#3399ff">&nbsp;</td>                        <td>&nbsp;</td>                    </tr>                </tbody>            </table>            </marquee></td>        </tr>    </tbody></table>
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/175724#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 25 Sep 2006 18:09:00 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/175724</link>
        <guid>http://lveyo.javaeye.com/blog/175724</guid>
      </item>
      <item>
        <title>c#如何读INI文件中的设置信息</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/175725" style="color:red;">http://lveyo.javaeye.com/blog/175725</a>&nbsp;
          发表时间: 2006年09月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          using System;<br />using System.IO;<br />using System.Runtime.InteropServices;<br />using System.Text;<br /><br /><br />namespace Sx_Mdi<br />{<br /><br />/// &lt;summary&gt;<br />/// Summary description for Class1.<br />/// &lt;/summary&gt;<br />public class IniFile<br />{<br />//文件INI名称<br />public string Path;<br /><br />////声明读写INI文件的API函数 <br />[DllImport(&quot;kernel32&quot;)]<br /><br />private static extern long WritePrivateProfileString(string section,string key,string val,string filePath);<br /><br /><br />[DllImport(&quot;kernel32&quot;)]<br /><br />private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,int size,string filePath);<br /><br /><br />//类的构造函数，传递INI文件名<br />public IniFile(string inipath)<br />{<br />//<br />// TODO: Add constructor logic here<br />//<br />Path = inipath;<br />}<br /><br />//写INI文件<br />public void IniWriteValue(string Section,string Key,string Value)<br />{<br />WritePrivateProfileString(Section,Key,Value,this.Path);<br /><br />}<br /><br />//读取INI文件指定<br />public string IniReadValue(string Section,string Key)<br />{<br />StringBuilder temp = new StringBuilder(255);<br />int i = GetPrivateProfileString(Section,Key,&quot;&quot;,temp,255,this.Path);<br />return temp.ToString();<br /><br />}<br /><br /><br />}<br />}<br /><br />操作范例：<br /><br />public static SqlConnection MyConnection()<br />{<br />string sPath;<br />string ServerName,userId,sPwd,DataName;<br /><br />sPath = GetPath();<br />IniFile ini = new IniFile(sPath);<br />ServerName = ini.IniReadValue (&quot;Database&quot;,&quot;server&quot;);<br />userId = ini.IniReadValue (&quot;Database&quot;,&quot;uid&quot;);<br />sPwd = ini.IniReadValue (&quot;Database&quot;,&quot;pwd&quot;);<br />DataName = ini.IniReadValue (&quot;Database&quot;,&quot;database&quot;);<br />string strSql = &quot;server =&quot; + ServerName+&quot;;uid =&quot;+ userId +&quot;;pwd =;database =&quot;+ DataName;<br />　　　 SqlConnection myConn=new SqlConnection(strSql);<br />　　　 return myConn; <br />}<br />&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://lveyo.javaeye.com/blog/175725#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 23 Sep 2006 13:40:00 +0800</pubDate>
        <link>http://lveyo.javaeye.com/blog/175725</link>
        <guid>http://lveyo.javaeye.com/blog/175725</guid>
      </item>
      <item>
        <title>java 删除文件目录</title>
        <author>lveyo</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lveyo.javaeye.com">lveyo</a>&nbsp;
          链接：<a href="http://lveyo.javaeye.com/blog/175726" style="color:red;">http://lveyo.javaeye.com/blog/175726</a>&nbsp;
          发表时间: 2006年09月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          java 删除文件目录- -<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; <br /><br />package com.test;<br /><br />import java.io.*;<br />import java.io.File;<br /><br />/**<br />&nbsp;* &lt;p&gt;Title: &lt;/p&gt;<br />&nbsp;* &lt;p&gt;Description: &lt;/p&gt;<br />&nbsp;* &lt;p&gt;Copyright: Copyright (c) 2005&lt;/p&gt;<br />&nbsp;* &lt;p&gt;Company: &lt;/p&gt;<br />&nbsp;* @author not attributable<br />&nbsp;* @version 1.0<br />&nbsp;*/<br /><br />public class fileManager {<br /><br />&nbsp; public fileManager() {<br />&nbsp; }<br /><br />&nbsp; /**<br />&nbsp;&nbsp; * 提供删除目录和文件<br />&nbsp;&nbsp; * @param dir<br />&nbsp;&nbsp; * @throws IOException<br />&nbsp;&nbsp; */<br />&nbsp;&nbsp; public void deleteDirectory(File dir) throws IOException {<br /><br />if( (dir == null) || !dir.isDirectory()) {<br />throw new IllegalArgumentException(<br />&quot;Argument &quot;+dir+&quot; is not a directory. &quot;<br />);<br />}<br />File[ ] entries = dir.listFiles( );<br />int sz = entries.length;<br />for(int i=0; i&lt;sz; i++) {<br />if(entries[i].isDirectory( )) {<br />del