2008年8月24日 星期日

note

JSTL API
http://java.sun.com/products/jsp/jstl/1.1/docs/api/index.html

JSTL TLD
http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html

workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\專案名稱

http://javaprepare.com/
http://www.javaranch.com/
http://www.digitalthink.com/
http://www.jaworski.com/java/certification
http://www.jchq.net/
http://www.certificationguru.com/

2008年8月16日 星期六

[Java] Dom4j 解析xml格式

Document doc = DocumentHelper.parseText(xmlRequest);
String AAA = doc.selectSingleNode("/action/AAA").getText();
String BBB = doc.selectSingleNode("/action/BBB").getText();

AAA的值為 "abc"
BBB的值為 "def"
其中"/action/AAA" 為xpath 除了需要dom4j.jar外
還需import jaxen.jar套件

[Java] Dom4j 產生xml格式

Document document = DocumentHelper.createDocument();
Element root = document.addElement("action");
root.addElement("AAA").addText("abc");
root.addElement("BBB").addText("def");
xmlRequest = document.asXML();

若要在ccc下面在加一個node
Element ccc = root.addElement("ccc");
ccc.addElement("ddd").addText("xyz");

xmlRequest輸出為以下字串
<action>
<AAA>abc<AAA>
<BBB>def<BBB>
<ccc>
  <ddd>xyz</ddd>
</ccc>
</action>

2008年8月6日 星期三

[Java] 今天和任一日期相差的天數

Calendar cal = Calendar.getInstance();
cal.set(2008, Calendar.JULY, 28); //取得DB中的日期
long daterange = new Date().getTime() - cal.getTimeInMillis();
long time = 1000*3600*24;
System.out.println(daterange/time);

2008年8月3日 星期日

[Java] JDBC連接資料庫 (六)

寫在finally區塊的關閉連線,有例外發生時會關閉連線
finally {

if (rset != null) {
  try {
    rset.close();
  } catch (SQLException e) {
    e.printStackTrace();
  }
}

if (stmt != null) {
  try {
    stmt.close();
  } catch (SQLException e) {
    e.printStackTrace();
  }
}

if (conn != null) {
  try {
    conn.close();
  } catch (SQLException e) {
    e.printStackTrace();
  }
}

}

[Java] JDBC連接資料庫 (五)

執行SQL Query和處理SQL執行結果
ResultSet rset = null;
try {
/**
* Enter SQL Query
*/
  rset = stmt.executeQuery("select deptid, deptname from dept");

/**
* Process SQL Query and print out
*/
while(rset.next()) {
  int deptid = rset.getInt("deptid");
  String deptname = rset.getString(2);
  System.out.println(deptid +", "+deptname);
}

} catch (SQLException e1) {
  e1.printStackTrace();
}

[Java] JDBC連接資料庫 (四)

取得Statement物件
Statement stmt = null;
try {

/**
* Get Statement object
*/
  stmt = conn.createStatement();

} catch (SQLException e1) {
  e1.printStackTrace();
}

[Java] JDBC連接資料庫 (三)

取得Database連線
Connection conn = null;
try {

/**
* Database connection
* jdbc:oracle:thin:@//host:port/DBName
*/
  String url = "jdbc:oracle:thin:@localhost:1521:XE";
  conn = DriverManager.getConnection(url, "java", "java");

} catch (SQLException e1) {
  e1.printStackTrace();
}

[Java] JDBC連接資料庫 (二)

註冊JDBC Driver 以Oracle資料庫為例
/**
* register JDBC Driver
*/
try {

  Class.forName("oracle.jdbc.OracleDriver");

} catch (ClassNotFoundException e) {
  e.printStackTrace();
}

[Java] JDBC連接資料庫 (一)

連接資料庫的六個步驟:
1.註冊JDBC Driver
2.取得Database連線:java.sql.Connection
3.取得Statement物件:java.sql.Statement
4.取得SQL Query
5.處理SQL Query執行結果:java.sql.ResultSet
6.關閉連線