??xml version="1.0" encoding="utf-8" standalone="yes"?>午夜成人免费视频,500福利第一精品导航,91九色在线观看http://www.aygfsteel.com/SmileFace/ 与java一赯q的日子zh-cnFri, 20 Jun 2025 00:28:29 GMTFri, 20 Jun 2025 00:28:29 GMT60postgresql安装http://www.aygfsteel.com/SmileFace/archive/2007/05/25/120101.htmlSmileFaceSmileFaceFri, 25 May 2007 14:42:00 GMThttp://www.aygfsteel.com/SmileFace/archive/2007/05/25/120101.htmlhttp://www.aygfsteel.com/SmileFace/comments/120101.htmlhttp://www.aygfsteel.com/SmileFace/archive/2007/05/25/120101.html#Feedback0http://www.aygfsteel.com/SmileFace/comments/commentRss/120101.htmlhttp://www.aygfsteel.com/SmileFace/services/trackbacks/120101.html在windows和fedora 4下都安装了postgresqlQ有2点体会:

1。windows下安装postgresqlQ最好在安装前先建立“limit”权限的用户postgresQ当Ӟ看见报错的时候再加也来的及呀Q?br>
2。在fedora 4 下安装,要么用rpm安装低版本的postgresqlQ要么用source逐步安装最新版本的。用rpm比较单,不说了;
    如果安装sourceQ不要到|上到处扑ָ助,直接在postgresql的网站上扑ֈ权威文档pQ?a >http://www.postgresql.org/docs/8.2/static/installation.html?我觉得很实用。按照它的步骤做下来Qok?其是,注意看里?4.2中关于requirments的说明,?font face="Courier New">configure?/font>记得使用--without-readline optionQ否则会出错的?br>



SmileFace 2007-05-25 22:42 发表评论
]]>
Linux下安装java开发环境jdkQtomcatQeclipseQsysdeohttp://www.aygfsteel.com/SmileFace/archive/2007/05/25/119933.htmlSmileFaceSmileFaceFri, 25 May 2007 03:32:00 GMThttp://www.aygfsteel.com/SmileFace/archive/2007/05/25/119933.htmlhttp://www.aygfsteel.com/SmileFace/comments/119933.htmlhttp://www.aygfsteel.com/SmileFace/archive/2007/05/25/119933.html#Feedback0http://www.aygfsteel.com/SmileFace/comments/commentRss/119933.htmlhttp://www.aygfsteel.com/SmileFace/services/trackbacks/119933.html
安装的版本: jdk1.5.0_11+Tomcat5.0.28+Eclipse3.2.2+Sysdeo3.2.1

说明Q?br>
1、fc4W一ơ有了自带的全套java开发环境,也就是说Q如果你完全安装Q那么jdkQtomcat和eclipse都是直接装好的。据说这是因为版权的原因不再使用sun的jdkQ所以才会这栗但是却完了我。我遇到了一个接一个的问题。后来再|上搜了一遍,看了写文章,l论是:fc4自带的这套环境不能用Q最好自p。于是就有了我的子装q程和这片文章。注意:我遇到的问题主要来自sysdeoQ如果你不用这个插Ӟ也许fc4的环境可以将q?br>
2、安装jdk和tomcat需要是root用户Q安装eclipse和sysdeo最好用开发者自q用户?br>
安装q程Q?br>
1 安装jdkQ?nbsp;  参考文档:http://www.sitepoint.com/article/jakarta-tapestry

   su 到root用户Q?br>
    1.1 下蝲jdk-1_5_0_11-linux-i586-rpm.binQ?br>   1.2 要执行文Ӟdchange文g的perrmissions: chmod +x jdk-1_5_0_11-linux-i586-rpm.bin
  
    1.3 执行文gQ?/jdk-1_5_0_11-linux-i586-rpm.bin
    1.4 在etc/profile.d新徏java.shQ如下:
  
     if ! echo ${PATH} | grep -q /usr/java/jdk1.5.0_11/bin ; then
      export PATH=/usr/java/jdk1.5.0_11/bin:${PATH}
    fi
    if ! echo ${PATH} | grep -q /usr/java/jdk1.5.0_11/jre/bin ; then
      export PATH=/usr/java/jdk1.5.0_11/jre/bin:${PATH}
    fi
    export JAVA_HOME=/usr/java/jdk1.5.0_11
    export CLASSPATH=.:/usr/java/jdk1.5.0_11/lib/tools.jar:/usr/java/jdk1.5.0_11/jre/lib/rt.jar
    
