<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>技术在于积累</title>
    <description>http://www.blogjava.net/flyingis</description>
    <link>http://jzhua.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>Hessian学习记录</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/212028" style="color:red;">http://jzhua.javaeye.com/blog/212028</a>&nbsp;
          发表时间: 2008年07月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          简介<br />相比WebService，Hessian更简单、快捷。采用的是二进制RPC协议（Binary），因为采用的是二进制协议，所以它很适合于发送二进制数据。Hessian通常通过Web应用来提供服务，因此非常类似于WebService。只是它不使用SOAP协议。<br />Hessian通过Servlet提供远程服务。需要将匹配某个模式的请求映射到Hessian服务。Spring的DispatcherServlet可以完成该功能，DispatcherServlet可将匹配模式的请求转发到Hessian服务。Hessian的server端提供一个servlet基类, 用来处理发送的请求，而Hessian的这个远程过程调用，完全使用动态代理来实现的,，推荐采用面向接口编程，因此，Hessian服务建议通过接口暴露。<br />Hessian处理过程示意图：<br />客户端——>序列化写到输出流——>远程方法（服务器端）——>序列化写到输出流 ——>客户端读取输入流——>输出结果<br />环境搭建<br />Hessian的下载和安装请按如下步骤进行：<br />（1）登http://www.caucho.com/hessian/下载Hessian。<br />（2）把Hessian相应的Jar包放到Web应用下，所有的jar文件都应该放在WEB-INF/lib下，该文件也不例外。<br />两种方式<br />纯Hessian<br />这种方式主要是适用于工程中没有适用像spring框架的情况下，好处是配置方便，但是当内容多的情况下，配置的内容很多。<br />下面我就把我在做实例的一些相关步骤描述如下：<br />1：把Hessian相应jar包放入至工程中。<br />2：由于Hessian是采用面向接口编程的，所以编写一个接口，因为客户端仅仅需要接口，而无须真实的实现类。<br />package jzh.demo;<br />public interface IHello {<br />	String sayHello();<br />}<br />3：编写一个类实现这个接口。<br />package jzh.demo.impl;<br />import jzh.demo.IHello;<br />import com.caucho.hessian.server.HessianServlet;<br />public class Hello extends HessianServlet implements IHello {<br />	public String sayHello() {<br />		return "Hello world";<br />	}<br />}<br />4：web.xml的详细配置<br />&lt;servlet><br />		&lt;servlet-name>Hello&lt;/servlet-name><br />		&lt;servlet-class>com.caucho.hessian.server.HessianServlet&lt;/servlet-class><br />		&lt;init-param><br />			&lt;param-name>home-class&lt;/param-name><br />			&lt;param-value>jzh.demo.imple.Hello&lt;/param-value><br />		&lt;/init-param><br />		&lt;init-param><br />			&lt;param-name>home-api&lt;/param-name><br />			&lt;param-value>jzh.demo.IHello&lt;/param-value><br />		&lt;/init-param><br />		&lt;load-on-startup>1&lt;/load-on-startup><br />	&lt;/servlet><br /><br />	&lt;servlet-mapping><br />		&lt;servlet-name>Hello&lt;/servlet-name><br />		&lt;url-pattern>/Hello&lt;/url-pattern><br />	&lt;/servlet-mapping><br /><br />5：客户端远程调用服务器端提供的接口，利用的就是Hessian的HessianProxyFactory，来实现远程代理。<br />1）	把服务器端的生成的jar包，放入工程中。<br />2）	相应的片段程序如下：<br />		String url = "http://220.114.108.185:8080/Hessian/Hello";<br />		HessianProxyFactory factory = new HessianProxyFactory();<br />		try {<br />			IHello hello =(IHello)factory.create(IHello.class,url);<br />			System.out.println(hello.sayHello());<br />		} catch (MalformedURLException e) {<br />			e.printStackTrace();<br />		}<br />6：功能完成。<br />Hessian与Spring整合<br />相比上一种方式，这个方式就有点麻烦了。Hessian通过Servlet提供远程服务。需要将匹配某个模式的请求映射到Hessian服务。Spring的DispatcherServlet可以完成该功能，DispatcherServlet可将匹配模式的请求转发到Hessian服务，web.xml只是定义了“请求转发器”，该转发器将匹配/remoting/*的请求截获，转发给context的bean处理。而HessianServiceExporter提供bean服务。<br />所以Hessian与Spring整合主要就是一下两个工作：<br />1：通过DispatcherServlet来拦截URL请求。<br />2：HessianServiceExporter提供bean服务，Spring使用HessianServiceExporter，将一个常规bean导出成Hessian服务。<br />下面我就把我在做实例的一些相关步骤描述如下：<br />1：和上面的一样。<br />2：和上面的一样。<br />3：和上面的一样。<br />4：web.xml的详细配置<br />&lt;servlet><br />           &lt;servlet-name>remoting&lt;/servlet-name><br />  			&lt;servlet-class>org.springframework.web.servlet.DispatcherServlet&lt;/servlet-class><br />           &lt;load-on-startup>1&lt;/load-on-startup><br />    &lt;/servlet><br />    &lt;servlet-mapping><br />           &lt;servlet-name>remoting&lt;/servlet-name><br />           &lt;url-pattern>/remoting/*&lt;/url-pattern><br />&lt;/servlet-mapping><br />5：配置remoting-servlet.xml文件<br />	&lt;!--  定义普通bean实例--><br />    &lt;bean id="hello" class="jzh.demospring.impl.Hello"/><br />    &lt;!--  使用HessianServiceExporter 将普通bean导出成Hessian服务--><br />    &lt;bean name="/HessianRemoting" class="org.springframework.remoting.caucho.HessianServiceExporter"><br />           &lt;!--  需要导出的目标bean--><br />           &lt;property name="service" ref="hello"/><br />           &lt;!--  Hessian服务的接口--><br />           &lt;property name="serviceInterface" value="jzh.demospring.IHello"/><br />&lt;/bean><br />6：客户端定义一个remoting-client.xml文件<br />	&lt;bean id="myServiceClient" class="org.springframework.remoting.caucho.HessianProxyFactoryBean"><br />		&lt;property name="serviceUrl"><br />			&lt;value>http://220.114.99.62:8080/HessianSpring/remoteing/HessianRemoting&lt;/value><br />		&lt;/property><br />		&lt;property name="serviceInterface"><br />			&lt;value>jzh.demospring.IHello&lt;/value><br />		&lt;/property><br />	&lt;/bean><br />7：客户端调用。<br />try<br />		{                                                               <br />			ApplicationContext context = new ClassPathXmlApplicationContext("remote-client.xml");<br />			<br />			IHello hello =(IHello)context.getBean("myServiceClient");<br />			<br />			System.out.println(hello.sayHello());<br />		} <br />		catch (Exception e) <br />		{<br />			e.printStackTrace();<br />		}<br />注意事项<br />1：启动tomcat的时候，出现如下问题：java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet。，而在工程中是可以找到相应的jar文件，这究竟是什么问题。<br />解决方法：可能是在工程的WEB-INF/lib下面没有加载相应的jar文件<br />2：org.springframework.remoting.RemoteAccessException: Cannot access Hessian service at [http://61.152.162.173/remote/remoteService]; <br />解决方法：出现这个异常一般是因为服务端操作出现异常引起的
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/212028#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>Sun, 06 Jul 2008 14:06:27 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/212028</link>
        <guid>http://jzhua.javaeye.com/blog/212028</guid>
      </item>
      <item>
        <title>org.springframework.web.servlet.DispatcherServlet</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/212021" style="color:red;">http://jzhua.javaeye.com/blog/212021</a>&nbsp;
          发表时间: 2008年07月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1：启动tomcat的时候，出现如下问题：java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet。，而在工程中是可以找到相应的jar文件，这究竟是什么问题。<br /><br />解决方法：可能是在工程的WEB-INF/lib下面没有加载相应的jar文件
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/212021#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>Sun, 06 Jul 2008 12:55:00 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/212021</link>
        <guid>http://jzhua.javaeye.com/blog/212021</guid>
      </item>
      <item>
        <title>两种方式加载log4j资源文件</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/209495" style="color:red;">http://jzhua.javaeye.com/blog/209495</a>&nbsp;
          发表时间: 2008年06月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          方法一：<br />		Properties prop = new Properties();<br />		File f = new File("绝对路径");<br />		FileInputStream is = null;<br />		<br />		try {<br />			is = new FileInputStream(f);<br />			prop.load(is);<br />			PropertyConfigurator.configure(prop);<br />		} catch (FileNotFoundException e) {<br />			e.printStackTrace();<br />		}<br /><br />方法二：<br />ClassLoader cl = Thread.currentThread().getContextClassLoader();<br />		InputStream is = null;<br />		is = cl.getResourceAsStream("config/Log4j.properties");<br />		Properties prop = new Properties();<br />		prop.load(is);<br />		PropertyConfigurator.configure(prop);
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/209495#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>Sun, 29 Jun 2008 18:23:20 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/209495</link>
        <guid>http://jzhua.javaeye.com/blog/209495</guid>
      </item>
      <item>
        <title>Spring学习笔记</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/209494" style="color:red;">http://jzhua.javaeye.com/blog/209494</a>&nbsp;
          发表时间: 2008年06月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1：多个XML联合一起使用。<br />第一：<br />&lt;context-param><br />  	&lt;param-name>contextConfigLocation&lt;/param-name><br />  	&lt;param-value><br />  		classpath:application/app_*.xml<br />  		classpath:org/codehaus/xfire/spring/xfire.xml<br />  	&lt;/param-value><br />  &lt;/context-param><br />第二：<br />ApplicationContext context = new ClassPathXmlApplicationContext("application/app_*.xml");<br /><br />2：注意在一个类中，定义了一个属性，并不一定要在xml对应的配置文件中对它进行设置，但是可以设置在该类中并没有定义的属性，但是一个条件是：要有该属性的一个Setter方法。<br />3：在spring2.0中，bean没有“singleton”这个属性，而是在“scope”中对它进行设定。“scope”可以设定为 “singleton”和“prototype”默认情况下是“singleton”即和原先的“singleton=true”性质一样，如果要实现单 例模式则将“scope”设定为“prototype”，即和原先版本的“singleton=false”一样。
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/209494#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>Sun, 29 Jun 2008 18:20:36 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/209494</link>
        <guid>http://jzhua.javaeye.com/blog/209494</guid>
      </item>
      <item>
        <title>公司不能上网，现在就很少写东西发到上面了！</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/201399" style="color:red;">http://jzhua.javaeye.com/blog/201399</a>&nbsp;
          发表时间: 2008年06月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          公司不能上网，现在就很少写东西发到上面了！<br /><br />以后会多多写些好的东西出来，最近在研究Lucene的东西。这个太有技术含量了！<br /><br />要不段学习中！<br /><br />欢迎有这方面的朋友，交流交流哦！
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/201399#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>Sun, 08 Jun 2008 19:30:14 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/201399</link>
        <guid>http://jzhua.javaeye.com/blog/201399</guid>
      </item>
      <item>
        <title>JSP中学习Servlet总结</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/188458" style="color:red;">http://jzhua.javaeye.com/blog/188458</a>&nbsp;
          发表时间: 2008年04月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1：编写Servlet要注意的问题？<br /><br />   A：要导入javax.servlet;javax.servlet.http;java.io；<br />   B：如果编写的servlet与Http无关，则该Servlet类要继承GenericServlet类，反之则继承HttpServlet类。<br />   C：Servlet是在服务器端执行，且是动态的生成Html脚本。<br />   D：Servlet的生命周期：<br />	Server创建一个Servlet的实例 <br />	Server调用Servlet的init()方法 <br />	一个客户端的请求到达Server <br />	Server创建一个请求对象 <br />	Server创建一个响应对象 <br />	Server激活Servlet的service()方法，传递请求和响应对象作为参数 <br />	Service()方法获得关于请求对象的信息，处理请求，访问其他资源，获得需要的信息,service()方法使用响应对象的方法，将响应传回Server，最终到达客户端。service()方法可能激活其它方法以处理请求，如doGet()或doPost()或程序员自己开发的新的方法 <br />	最后自动调用Destroy()方法来销毁对象。<br /><br />E：如果跳转页面的时候采用的是post方式，并且是通过Servlet进行访问的，则要通过调用Servlet的doPost方法，反之则通过调用doGet方法。<br /><br />2：配置Servlet<br /><br />	A：将Servlet的Jar包放入到工程中去，具体的目录Tomcat 5.5\common\lib，拷贝servlet-api.jar将其放入到工程\WEB-INF\lib下面。<br />B：对工程\WEB-INF\web.xml文件进行修改，如：<br />&lt;servlet><br />		&lt;servlet-name>first&lt;/servlet-name><br />		&lt;servlet-class>jzh.servlet.first&lt;/servlet-class><br />	&lt;/servlet><br />	&lt;servlet-mapping><br />		&lt;servlet-name>first&lt;/servlet-name><br />		&lt;url-pattern>/first&lt;/url-pattern><br />&lt;/servlet-mapping>	<br /><br /><br />3：演变的Servlet<br /><br />	A：不依赖与Servlet动态输出HTML了，而是通过Servlet输出一个用户想得到的数据。<br /><br />4：获得web.xml文件中Servlet相关信息。<br /><br />	A：先把要设置的参数写入到web.xml中，如：<br />	&lt;servlet><br />		&lt;servlet-name>Logined&lt;/servlet-name><br />		&lt;servlet-class>jzh.servlet.Logined&lt;/servlet-class><br />		&lt;init-param><br />			&lt;param-name>filepath&lt;/param-name><br />			&lt;param-value>E:\DOCUMENT\temp\关于对发送通.doc&lt;/param-value><br />		&lt;/init-param><br />	&lt;/servlet><br />	&lt;servlet-mapping><br />		&lt;servlet-name>Logined&lt;/servlet-name><br />		&lt;url-pattern>/Logined&lt;/url-pattern><br />	&lt;/servlet-mapping><br />	B：编写Servlet类时，通过ServletConfig. getInitParameter("filepath")获得该参数值。也可以通过getServletConfig. getInitParameter("filepath")获得参数值。<br /><br />5：Servlet之间相互操作。<br />A：RequestDispatcher rd = getServletConfig().getServletContext().getRequestDispatcher("LoginSucess");<br />rd.forward(request,response);<br />	B：通过调用getServletConfig()获得web.xml配置文件中相关Servlet的相关信息。获得Servlet信息后，通过调用getServletContext（）方法获得具体的Servlet配置信息。再通过调用getRequestDispatcher(“指定的Servlet名称”)。<br /><br />6：Servlet中获得session。<br />HttpServletRequest request<br />HttpSession hs = request.getSession();<br /><br />7：访问servlet<br />在访问servlet时，尽量在action中加上这个应用的名称（request.getContextPath()）
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/188458#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, 30 Apr 2008 16:11:30 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/188458</link>
        <guid>http://jzhua.javaeye.com/blog/188458</guid>
      </item>
      <item>
        <title>POI使用小结</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/188457" style="color:red;">http://jzhua.javaeye.com/blog/188457</a>&nbsp;
          发表时间: 2008年04月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          本文主要是针对本人在实际项目中，利用POI来开发数据导入和导出的应用而总结而来。其实JAVA在处理Window OLE 2复合文档格式操作的API,还有很多POI、JExcelApi、IText等，而在实际的个人感觉POI确实是一个不错的选择。下面就POI开发的相关内容进行简要的介绍下，包括POI组成、开发步骤、具体示例、知识点汇总等内容进行讲解。POI组成<br />POI组成<br />	官方网站: http://jakarta.apache.org/poi/，这个是POI的官方网站，用户可以先从这里下载。最新的版本3.0.2，下载解压后里面有三个jar包（poi-3.0.2-FINAL-20080204.jar/ poi-contrib-3.0.2-FINAL-20080204.jar/ poi-scratchpad-3.0.2-FINAL-20080204.jar），而在这里包中主要含：<br />org.apache.poi.hssf.eventmodel    处理在读取和写入Excel文档中生成的各种动作.<br />    	org.apache.poi.hssf.eventusermodel    提供读取Excel文档的各个类.<br />    	org.apache.poi.hssf.record.formula    包含公式处理类, 这些类使用在Excel文档中.<br />    	org.apache.poi.hssf.usermodel    包含生成Excel文档的各个类.<br />    	org.apache.poi.hssf.util    提供处理Excel文档各个属性的工具类.<br />开发步骤<br />1：先下载POI包；<br />2：解压后将里面的3个jar文件拷贝至WEB-INF\lib中。<br />3：刷新工程后，即可以使用jar包中的内容了。<br /><br />	读取POI文档<br />一：以文件名创建一个InputStream<br />二：以上面的InputStream实例创建一个HSSFWorkbook.<br />三：HSSFWorkbook的getSheetAt(index)可获取相应的工作页<br />四：工作页调用方法获取行<br />五：行再获取相应的格，调用单元格的方法，然后取出对应数据。<br /><br />	创建Excel文件<br />一：以new HSSFWorkbook()构造一个新的Excel文档<br />二：以HSSFWorkbook的createSheet("工作本名"),创建一个新的工作页。<br />三：新的工作页以createRow(RowIndex)依次创建行<br />四：HSSFRow以createCell(CellIndex)依次创建单元格<br />五：设置相应单元格的格式，值。<br />具体示例<br />示例一：读取Excel文件中的所有数据，包括对个工作表（薄）。<br />public static void ReadExcel2(String file) {<br />		int total = 0;<br />		try {<br />			HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(file));<br />			int sn = wb.getNumberOfSheets();<br />			for(int i=0;i&lt;sn;i++){<br />				HSSFSheet sheet = wb.getSheetAt(i);<br />				for(int j=0;j&lt;sheet.getLastRowNum();j++){<br />					HSSFRow row = sheet.getRow(j);<br />					for(int k=0;k&lt;row.getLastCellNum();k++){<br />						HSSFCell cell = row.getCell((short)k);<br />						if(cell.getCellType()==HSSFCell.CELL_TYPE_STRING){<br />							System.out.println(cell.getStringCellValue());<br />						}<br />						else{<br />							System.out.println(cell.getBooleanCellValue());<br />						}<br />						total++;<br />					}<br />				}<br />			}<br />			System.out.println(total);<br />			<br />		} catch (Exception e) {<br />			System.out.println(e.getStackTrace());<br />		}<br />	}<br /><br />示例一：创建一个Excel，并把相应的数据添入到指定的单元格。<br />public static boolean createExcel(String file){<br />		boolean flag = false;<br />		try{<br />			 // wb,对应一个内存中的excel文档<br />	        HSSFWorkbook wb = new HSSFWorkbook();<br />	        // sheet创建一个工作页<br />	       for(int h =0;h&lt;3;h++){<br />		        HSSFSheet sheet = wb.createSheet("jzh"+h);<br />		        <br />		        //设置列的宽度<br />		        sheet.setDefaultColumnWidth((short)20);<br />		        //String[] s = new String[]{"姓名","年龄","地址","城市","公司","工作","职位","收入"};<br />		        String[] s = {"姓名","年龄","地址","城市","公司","工作","职位","收入"};<br />		        cellStyle = getAnyCellStyle(wb,getHdrFont(wb,12),HSSFCellStyle.ALIGN_CENTER, HSSFCellStyle.VERTICAL_CENTER, (short)-1, true);<br />		        for(int x=0;x&lt;s.length;x++){<br />		        	HSSFRow row = sheet.createRow(0);<br />		  	      <br />		            //设置行的高度<br />		            row.setHeight((short)500);<br />		            HSSFCell cell = row.createCell((short)x);<br />	                cell.setEncoding(HSSFCell.ENCODING_UTF_16);	                <br />	                cell.setCellValue(s[x]);<br />	                cell.setCellStyle(cellStyle);<br />		        }<br />		        <br />		        <br />		        for (short i = 1; i &lt; 100; i++)<br />		        {<br />		            // HSSFRow,对应一行<br />		            HSSFRow row = sheet.createRow(i);<br />		      <br />		            //设置行的高度<br />		            row.setHeight((short)500);<br />		        <br />		            for (short j = 0; j &lt; 8; j++)<br />		            {<br />		                // HSSFCell对应一格<br />		                HSSFCell cell = row.createCell(j);<br />		                cell.setEncoding(HSSFCell.ENCODING_COMPRESSED_UNICODE);	                <br />		                //cell.setCellValue("Java,我的信仰" + String.valueOf(i));<br />		                cell.setCellValue(true);<br />		            }<br />		        }<br />		        OutputStream out = new FileOutputStream(file);<br />		        wb.write(out);<br />		        out.close();<br />	<br />				flag = true;<br />	       }<br />		}<br />		catch(Exception ex){<br />			flag = false;<br />		}<br />		return flag;<br />	}<br />知识点汇总<br />	设置单元格格式<br />1.	创建字体，设置其为红色、粗体：<br />HSSFFont font = workbook.createFont();<br />font.setColor(HSSFFont.COLOR_RED);<br />font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);<br />2、创建格式<br />HSSFCellStyle cellStyle= workbook.createCellStyle();<br />cellStyle.setFont(font);<br />3、应用格式 <br />HSSFCell cell = row.createCell((short) 0);<br />cell.setCellStyle(cellStyle);<br />cell.setCellType(HSSFCell.CELL_TYPE_STRING);<br />cell.setCellValue("标题");　<br /><br />	获得这个工作表数据行数<br />System.out.println(sheet.getLastRowNum());<br />	获得列数<br />System.out.println(row.getLastCellNum());<br /><br />	设置第三列的宽度为5<br />sheet.setColumnWidth((short)3,(short)5);<br /><br />	设置字体格式<br />HSSFCellStyle titlestyle = workbook.createCellStyle();<br />HSSFFont titlefont = workbook.createFont();<br />titlefont.setFontHeightInPoints((short)18);<br />titlefont.setFontName("黑体");<br />titlefont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);<br />titlestyle.setFont(titlefont);<br /><br />titlestyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);<br />titlestyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);<br /><br />HSSFCell titlecell = titlerow.createCell((short)((fileds.length) / 3));<br />titlecell.setCellStyle(titlestyle);<br />titlecell.setEncoding(HSSFCell.ENCODING_UTF_16);<br />titlecell.setCellValue(titles);<br /><br />	合并单元格<br />主要是从（1，3）到（5，6）的合并点<br />sheet.addMergedRegion(new Region((short)1,(short)3,(short)5,(short)6));
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/188457#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, 30 Apr 2008 16:10:37 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/188457</link>
        <guid>http://jzhua.javaeye.com/blog/188457</guid>
      </item>
      <item>
        <title>高兴呀！得到华为的录取通知了！</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/183427" style="color:red;">http://jzhua.javaeye.com/blog/183427</a>&nbsp;
          发表时间: 2008年04月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          今天下午得到录取通知了．我哪个兴奋呀！哈哈！小美下！<img src="/images/smiles/icon_biggrin.gif"/>
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/183427#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, 16 Apr 2008 16:10:36 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/183427</link>
        <guid>http://jzhua.javaeye.com/blog/183427</guid>
      </item>
      <item>
        <title>Oracle数据库startup和shutdown方式</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/182767" style="color:red;">http://jzhua.javaeye.com/blog/182767</a>&nbsp;
          发表时间: 2008年04月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          昨天晚上,回去好好整理了下关于"Oracle数据库提供了几种不同数据库启动和关闭方<br />式",然后,自己就回去就写了个示例.<br />   其中,就出现了1个问题:<br />   ORA-12528: TNS:listener: all appropriate instances are blocking new connections<br />   于是到网上就大量的查阅资料,哈哈,好不错,解决方法找到了.其中红色的就是主要解决方法.下面就把我整理的东西给共享下.<br /><br />   一：注意事项<br /><br />要启动和关闭数据库，必须要以具有Oracle 管理员权限用户登陆，通常也就是以具有SYSDBA权限用户登陆。一般我们常用INTERNAL用户来启动和关闭数据库（INTERNAL用户实际上是SYS用户以SYSDBA连接同义词）。Oracle数据库新版本将逐步淘汰INTERNAL这个内部用户，所以我们最还是设置DBA用户具有SYSDBA权限。<br /><br />二：启动一个数据库需要三个步骤 <br />　　1、 创建一个Oracle实例（非安装阶段）<br />　　2、 由实例安装数据库（安装阶段）<br />3、 打开数据库（打开阶段）<br /><br />三：Startup（启动数据库命令）<br /><br />1、	STARTUP NOMOUNT<br />NONOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区（SGA）。Init.ora文件定义了实例配置，包括内存结构大小和启动后台进程数量和类型等。实例名根据Oracle_SID设置，不一定要与打开数据库名称相同。当实例打开后，系统将显示一个SGA内存结构和大小列表，如下所示：<br />SQL> startup nomount<br />ORACLE 例程已经启动。<br />Total System Global Area 35431692 bytes<br />Fixed Size 70924 bytes<br />Variable Size 18505728 bytes<br />Database Buffers 16777216 bytesu<br />Redo Buffers 77824 bytes<br /><br />2、STARTUP MOUNT <br />该命令创建实例并且安装数据库，但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件内容，但并不打开该文件。这种打开方式常在数据库维护操作中使用，如对数据文件更名、改变重作日志以及打开归档方式等。在这种打开方式下，除了可以看到SGA系统列表以外，系统还会给出"数据库装载完毕"提示。 <br /><br />　　3、STARTUP <br />　　该命令完成创建实例、安装实例和打开数据库所有三个步骤。此时数据库使数据文件和重作日志文件在线，通常还会请求一个或者是多个回滚段。这时系统除了可以看到前面Startup Mount方式下所有提示外，还会给出一个"数据库已经打开"提示。此时，数据库系统处于正常工作状态，可以接受用户请求。<br /><br />如果采用STARTUP NOMOUNT或者是STARTUP MOUNT数据库打开命令方式，必须采用ALTER DATABASE命令来执行打开数据库操作。例如，如果你以STARTUP NOMOUNT方式打开数据库，也就是说实例已经创建，但是数据库没有安装和打开。这是必须运行下面两条命令，数据库才能正确启动。<br />ALTER DATABASE MOUNT;<br />ALTER DATABASE OPEN<br /><br />4、其他打开方式 <br />　　除了前面介绍三种数据库打开方式选项外，还有另外其他一些选项。 <br />　　(1) STARTUP RESTRICT <br />　　这种方式下，数据库将被成功打开，但仅仅允许一些特权用户（具有DBA角色用户）才可以使用数据库。这种方式常用来对数据库进行维护，如数据导入/导出操作时不希望有其他用户连接到数据库操作数据。<br />　　(2) STARTUP FORCE <br />　　该命令其实是强行关闭数据库（shutdown abort）和启动数据库（startup）两条命令一个综合。该命令仅在关闭数据库遇到问题不能关闭数据库时采用。 <br />　　(3) ALTER DATABASE OPEN READ ONLY; <br />　　该命令在创建实例以及安装数据库后，以只读方式打开数据库。对于那些仅仅提供查询功能产品数据库可以采用这种方式打开。<br />四：数据库关闭（SHUTDOWN）<br />1、SHUTDOWN NORMAL <br />　　这是数据库关闭SHUTDOWN命令确省选项。也就是说如果你发出SHUTDOWN这样命令，也即是SHUTDOWN NORNAL意思。<br />　　发出该命令后，任何新连接都将再不允许连接到数据库。在数据库关闭之前，Oracle将等待目前连接所有用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库，在下一次启动时不需要进行任何实例恢复。但需要注意一点是，采用这种方式，也许关闭一个数据库需要几天时间，也许更长。 <br />　	2、SHUTDOWN IMMEDIATE<br />　　这是我们常用一种关闭数据库方式，想很快地关闭数据库，但又想让数据库干净关闭，常采用这种方式。 <br />　　当前正在被Oracle处理SQL语句立即中断，系统中任何没有提交事务全部回滚。如果系统中存在一个很长未提交事务，采用这种方式关闭数据库也需要一段时间（该事务回滚时间）。系统不等待连接到数据库所有用户退出系统，强行回滚当前所有活动事务，然后断开所有连接用户。<br />　　3、SHUTDOWN TRANSACTIONAL <br />　　该选项仅在Oracle 8i后才可以使用。该命令常用来计划关闭数据库，它使当前连接到系统且正在活动事务执行完毕，运行该命令后，任何新连接和事务都是不允许。在所有活动事务完成后，数据库将和SHUTDOWN IMMEDIATE同样方式关闭数据库。 <br />　　4、SHUTDOWN ABORT <br />　　这是关闭数据库最后一招，也是在没有任何办法关闭数据库情况下才不得不采用方式，一般不要采用。如果下列情况出现时可以考虑采用这种方式关闭数据库。<br /><br /><br />下面是问题解决：<br />ORA-12528: TNS:listener: all appropriate instances are blocking new connections<br />1：修改listener.ora的参数<br />SID_LIST_LISTENER =<br />  (SID_LIST =<br />    (SID_DESC =<br />      (SID_NAME = PLSExtProc)<br />      (ORACLE_HOME = C:\oracle\product\10.1.0\db_1)<br />      (PROGRAM = extproc)<br />    )<br />    (SID_DESC =<br />      (GLOBAL_DBNAME = ammicly)<br />      (ORACLE_HOME = c:\oracle\product\10.1.0\db_1)<br />      (SID_NAME = <span style="color: red">ammicly</span>)<br />    )<br />  )<br />LISTENER =<br />  (DESCRIPTION_LIST =<br />    (DESCRIPTION =<br />      (ADDRESS_LIST =<br />        (ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))<br />      )<br />      (ADDRESS_LIST =<br />        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))<br />      )<br />    )<br />  )<br /><br />2：修改tnsnames.ora的参数<br /><br />AMMICLY =<br />  (DESCRIPTION =<br />    (ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))<br />    (CONNECT_DATA =<br />      (SERVER = DEDICATED)<br />      (SERVICE_NAME = ammicly)<br />     <span style="color: red"> (UR=A)</span><br />    )<br />  )<br />EXTPROC_CONNECTION_DATA =<br />  (DESCRIPTION =<br />    (ADDRESS_LIST =<br />      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))<br />    )<br />    (CONNECT_DATA =<br />      (SID = PLSExtProc)<br />      (PRESENTATION = RO)<br />    )<br />  ) <br />启动数据库<br />SQL> conn /as sysdba<br />SQL> alter database mount;<br />SQL> alter database open;<br /><br />关闭数据库<br />SQL> shutdown immediate;
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/182767#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, 15 Apr 2008 08:44:36 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/182767</link>
        <guid>http://jzhua.javaeye.com/blog/182767</guid>
      </item>
      <item>
        <title>JSON个人学习总结</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/182380" style="color:red;">http://jzhua.javaeye.com/blog/182380</a>&nbsp;
          发表时间: 2008年04月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          其实，JSON也不是什么新技术，它很早就出现在JavaScript的标准中。它是一个较轻量级别的一个数据交换格式，便于阅读和编写，是一种与变成语言无关的一个文本格式。<br />它有两个基本特征：<br />1：“名称/值”对的集合。即一个名称对应一个值，其中值是可以为空的（null）。<br />2：值的有序列表，其实也可以认为是一个数组（Array）<br /><br />下面是我写的一些示例，同时也写了怎么去遍历这些JSON中定义的数据。<br /><br /><br /><br />	&lt;script type="text/javascript"><br />		function readJson(){<br />			var d = {<br />				"msg":[<br />					{"user":"jzhua","name":{"first":"jzh","last":"zxx"},"age":"26"},<br />					{"user":"zxx","name":{"first":"jzh2","last":"zxx2"},"age":"25"}<br />				],<br />				"type":[<br />					{"test1":"zzz1"},<br />					{"test2":"zzz2"},<br />					{"test3":"zzz3"}<br />				],<br />				"dx":[<br />					{"name":"jxnu"}<br />				],<br />				"all":"all",<br />				"other":"other"<br />			};<br />			//alert(d.all);<br />			//alert(d.type[0].test1);<br />			//alert(d.msg[0].user);<br />			//alert(d.msg[0].name.first);<br />			//alert(d.msg[1].name.first);<br />			//alert(d.msg.length); //2<br />			//alert(d.all.length); //4(这个为字符串长度)<br />			for(var o in d){<br />				//alert(d[o]);<br />				//alert(d[o][0].length);//这个就是访问msg数组中的数据<br />				//alert(d[o][0].user.length);<br />				//alert(d[o].length);//注意，当该d 中的元素不是数组时，则返回的为该元素的长度				<br />				//alert(d[o][0]);<br />			}<br />			//o，i指的都是d这个json中的二元数组中的行数<br /><br />			for(var i in d){<br />				//alert(d[i].msg);<br />			}<br />			<br />			var userlist = [<br />				{"Uid":11,"Name":{"FirstName":"Jiang1","LastName":"ZhiHua1"},"Email":"jzhua2008@163.com1"},<br />				{"Uid":12,"Name":{"FirstName":"Jiang2","LastName":"ZhiHua2"},"Email":"jzhua2008@163.com2"},<br />				{"Uid":13,"Name":{"FirstName":"Jiang3","LastName":"ZhiHua3"},"Email":"jzhua2008@163.com3"}<br />			];<br />			//alert(userlist[0].Uid);<br />			<br />			//下面是遍历这些数据的示例<br />			<br />			//获得d中msg中指定数据内容<br />			for(var i =0;i&lt;d.msg.length;i++){<br />				//alert(d.msg[i].user);//获得msg中所有user内容<br />				//alert(d.msg[i].name.last);//获得msg中所有name.last内容<br />			}<br />			<br />			for(var i =0;i&lt;d.dx.length;i++){<br />				//alert(d.dx[i].name);//jxnu<br />			}<br />			<br />			for(var i=0;i&lt;userlist.length;i++){<br />				alert(userlist[i].Uid); //11,12,13<br />			}<br />		}
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/182380#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>Sun, 13 Apr 2008 21:26:53 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/182380</link>
        <guid>http://jzhua.javaeye.com/blog/182380</guid>
      </item>
      <item>
        <title>JAVA中preparedStatement和Statement的区别</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/182171" style="color:red;">http://jzhua.javaeye.com/blog/182171</a>&nbsp;
          发表时间: 2008年04月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          关于PreparedStatement和Statement具体区别<br /><br />1：<br />我们先从这两个单词进行初步的讲解，Prepared（准备好的, 精制的），从这里可以知道PreparedStatement是预先编译的语句，而Statement则不是预先编译的，在DBMS中处理管理中Statement是要进行语法、语义的，而PreparedStatement则不要。<br /><br />2：<br />	PrepareStatement中执行的SQL语句中是可以带参数的，而Statement则不可以。<br />	比如：<br />	PreparedStatement pstmt  =  con.prepareStatement("UPDATE EMPLOYEES<br />                                     SET SALARY = ? WHERE ID = ?");<br />   	pstmt.setBigDecimal(1, 153833.00);<br />  	pstmt.setInt(2, 110592);<br />	pstmt. executeUpdate();<br />	<br />3：<br />	当处理批量SQL语句时，这个时候就可以体现PrepareStatement的优势，由于采用Cache机制，则预先编译的语句，就会放在Cache中，下次执行相同SQL语句时，则可以直接从Cache中取出来。
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/182171#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>Sat, 12 Apr 2008 21:47:32 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/182171</link>
        <guid>http://jzhua.javaeye.com/blog/182171</guid>
      </item>
      <item>
        <title>JAVA中关于抽象类个人总结</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/182170" style="color:red;">http://jzhua.javaeye.com/blog/182170</a>&nbsp;
          发表时间: 2008年04月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          抽象类是一个定义级别很高的类，即是最高层次上的，具有高度整合的类，是一个高度抽象化的类，把底层次进行了深度的抽象的一个类，是你要关注类的高度抽取类。<br />下面讲解下它相关的注意事项吧！<br />1：它也是一个类，但是，是一个有着abstract关键字。这个就是与其他类的一个不同之处。<br />2：在这个抽象类中，你可以定义方法、属性等。<br />3：当定义属性时，属性字段是不能定义成抽象的，可以是 final,static,public等。<br />4：当定义方法时，当你为这个方法定义了方法体时，则不需要为这个方法添加关键子abstract，当定义了这个关键字时，则就意味着你要在继承它的子类中实现这个方法。<br />5：当定义的方法没有方法体，则在抽象类中一定要定义成抽象方法。<br />6：实现这个抽象类的子类，一个要实现这个类中的抽象方法，如果不实现这个方法，则该类就还是一个抽象类。<br />7：不能创建这个抽象类的一个实例。
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/182170#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>Sat, 12 Apr 2008 21:46:30 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/182170</link>
        <guid>http://jzhua.javaeye.com/blog/182170</guid>
      </item>
      <item>
        <title>个人 关于instanceof的认识</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/182050" style="color:red;">http://jzhua.javaeye.com/blog/182050</a>&nbsp;
          发表时间: 2008年04月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近在看书的过程中，发现JAVA中的instanceof这个关键字与NET中as关键字功能有些<br />类似，所以就自己写了点东西。<br /><br /><br />    String s = "this is a string";<br />    声明了一个字符串对象。<br />    <br />    System.out.println(s instanceof String); //结果 True;<br /><br /><br />   interface Parent{<br />   <br />   public String read();<br /><br />   }<br /><br />   public class Son1 extends Parent{<br /><br />   public String read(){<br />      return "I am Your first SON!";<br />   }<br /><br />   }<br /><br />   public class Son2 extends Parent{<br /><br />   public String read(){<br />      return "I am Your second SON!";<br />   }<br /><br />   }<br /><br /><br />   public class Son1 extends Parent{<br /><br />   public void main(String[] arg){<br />      Son1 s1 = new Son1();<br />      Son2 s2 = new Son2();<br /><br />      if(s1 instanceof Parent){<br />         out.println(read()); <br />      }<br /><br />      if(s2 instanceof Parent){<br />         out.println(read()); <br />      }<br />   }<br /><br />   }
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/182050#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, 12 Apr 2008 13:02:52 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/182050</link>
        <guid>http://jzhua.javaeye.com/blog/182050</guid>
      </item>
      <item>
        <title>华为面试---感想（这个难呀！！！！）</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/178173" style="color:red;">http://jzhua.javaeye.com/blog/178173</a>&nbsp;
          发表时间: 2008年03月31日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          上周六，我参加了华为公司（南京华为研究所）的面试，一共经历了4次面试，今天晚上我刚得到通知，我通过第四轮面试了！但是他们和我说还有最后一轮面试，哈哈！这个高兴呀！先把的经历和大家分享下！<br /><br />分别是：<br />   1：技术面试（笔试），做完题目后，接下来就是2个技术人员和我单聊，说我参与的项目心得、学了什么东西、自己最擅长什么等等之类的。这个就是我第一次面试。<br />   时间不知不觉就到中午，第一轮通过后，我们大家就在华为食堂就餐，说实话不怎么好吃。哈哈！<br />   2：下午的第一轮面试，开始后，一个人（可能是人事部）单独一个一个单独面试，看我的证书、毕业证、学位证等，面试后，就等下一轮的通知。有幸我这个有过了！哈哈！<br />   3：下午的第二轮面试，这个面试是最残酷的，所白了就是pk一样的，先是自我介绍，这个对我来讲没有什么问题的，我就喜欢和人侃侃，哈哈！接下来就是pk了,具体内容就不要说了！就是把你的压力给全部掉出来！好痛苦哦！<br />    等这次面试通过后，大家就进入了等待环节，最后我有幸又通过了！哈哈！<br />   4：前面三轮面试都通过，下面就是第四轮面试了！这个可能是华为的领导层吧！我也不知道，哈哈！也是一个一个单独面试，但是这个同前面不同的是，相关待遇要好点呢！我们是在他们研究所十楼面试，不像其他的面试是在他们的食堂，哈哈！最后谈完后，就叫我回去等通知。<br />   哈哈！这个就是我参加华为的经历了！过程是“痛苦”的，但是心里是自豪的！
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/178173#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>Mon, 31 Mar 2008 20:20:05 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/178173</link>
        <guid>http://jzhua.javaeye.com/blog/178173</guid>
      </item>
      <item>
        <title>一个又喜又忧的面试----华为公司</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/177039" style="color:red;">http://jzhua.javaeye.com/blog/177039</a>&nbsp;
          发表时间: 2008年03月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          今天下午,接到南京华为公司的面试通知,不需要参加笔试了,但是我都决定来上海发展了,因为女朋友家里是上海的,什么都准备好了,就等着在上海找房子什么的了,但是这个电话,又让我....<br /><br />   如果可以进华为,那是我一直以来的梦想,如果有幸进了华为,由于生活上的变动,我又要回上海工作,我该怎么作出决定....? <br /><br />   矛盾中,但是是不是空欢喜一场昵!还不知道能不能进华为昵!哈哈!
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/177039#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>Thu, 27 Mar 2008 20:57:46 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/177039</link>
        <guid>http://jzhua.javaeye.com/blog/177039</guid>
      </item>
      <item>
        <title>试着改变现在的状况.....</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/174778" style="color:red;">http://jzhua.javaeye.com/blog/174778</a>&nbsp;
          发表时间: 2008年03月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          生活就是在不断变化中改变着我们，我们的观念、追求、事业...

每个人只有在这种变化中，获得更多，我就是想要这种感觉，可是做到不一定就那么容易了！

毕竟在变化中，我们还是要成长、生活....

我试着在寻找机会，使自己更加POWER，等机会来临的时候，我一定要紧紧的抓住！

愿所有看过我这篇小感触的网友们，都可以实现自己的理想 ....
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/174778#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, 22 Mar 2008 13:34:22 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/174778</link>
        <guid>http://jzhua.javaeye.com/blog/174778</guid>
      </item>
      <item>
        <title>JavaEye,这个就是你的不对了!</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/170218" style="color:red;">http://jzhua.javaeye.com/blog/170218</a>&nbsp;
          发表时间: 2008年03月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我今天到论坛中,发了一个帖子,哪个帖子是我在我自己的博客中发布的，但是它就把我的分给扣了.<br /><br />现在还不给我个说法
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/170218#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, 11 Mar 2008 16:01:37 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/170218</link>
        <guid>http://jzhua.javaeye.com/blog/170218</guid>
      </item>
      <item>
        <title>写了一个Oracle函数实现不固定列转换</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/170108" style="color:red;">http://jzhua.javaeye.com/blog/170108</a>&nbsp;
          发表时间: 2008年03月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这个语句怎么写呀：<br /><br />序号      ID       NAME<br />1	1	我<br />2	1	是<br />3	2	谁<br />4	2	你<br />5	2	知<br />6	3	道<br />7	3	吗<br />8	4	我<br />9	4	是<br />10	4	姜<br />11	4	志<br />12	4	华<br /><br /><br />要输出为：<br /><br />序号      ID       NAME<br />1	1	我是<br />2	2	谁你知<br />3	3	道吗<br />4	4	我是姜志华<br /><br /><br />开始问了很多朋友,有些给我的太过于复杂,所以我就想自己写个简单的<br /><br /><br />这个是我写的Oracle函数方法<br />CREATE OR REPLACE FUNCTION GetAllResult(column NUMBER)<br />RETURN VARCHAR2 <br />IS <br />temp VARCHAR2(4000); <br />BEGIN <br />      FOR cur IN (SELECT name FROM TTEST WHERE id=column) LOOP <br />          temp:= temp||cur.name; <br />      END LOOP; <br />      temp:= rtrim(temp,1); <br />RETURN temp; <br />END;<br /><br />select distinct id, GetAllResult(id) from ttest<br /><br />1	1	我是<br />2	2	谁你知<br />3	3	道吗<br />4	4	我是姜志华
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/170108#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, 11 Mar 2008 11:41:00 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/170108</link>
        <guid>http://jzhua.javaeye.com/blog/170108</guid>
      </item>
      <item>
        <title>你遇见个这个问题吗?</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/170043" style="color:red;">http://jzhua.javaeye.com/blog/170043</a>&nbsp;
          发表时间: 2008年03月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在C#中:<br /><br />System.DBNull.Value和NULL<br /><br />我今天就遇见过这个问题!查了很多资料,网上如下解释:<br /><br />System.DBNull.Value 是指数据库中当一个字段没有被设置值的时候的值，相当于数据库中的“空值”。 <br />null 是 C# 中是空引用的意思，表示没有引用任何对象。<br /><br />当我插入数据库表中某个字段为System.DBNull.Value时,我在页面中取这个字段值<br /><br />dbReader["字段名"].ToString()<br /><br />这是程序报错误!<br /><br />我做了判断!还是不行!<br /><br />高人,这为可解....!
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/170043#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, 11 Mar 2008 09:50:28 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/170043</link>
        <guid>http://jzhua.javaeye.com/blog/170043</guid>
      </item>
      <item>
        <title>RegisterClientScriptBlock和RegisterStart区别</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/169092" style="color:red;">http://jzhua.javaeye.com/blog/169092</a>&nbsp;
          发表时间: 2008年03月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Page.RegisterClientScriptBlock和Page.RegisterStart区别<br /><br />RegisterClientScriptBlock与RegisterStartupScript的原型基本相同，两个函数不同在于将其包含的脚本代码写入到HTML文件的不同位置。<br />RegisterClientScriptBlock在 Page 对象的 元素的开始标记后立即发出客户端脚本。<br /><br />RegisterStartupScript则是在Page 对象的 元素的结束标记之前发出该脚本。<br /><br />如果你的脚本有与页面对象(doucument对象)进行交互的语句（这在我们后面的例子中看到），则推荐使用RegisterStartupScript，反之如果要想客户端脚本尽可能早的执行，则可以使用RegisterClientScriptBlock或Response.Write。
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/169092#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>Fri, 07 Mar 2008 15:59:45 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/169092</link>
        <guid>http://jzhua.javaeye.com/blog/169092</guid>
      </item>
      <item>
        <title>一个很适用的功能,附源代码(ASP.NET)</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/168109" style="color:red;">http://jzhua.javaeye.com/blog/168109</a>&nbsp;
          发表时间: 2008年03月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在学习ASP.NET的时候,由于ASP.NET是个事件驱动的语言,即事件是靠后台来实现的,可能大家遇见过一个这样的问题:<br /><br />比如一个BUTTON,是服务器端控件,当要在执行操作前（比如删除数据、更新数据等），要先弹出一个对话框：比如“是否要删除数据”等之类的描述，在JSP中这个是很好实现的，但是在ASP.NET后台是不好实现的，只有通过事件回调到客户端，ASP.NET有些很好的方法：Page.RegisterStart或Page.RegisterClientScriptBlock<br /><br />它的后台事件是:<br /><br />private void Button_Click(object sender, System.EventArgs e)<br />{<br />   if(弹出框（是否要删除数据）)<br />    {<br />       确定删除代码    }<br />    else<br />    {<br />       不删除代码<br />     }<br />}<br /><br />用这样的方法是实现不了的<br /><br />所以我想了一个解决方案：<br /><br />页面上放2个按钮，第一个用来实现（弹出对话框），第二个用来实现操作<br /><br />当第一个选中了对话框中的“确定”后，程序就执行第二个按钮的事件。否则不执行操作。<br />代码如下：<br /><br />using System;<br />using System.Collections;<br />using System.ComponentModel;<br />using System.Data;<br />using System.Drawing;<br />using System.Web;<br />using System.Web.SessionState;<br />using System.Web.UI;<br />using System.Web.UI.WebControls;<br />using System.Web.UI.HtmlControls;<br /><br />namespace HTConfirm<br />{<br />	/// &lt;summary><br />	/// WebForm1 的摘要说明。<br />	/// &lt;/summary><br />	public class WebForm1 : System.Web.UI.Page<br />	{<br />		protected System.Web.UI.WebControls.Button Button2;<br />		protected System.Web.UI.WebControls.Button Button1;<br />	<br />		private void Page_Load(object sender, System.EventArgs e)<br />		{<br />			// 在此处放置用户代码以初始化页面<br />		}<br /><br />		#region Web 窗体设计器生成的代码<br />		override protected void OnInit(EventArgs e)<br />		{<br />			//<br />			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。<br />			//<br />			InitializeComponent();<br />			base.OnInit(e);<br />		}<br />		<br />		/// &lt;summary><br />		/// 设计器支持所需的方法 - 不要使用代码编辑器修改<br />		/// 此方法的内容。<br />		/// &lt;/summary><br />		private void InitializeComponent()<br />		{    <br />			this.Button1.Click += new System.EventHandler(this.Button1_Click);<br />			this.Button2.Click += new System.EventHandler(this.Button2_Click);<br />			this.Load += new System.EventHandler(this.Page_Load);<br /><br />		}<br />		#endregion<br /><br />		private void Button1_Click(object sender, System.EventArgs e)<br />		{		<br />			Response.Write("删除了！");<br />		}<br /><br />		#region//确认对话框 <br />		/// &lt;summary> <br />		/// 服务器端弹出confirm对话框 <br />		/// &lt;/summary> <br />		/// &lt;param name="str_Message">提示信息,例子："您是否确认删除!"&lt;/param> <br />		/// &lt;param name="btn">隐藏Botton按钮Id值,比如：btn_Flow&lt;/param> <br />		/// &lt;param name="page">Page类&lt;/param> <br />		public void Confirm(string str_Message,string btn,Page page) <br />		{ <br />			page.RegisterStartupScript("","&lt;script> if (confirm('"+str_Message+"')==true){document.forms(0)."+btn.Trim()+".click();}&lt;/script>"); <br />		} <br />		#endregion<br /><br />		private void Button2_Click(object sender, System.EventArgs e)<br />		{		<br />			this.Confirm("要删除吗?","Button1",this);<br />		}<br />	}<br />}
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/168109#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, 05 Mar 2008 12:44:24 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/168109</link>
        <guid>http://jzhua.javaeye.com/blog/168109</guid>
      </item>
      <item>
        <title>安装Oracle时，如出现”不能安装组件“问题的解决方法</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/166968" style="color:red;">http://jzhua.javaeye.com/blog/166968</a>&nbsp;
          发表时间: 2008年03月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最重要的原因是安装的路径下有中文名称文件夹。<br /><br />解决的方法是：把安装的文件放在一个没有中文名称的路径下即可。<br /><br />所以以后在安装oracle要注意安装路径（中文路径要注意）
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/166968#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>Mon, 03 Mar 2008 15:29:07 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/166968</link>
        <guid>http://jzhua.javaeye.com/blog/166968</guid>
      </item>
      <item>
        <title>一个简单的通过JSP中把数据导入到Excel，并出现下载对话框</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/166964" style="color:red;">http://jzhua.javaeye.com/blog/166964</a>&nbsp;
          发表时间: 2008年03月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          主要是通过文件流的方式，这个方法不是很好，如有更好的方法，还希望多多交流哦！<br /><br /><br />&lt;%@   page   contentType="text/html;charset=gb2312"   %>     <br />&lt;%@   page   import="java.lang.*"%>   <br />&lt;%   <br />  try{                                     <br />      response.setContentType("Application/msexcel");   <br />      response.setHeader("Content-Disposition",   "attachment;filename=test.xls");                             <br />      StringBuffer   cont=new   StringBuffer("");   <br />%>   <br />  &lt;HTML>   <br />  &lt;HEAD>   <br />  &lt;META   http-equiv="Content-Style-Type"   content="text/css">       <br />  &lt;/HEAD>   <br />  &lt;BODY>   <br />  &lt;br/>&lt;br/>&lt;br/>   <br />&lt;%     <br />  cont.append("&lt;table   width='100%'   border='1'>\r\n");   <br />  cont.append("&lt;tr>\r\n");   <br />  cont.append("&lt;td   height='19'>字段一&lt;/td>\r\n");   <br />  cont.append("&lt;td   height='19'>字段二&lt;/td>\r\n");   <br />  cont.append("&lt;td   height='19'>字段三&lt;/td>\r\n");   <br />  cont.append("&lt;td   height='19'>字段四&lt;/td>\r\n");   <br />  cont.append("&lt;/tr>\r\n");   <br />  cont.append("&lt;tr>\r\n");   <br />  cont.append("&lt;td>"+"xxxxxxxxxxxxxxxxxxxxxxxx"   +"&nbsp;&lt;/td>\r\n");   <br />  cont.append("&lt;td>"+"xxxxxxxxxxxxxxxxxxxxxxxx"   +"&nbsp;&lt;/td>\r\n");   <br />  cont.append("&lt;td>"+"xxxxxxxxxxxxxxxxxxxxxxxx"   +"&nbsp;&lt;/td>\r\n");   <br />  cont.append("&lt;td>"+"xxxxxxxxxxxxxxxxxxxxxxxx"   +"&nbsp;&lt;/td>\r\n");   <br />  cont.append("&lt;/tr>\r\n");   <br />  cont.append("&lt;tr>\r\n");   <br />  cont.append("&lt;td>"+"xxxxxxxxxxxxxxxxxxxxxxxx"   +"&nbsp;&lt;/td>\r\n");   <br />  cont.append("&lt;td>"+"xxxxxxxxxxxxxxxxxxxxxxxx"   +"&nbsp;&lt;/td>\r\n");   <br />  cont.append("&lt;td>"+"xxxxxxxxxxxxxxxxxxxxxxxx"   +"&nbsp;&lt;/td>\r\n");   <br />  cont.append("&lt;td>"+"xxxxxxxxxxxxxxxxxxxxxxxx"   +"&nbsp;&lt;/td>\r\n");   <br />    <br />  cont.append("&lt;/table>\r\n");     <br />  response.getWriter().println(cont.toString());   <br />  response.getWriter().close();   <br />    <br />  }   <br />  catch   (Exception   e){   <br />  out.println(e.toString());   <br />  }   <br />%>   <br />  &lt;/BODY>   <br />  &lt;/HTML>
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/166964#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, 03 Mar 2008 15:21:21 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/166964</link>
        <guid>http://jzhua.javaeye.com/blog/166964</guid>
      </item>
      <item>
        <title>当遇见”JVM版本不符合要求“问题时</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/166962" style="color:red;">http://jzhua.javaeye.com/blog/166962</a>&nbsp;
          发表时间: 2008年03月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          解决方法：<br /><br />把系统变量（PATH）中的oracle所涉及到的JRE目录给删除，即可以解决问题<br /><br />因为oracle中用的JVM版本于eclipse
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/166962#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, 03 Mar 2008 15:15:30 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/166962</link>
        <guid>http://jzhua.javaeye.com/blog/166962</guid>
      </item>
      <item>
        <title>我是一个新人,还望大家给关照关照哦!</title>
        <author>jzhua2006</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jzhua.javaeye.com">jzhua2006</a>&nbsp;
          链接：<a href="http://jzhua.javaeye.com/blog/166082" style="color:red;">http://jzhua.javaeye.com/blog/166082</a>&nbsp;
          发表时间: 2008年02月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我是一个新人,还望大家给关照关照哦!<br /><br />这里的规矩还不是很熟悉,如有那里不足之处!还望指点指点
          <br/>
          <span style="color:red;">
            <a href="http://jzhua.javaeye.com/blog/166082#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>Fri, 29 Feb 2008 11:37:03 +0800</pubDate>
        <link>http://jzhua.javaeye.com/blog/166082</link>
        <guid>http://jzhua.javaeye.com/blog/166082</guid>
      </item>
  </channel>
</rss>