2.安装tomcatQ我完全参考文档:http://linux-sxs.org/internet_serving/c140.html#INSTALL。这个文章很好,强烈推荐?br>
3、安装eclipseQ?nbsp;没有trick?br>      3.1 su到普通的开发用P
       3.2 unzip卛_?br>       3.3 ./eclipse卛_启动?br>4、安装sysdeoQ?br>       因ؓ在windows下这个插件用的很手Q所以在linux下我也希望能接着用它?br>       以普通用戯n份下载,unzipQ然后mv到eclips的plugins下,卛_?br> 
        重新启动eclipseQ小猫的图标在。再在window/perferences下配|一下。运行,出问题了。原因是Qtomcat的启动只有root有权限,现在是普通用L模式下,权限受限。solutionQ?nbsp; 让普通用htomcat的权限?br>
       做法是:chown -R test:test  /opt/tomcat
   q里?testQtest是我自己的用户名和用LQopt/tomcat是catalina_home?br>   注意Q如果这里的/opt/tomcat是sambolic link的话Q真正的目录也需要chown。即Q如果是opt/jarcartar_tomcat_1.5.0指向opt/tomcatQ那么opt/jarcartar_tomcat_1.5.0也要chown?br>


q下应该ok了?/font>


SmileFace 2007-05-25 11:32 发表评论
]]>
PreparedStatement接口http://www.aygfsteel.com/SmileFace/archive/2006/12/23/89614.htmlSmileFaceSmileFaceFri, 22 Dec 2006 17:47:00 GMThttp://www.aygfsteel.com/SmileFace/archive/2006/12/23/89614.htmlhttp://www.aygfsteel.com/SmileFace/comments/89614.htmlhttp://www.aygfsteel.com/SmileFace/archive/2006/12/23/89614.html#Feedback0http://www.aygfsteel.com/SmileFace/comments/commentRss/89614.htmlhttp://www.aygfsteel.com/SmileFace/services/trackbacks/89614.html

出处Qhihi的网?/font>

http://home.fego.cn/loading.html?aspxerrorpath=/members/hihi/m_Article/Detail.aspx


Java数据库接口JDBC入门基础讲-W六讲 PreparedStatement接口

 

 
  概述

  ?PreparedStatement 接口l承 StatementQƈ与之在两斚w有所不同Q?br />
  PreparedStatement 实例包含已编译的 SQL 语句。这是使语句“准备好”。包含于 PreparedStatement 对象中的 SQL 语句可具有一个或多个 IN 参数。IN参数的值在 SQL 语句创徏时未被指定。相反的Q该语句为每?IN 参数保留一个问P“?”)作ؓ占位W。每个问L值必d该语句执行之前,通过适当的setXXX Ҏ来提供?br />

  ׃ PreparedStatement 对象已预~译q,所以其执行速度要快?Statement 对象。因此,多次执行?SQL 语句l常创徏?PreparedStatement 对象Q以提高效率?br />
  作ؓ Statement 的子c,PreparedStatement l承?Statement 的所有功能。另外它q添加了一整套ҎQ用于设|发送给数据库以取代 IN 参数占位W的倹{同Ӟ三种Ҏ execute?executeQuery ?executeUpdate 已被更改以之不再需要参数。这些方法的 Statement 形式Q接?SQL 语句参数的Ş式)不应该用?PreparedStatement 对象?br />
  1、创?PreparedStatement 对象

  以下的代码段Q其?con ?Connection 对象Q创建包含带两个 IN 参数占位W的 SQL 语句?PreparedStatement 对象Q?br />
PreparedStatement pstmt = con.prepareStatement("UPDATE table4 SET m = ? WHERE x = ?");

  pstmt 对象包含语句 "UPDATE table4 SET m = ? WHERE x = ?"Q它已发送给DBMSQƈ为执行作好了准备?br />
  2、传?IN 参数

  在执?PreparedStatement 对象之前Q必设|每?? 参数的倹{这可通过调用 setXXX Ҏ来完成,其中 XXX 是与该参数相应的cd。例如,如果参数hJava cd longQ则使用的方法就?setLong。setXXX Ҏ的第一个参数是要设|的参数的序C|,W二个参数是讄l该参数的倹{例如,以下代码第一个参数设?123456789Q第二个参数设ؓ 100000000Q?br />
pstmt.setLong(1, 123456789);
pstmt.setLong(2, 100000000);

  一旦设|了l定语句的参数|可用它多次执行该语句,直到调用clearParameters Ҏ清除它ؓ止。在q接的缺省模式下Q启用自动提交)Q当语句完成时将自动提交或还原该语句?br />
  如果基本数据库和驱动E序在语句提交之后仍保持q些语句的打开状态,则同一?PreparedStatement 可执行多ơ。如果这一点不成立Q那么试N过使用PreparedStatement 对象代替 Statement 对象来提高性能是没有意义的?br />
  利用 pstmtQ前面创建的 PreparedStatement 对象Q,以下代码例示了如何设|两个参数占位符的值ƈ执行 pstmt 10 ơ。如上所qͼ为做到这一点,数据库不能关?pstmt。在该示例中Q第一个参数被讄?"Hi"q保持ؓ常数。在 for 循环中,每次都将W二个参数设|ؓ不同的|?0 开始,?9 l束?br />
pstmt.setString(1, "Hi");
for (int i = 0; i < 10; i++) {
 pstmt.setInt(2, i);
 int rowCount = pstmt.executeUpdate();
}

  3、IN 参数中数据类型的一致?br />
  setXXX Ҏ中的 XXX ?Java cd。它是一U隐含的 JDBC cdQ一?SQL cdQ,因ؓ驱动E序把 Java cd映射为相应的 JDBC cdQ遵循该 JDBCGuide中?.6.2 “映?Java ?JDBC cd”表中所指定的映)Qƈ该 JDBC cd发送给数据库。例如,以下代码D将 PreparedStatement 对象 pstmt 的第二个参数讄?44QJava cd?shortQ?br />
pstmt.setShort(2, 44);

  驱动E序?44 作ؓ JDBC SMALLINT 发送给数据库,它是 Java short cd的标准映?br />
  E序员的责Q是确保将每个 IN 参数?Java cd映射Z数据库所需?JDBC 数据cd兼容?JDBC cd。不妨考虑数据库需?JDBC SMALLINT 的情c如果用方?setByte Q则驱动E序?JDBC TINYINT 发送给数据库。这是可行的Q因多数据库可从一U相关的cd转换为另一U类型,q且通常 TINYINT 可用于SMALLINT 适用的Q何地?br />


SmileFace 2006-12-23 01:47 发表评论
]]>
properties文g再箋http://www.aygfsteel.com/SmileFace/archive/2006/12/22/89391.htmlSmileFaceSmileFaceThu, 21 Dec 2006 21:11:00 GMThttp://www.aygfsteel.com/SmileFace/archive/2006/12/22/89391.htmlhttp://www.aygfsteel.com/SmileFace/comments/89391.htmlhttp://www.aygfsteel.com/SmileFace/archive/2006/12/22/89391.html#Feedback0http://www.aygfsteel.com/SmileFace/comments/commentRss/89391.htmlhttp://www.aygfsteel.com/SmileFace/services/trackbacks/89391.html
  1。用java.util.Propertiescȝload()ҎCZQ?br />                InputStream in=new BufferedInputStream(newFileInputStream(name));
                Properties p=new Properties();
                p.load(in);

  2。用java.util.ResourceBundlecȝgetBundle()ҎCZQ?br />                  ResourceBundle rb=ResourceBundle.getBundle(name,Locale.getDefault());

  3。用java.util.PropertyResourceBundlecȝ构造函数示例:
                   InputStream in=newBufferedInputStream(newFileInputStream(name));
                  ResourceBundle rb=newPropertyResourceBundle(in);

  4。用class变量的getResourceAsStream()ҎCZQ?br />                   InputStream in=JProperties.class.getResourceAsStream(name);
                   Properties p=newProperties();
                   p.load(in);

  5。用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()ҎCZQ         ?br />
                   InputStream in=JProperties.class.getClassLoader().getResourceAsStream(name);
                   Properties p=new Properties();
                    p.load(in);

  6。用java.lang.ClassLoadercȝgetSystemResourceAsStream()静态方法示例:InputStreamin=ClassLoader.getSystemResourceAsStream(name);Propertiesp=newProperties();p.load(in);

  补充

  Servlet中可以用javax.servlet.ServletContext的getResourceAsStream()ҎCZQ?br />
                 InputStream in=context.getResourceAsStream(path);
                 Properties p=newProperties();
                 p.load(in);

SmileFace 2006-12-22 05:11 发表评论
]]>
关于在java中定义常?/title><link>http://www.aygfsteel.com/SmileFace/archive/2006/12/21/89179.html</link><dc:creator>SmileFace</dc:creator><author>SmileFace</author><pubDate>Wed, 20 Dec 2006 20:06:00 GMT</pubDate><guid>http://www.aygfsteel.com/SmileFace/archive/2006/12/21/89179.html</guid><wfw:comment>http://www.aygfsteel.com/SmileFace/comments/89179.html</wfw:comment><comments>http://www.aygfsteel.com/SmileFace/archive/2006/12/21/89179.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/SmileFace/comments/commentRss/89179.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/SmileFace/services/trackbacks/89179.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0in 0in 0pt"> <span lang="ZH-CN" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: EN-CA; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> </span> <span lang="EN-CA" style="FONT-SIZE: 10pt; mso-ansi-language: EN-CA; mso-bidi-font-size: 12.0pt"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p>首先Qjava没有?全局变量 的东西(有全局变量q叫OO吗?Q;原因QJava所有设计都Z对象的基上。Java的全局变量只能对一个类内部而言。能够在cd的Q何地方用的变量是全局变量Q而只在某个特定的函数或者局部的E序块内使用的变量则是局部变量?br /><br />所以:<font size="3">声明为static的变量实质上是全局变量。当声明一个对象时Qƈ不生static变量的拷贝,而是该类所有的实例变量q同一个static变量?/font><br /><br />使用Qjava中只有static和非static变量,q个属于每个cȝ,如果需要全局变量比如PI(3.14...),可以写一个类Math,定义static变量PI,调用Math.PI可以用了,q样p到我们用全局变量的目的了?br /><br /></o:p> </span> </p> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">1、将一?/span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">package</span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">中需要的帔R集中C?/span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">XyzConstants</span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">之类?/span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">interface</span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">里声明,</span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> <br /> </span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">像普通的</span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">field</span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">那样声明p了?/span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> <br />public interface SomeConstants {<br />   public <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:place w:st="on"><st1:placename w:st="on">int</st1:placename><st1:placetype w:st="on">PORT</st1:placetype></st1:place> = 80;<br />   public String IP = "166.111.16.1";<br />   public boolean test = true;<br />}</span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">可以?/span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> <br /> </span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">用到帔R的类</span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">implements</span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">q个接口</span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">..</span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">单情况这样就行乐?/span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> <br /> <br /> </span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">2、更</span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">formal</span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的做法是写一个类l护所有的帔RQ负责从配置文gQ例如properties文g或xml文gQ读取所有的帔R的倹{?/span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> <br /> </span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">可以在一?/span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">static {} </span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">块里从配|文件中初始化所?/span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">static</span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的变量?/span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">q样有利于提高Y件的可配|性。改些东东不用动代码Q比较好?/span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> <br /> </span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">最好要?/span> <span lang="EN-GB" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana; LETTER-SPACING: 0.2pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-GB; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">config Tool</span> <span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt; mso-ansi-language: EN-GB; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">负责写配|文件?br /><br />3.其他说明Q?br /><font face="Verdana" size="1"><br />定义一个公开c?在里面加static 变量?br />public class infos{<br />  private infos(){<br />  }<br />   public static int PORT = 80;<br />   public static String IP = "166.111.166.111";<br />   public static boolean test = true;<br />   public static finale String MYNAME="zzz"; //定义中用了finale,是不能改变指的?br />}<br />在别的class中调用这些变量就? infos.PORT,infos.IP,infos.test,infos.MYNAME<br />多个class交互时可以通过改变q些变量的值来传递信息。比?infos.test被别的classҎ了false,可能表示某一件事已经p|或已l做q,其它class可以提前知道这些信息?/font></span> <img src ="http://www.aygfsteel.com/SmileFace/aggbug/89179.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/SmileFace/" target="_blank">SmileFace</a> 2006-12-21 04:06 <a href="http://www.aygfsteel.com/SmileFace/archive/2006/12/21/89179.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDom基本概念和?/title><link>http://www.aygfsteel.com/SmileFace/archive/2006/12/21/89178.html</link><dc:creator>SmileFace</dc:creator><author>SmileFace</author><pubDate>Wed, 20 Dec 2006 18:40:00 GMT</pubDate><guid>http://www.aygfsteel.com/SmileFace/archive/2006/12/21/89178.html</guid><wfw:comment>http://www.aygfsteel.com/SmileFace/comments/89178.html</wfw:comment><comments>http://www.aygfsteel.com/SmileFace/archive/2006/12/21/89178.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/SmileFace/comments/commentRss/89178.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/SmileFace/services/trackbacks/89178.html</trackback:ping><description><![CDATA[出处Q?a >http://www.360doc.com/showWeb/0/0/162473.aspx</a><br /><br />一、前a<br />    JDOM是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000q初QJDOM作ؓ一个开放源代码目正式开始研发。JDOM是一U解析XML的Java工具包? <p>    DOM适合于当今流行的各种语言Q包括Java,JavaScripte,VB,VBScriptQPerl,C,C++{。它了ؓHTML和XML文档提供了一个可应用于不同^台的~程接口。W3C DOM的最C息可从http://www.w3.org/TR2001/WD-DOM-Lever-3-Core-20010913查阅。微软在http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk30/htm/xmconxmldomuserguide.asp上也有DOM的详l技术信息?/p><p>   DOM的设计ؓ了适用于不同的语言Q它保留了不同语a中非常相似的API。但是它q不适合于Java~程者的习惯。而JDOM作ؓ一U轻量API被制定,它最核心的要求是以JavaZ心,只适合于Java语言Q它遵@DOM的接口主要规则,除去了DOM中ؓ了兼容各语言而与Java习惯的不同?/p><p>二、用JDOM的前提条?br />   要有SAX、DOM解析器的cLӞJDOM只是一U适合JavaE序员来使用的Java XML解析器,目前行的Java XML解析器还有:Apache Xerces Java、JAXP?br />Xerces Java解析器是完全用Java~写的XML解析器,最新版本是2.5Q它支持以下标准和APIQ?br />Q?Q?XML1.0规范Q第二版本)<br />Q?Q?XML命名I间规范<br />Q?Q?DOM2核心标准规范<br />Q?Q?SAX2核心扩展<br />Q?Q?JAXP1.2 Q是Sun提供的用Java处理XML的接口API?br />Q?Q?XML Schemal构和数据类型标?/p><p>      q有最好的是它开放源代码Q我们可以在http://xml.apache.org/dist/xerces-j/ 处去下蝲。下载文件Xerces-J-bin.2.5.0.zip?br />解压下蝲文gQ得到四个压~包加到目的\径中Q其实不要全加,但不熟的情况下考虑q么做)?br />JDOM的二q制版本下蝲Qhttp://www.jdom.org/downloads/index.html<br />把解压后的jdom.jar文g加到目的类路径中,另外便于调试Q还要下载它的源代码?/p><p>三、用JDOM解析XML<br />     好了Q现在该是正题了。下面通过一个简单的例子说明一下怎么用JDOMq一适合JavaE序员习惯的工具包来解析XML文档?br />Z单,我用了如下XML作ؓ要解析的XML文gQ?br /><?xml version="1.0" encoding="gb2312"?><br /><books><br />   <book email="zhoujunhui"><br />     <name>rjzjh</name><br />     <price>60.0</price><br />  </book><br /></books><br />够简单的吧,但它对于我们兛_的东襉K有了Q子节点Q属性?br />下面是用于解析这个XML文g的Java文gQ?br /></p><pre>1 public class JDomParse { 2 public JDomParse(){ 3 String xmlpath="library.xml"; 4 SAXBuilder builder=new SAXBuilder(false); 5 try { 6 Document doc=builder.build(xmlpath); 7 Element books=doc.getRootElement(); 8 List booklist=books.getChildren("book"); 9 for (Iterator iter = booklist.iterator(); iter.hasNext();) { 10 Element book = (Element) iter.next(); 11 String email=book.getAttributeValue("email"); 12 System.out.println(email); 13 String name=book.getChildTextTrim("name"); 14 System.out.println(name); 15 book.getChild("name").setText("alterrjzjh"); 16 17 } 18 19 XMLOutputter outputter=new XMLOutputter(); 20 outputter.output(doc,new FileOutputStream(xmlpath)); 21 22 } catch (JDOMException e) { 23 e.printStackTrace(); 24 } catch (IOException e) { 25 e.printStackTrace(); 26 } 27 } 28 public static void main(String[] args) { 29 new JDomParse(); 30 } 31}</pre>不到30行代码,现在我对代码解释一下:<br />四、解释代?br />引用的类Q?br />import java.io.FileOutputStream;<br />import java.io.IOException;<br />import java.util.Iterator;<br />import java.util.List;<br />//下面是引用到JDOM中的c?br />import org.jdom.Document;<br />import org.jdom.Element;<br />import org.jdom.JDOMException;<br />import org.jdom.input.SAXBuilder;<br />import org.jdom.output.XMLOutputter;<br />Q?Q用JDOM首先要指定用什么解析器。如Q?br />        SAXBuilder builder=new SAXBuilder(false); q表CZ用的是默认的解析?br />Q?Q得到DocumentQ我们以后要q行的所有操作都是对q个Document操作的:<br />        Document doc=builder.build(xmlpath);<br />Q?Q得到根元素Q?br />        Element books=doc.getRootElement();<br />在JDOM中所有的节点QDOM中的概念Q都是一个org.jdom.Elementc,当然他的子节点也是一个org.jdom.ElementcR?br />Q?Q得到元素(节点Q的集合Q?br />      List booklist=books.getChildren("book");<br />q表C得到“books”元素的所在名UCؓ“book”的元素Qƈ把这些元素都攑ֈ一个List集合?br />Q?Q轮循List集合<br />     for (Iterator iter = booklist.iterator(); iter.hasNext();) {<br />       Element book = (Element) iter.next();<br />    ?br />q有一U轮循方法是Q?br />    for(int i=0;I<booklist.size();I++){<br />      Element book=(Element)booklist.get(i);<br />    }<br />Q?Q取得元素的属性:<br />    String email=book.getAttributeValue("email");<br />   取得元素book的属性名为“email”的属性倹{?br />Q?Q取得元素的子元素(为最低层元素Q的|<br />    String name=book.getChildTextTrim("name");<br />    注意的是Q必ȝ定book元素的名为“name”的子元素只有一个?br />Q?Q改变元素(为最低层元素Q的|<br />    book.getChild("name").setText("alterrjzjh");<br />    q只是对Document的修改,q没有在实际的XML文档中进行修?br />Q?Q保存Document的修改到XML文g中:<br />   XMLOutputter outputter=new XMLOutputter();<br />    outputter.output(doc,new FileOutputStream(xmlpath));<br /><br />我们先要有一个XMLOutputterc,再把已经修改了的Document保存qXML文档中?br />到此。用JDOM解析和处理XML文档讲解完了Q麻雀虽小Q五脏俱全。现在已对JDOM有个整体上的概念了吧?br /><br />q一步可以参考的文章Q?a >http://www.1-100.org/JSP/13190.htm</a><img src ="http://www.aygfsteel.com/SmileFace/aggbug/89178.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/SmileFace/" target="_blank">SmileFace</a> 2006-12-21 02:40 <a href="http://www.aygfsteel.com/SmileFace/archive/2006/12/21/89178.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于properties文ghttp://www.aygfsteel.com/SmileFace/archive/2006/12/19/88773.htmlSmileFaceSmileFaceTue, 19 Dec 2006 05:36:00 GMThttp://www.aygfsteel.com/SmileFace/archive/2006/12/19/88773.htmlhttp://www.aygfsteel.com/SmileFace/comments/88773.htmlhttp://www.aygfsteel.com/SmileFace/archive/2006/12/19/88773.html#Feedback0http://www.aygfsteel.com/SmileFace/comments/commentRss/88773.htmlhttp://www.aygfsteel.com/SmileFace/services/trackbacks/88773.html一个完整的J2EE应用M有很多系l参敎ͼ例如Datasource、INITIAL_CONTEXT_FACTORY、PROVIDER_URL{等Q怎么才能最方便的存取,q且便于pȝ部vQ移植呢Q?

是Q-.properties属性文件?br />
掌握他的使用Ҏ后,您可以象使用一个Class一样用您?properties属性文件?

Java中提供了一个java.util.Properties工具c,使用PropertiescL可以方便的从一?properties属性文件中d讄参数Q示例代码如下:

    Properties props = new Properties();
    props.load(new FileInputStream("filename.properties"));
    String value = props.getProperty("propertyname");

如果您的.properties文g打包入一个Jar或War文gQ您可以使用ClassLoader的getResourceAsStream()Ҏ得到一个InputStream对象Q示例代码如下:

        Properties props = new Properties();
        props.load(getClass().getResourceAsStream("com/company/application/application.properties"));
        String value = props.getProperty("propertyname");

不过q种方式应该适用于较量的访问吧Q比如应用系l的初始化等{?
如果需要频J得C息,׃太适合了?/span>

另解Q?他就象是数据可以存放?.txt中,但是当数据变得很复杂Q就要用专门的东西来存放---数据库,用java.util.PropertiescL存储配置参数提供一U以JavaZ心的数据存储配置ҎQ对Java有一定的依赖性,另外功能上也很匮乏,相当?.txt,目前对于E微复杂一些的pȝ存储配置都采用通用的xmlҎQ可以充分利用xml的强大功?相当于数据库?br />
Properties文gp一个文本文Ӟ文g中用属性和值来保存数据Q如Qabc.name=Colin。用Porperites文g来保存实际上是创徏一个Properites文gQ在E序关闭的时候,数据写入文Ӟ再等E序启动的时候,从这个Properties文g中读出数据?br />
出处Q?a >http://www.cjsdn.net/post/view?bid=2&id=109&sty=3&age=0&tpg=1&ppg=1#109

SmileFace 2006-12-19 13:36 发表评论
]]>
关于serilizationhttp://www.aygfsteel.com/SmileFace/archive/2006/12/16/88090.htmlSmileFaceSmileFaceFri, 15 Dec 2006 20:11:00 GMThttp://www.aygfsteel.com/SmileFace/archive/2006/12/16/88090.htmlhttp://www.aygfsteel.com/SmileFace/comments/88090.htmlhttp://www.aygfsteel.com/SmileFace/archive/2006/12/16/88090.html#Feedback0http://www.aygfsteel.com/SmileFace/comments/commentRss/88090.htmlhttp://www.aygfsteel.com/SmileFace/services/trackbacks/88090.html

首先要了解java默认的序列化行ؓQjava一切关于对象的信息都保存了下了Q也是_有些时候那些不需要保存的也被保存了下来。一般情况下Q我们仅仅需要保存逻辑数据可以了。不需要保存的数据我们可以用关键字transient标出?br />
例如Q?br />
import java.io.*;

public class Serial implements Serializable {

 int company_id;

 String company_addr;

 transient boolean company_flag;

}


其中的company_flag字段不会参与序列化与反序列化,但同时也增加了ؓ它初始值的责Q。这也是序列化常常导致的问题之一。因为序列化相当于一个只接受数据的public构造函敎ͼq种对象构造方法是语言之外的。但他仍然是一UŞ式上的构造函数。如若你的类不能够通过其他斚w来保证初始化Q则你需要额外的提供readObjectҎQ首先正常的反序列化Q然后对transient标示的字D进行初始化?

在不适合的时候,使用java默认的序列化行ؓ可能会带来速度上的影响Q最p糕的情冉|Q可能导致溢出。在某些数据l构的实CQ经怼充斥着各种的@环引用,而java的默认序列化行ؓQƈ不了解你的对象结构,其结果就是java试图通过一U昂늚“图遍历”来保存对象状态。可惌知Q不但慢而且可能溢出。这时候你p提供自己的readObjectQ来代替默认的行为?

note: http://developer.51cto.com/art/200601/20017.htm



SmileFace 2006-12-16 04:11 发表评论
]]>
使用tomcatq接池配|mysql数据库连?/title><link>http://www.aygfsteel.com/SmileFace/archive/2006/12/01/84705.html</link><dc:creator>SmileFace</dc:creator><author>SmileFace</author><pubDate>Thu, 30 Nov 2006 21:03:00 GMT</pubDate><guid>http://www.aygfsteel.com/SmileFace/archive/2006/12/01/84705.html</guid><wfw:comment>http://www.aygfsteel.com/SmileFace/comments/84705.html</wfw:comment><comments>http://www.aygfsteel.com/SmileFace/archive/2006/12/01/84705.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/SmileFace/comments/commentRss/84705.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/SmileFace/services/trackbacks/84705.html</trackback:ping><description><![CDATA[5月䆾的时候,我的一blog里提到这个内容,那时候没有深入写Q现在还是补补吧Q?br /><br />在配|之前需要把数据库启动程序copy到tomcat的common/lib下?br /><br />1、在Tomcat 的“管理”工具中Q添加“数据源”。键入以下| <ul><li>JNDI 名称Q?tt>jdbc/blue</tt></li><li>数据?URLQ?tt>jdbc:mysql://localhost/home</tt></li><li>JDBC 驱动E序c:<tt>org.gjt.mm.mysql.Driver</tt></li><li>用户名:<tt>root</tt></li><li>口oQ?×××</li></ul><p>2、在conf/catalina/localhost下找C“项目名.xml”文ӞE序名是webapps目录下的目文g夹名U。在此文件中?<tt><context></tt> 标记之间d以下资源链接Q?</p><pre class="examplecode"> <ResourceLink name="jdbc/blue" type="javax.sql.DataSource" global="jdbc/blue"/><br /><br />注意Q一定要加在q个文g中,而不是在目文g多w的web.xml中。至我q样做时l果不对?br /><br />3?接下来就是测试了。测试程序很重要Q尽量用单的了。以下是我的试E序Q?br /><br /><br /><br /><br /><br /><%@ page contentType="text/html; charset=GBK"%><br /><%@ page import="java.sql.*,javax.sql.DataSource,javax.naming.*"%><br /><html><br /><head><title>test.jsp</title></head><br /><body bgcolor="#ffffff"></pre><pre class="examplecode"><% <br />Context initCtx=new InitialContext();<br />DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/blue");</pre><pre class="examplecode">try<br />{<br />out.println("test! <br>");<br />Connection conn=ds.getConnection();<br />out.println("data from database:<br>");<br />Statement stmt=conn.createStatement();<br />ResultSet rs =stmt.executeQuery("select * from dept");<br />while(rs.next())<br />{</pre><pre class="examplecode">out.println(rs.getString(1));<br />out.println(rs.getString(2));</pre><pre class="examplecode">}<br />rs.close();<br />stmt.close();<br />}<br />catch(Exception e)<br />{<br />e.printStackTrace();<br />}<br />%><br /></body><br /></html><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Good Luck!</pre><img src ="http://www.aygfsteel.com/SmileFace/aggbug/84705.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/SmileFace/" target="_blank">SmileFace</a> 2006-12-01 05:03 <a href="http://www.aygfsteel.com/SmileFace/archive/2006/12/01/84705.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Begin to put what I have learned into practise(Eclipse+Tomcat)http://www.aygfsteel.com/SmileFace/archive/2006/10/13/74892.htmlSmileFaceSmileFaceThu, 12 Oct 2006 20:22:00 GMThttp://www.aygfsteel.com/SmileFace/archive/2006/10/13/74892.htmlhttp://www.aygfsteel.com/SmileFace/comments/74892.htmlhttp://www.aygfsteel.com/SmileFace/archive/2006/10/13/74892.html#Feedback0http://www.aygfsteel.com/SmileFace/comments/commentRss/74892.htmlhttp://www.aygfsteel.com/SmileFace/services/trackbacks/74892.htmlThere are two conditons before you want to run *.jsp file in your web.

1. You have to put the *.jsp into a project which have already registered in the server.xml of conf folder in Tomcat,or the project which under the webapps folder directly
2. In the project, you must have WEB-INF folder which have classes and lib subdirectory.



SmileFace 2006-10-13 04:22 发表评论
]]>
վ֩ģ壺 | | Ǧɽ| ƽ| | | Ҿ| ƺ| | ԰| | | | ۶| | ɾ| ƽ̶| | | | | ʡ| ÷| | | ͨ| | ԭƽ| ̨| | | | | | | | | | ƽ| ̨| |