首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

簡單 Struts 應用開發教學 (二):資料庫配置與 ActionForm 建立

     編輯:Java 相關知識

第二步:配置資料庫連線池

1. 建立連線池 Bean (ConnectionPool/getDbConnection.java)

package ConnectionPool;
import javax.naming.*;
import javax.sql.*;
import java.sql.*;
import java.io.*;
import java.util.*;

public class getDbConnection {
    Connection conn;
    Statement stmt;
    ResultSet rs = null;
    String foo = "Not Connected";
    int bar = -1;

    public getDbConnection() {
        try {
            Context ctx = new InitialContext();
            if (ctx == null) throw new Exception("Boom - No Context");
            DataSource ds = (DataSource) ctx.lookup("java:comp/env/JDBC/TestDB");
            if (ds != null) {
                conn = ds.getConnection();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public Connection getCon() {
        return conn;
    }

    public void d_close() throws SQLException {
        if (rs != null) { try { rs.close(); } catch (SQLException e) {}; rs = null; }
        if (stmt != null) { try { stmt.close(); } catch (SQLException e) {}; stmt = null; }
        if (conn != null) { try { conn.close(); } catch (SQLException e) {}; conn = null; }
    }

    protected void finalize() throws Throwable {
        try { d_close(); } catch (SQLException e) {}
    }
}

從 JNDI java:comp/env/JDBC/TestDB 取得 DataSource,封裝連線取得與關閉邏輯。

2. 建立資料庫與資料表

  • 資料庫名:mystruts
  • 部門表 mydep:dep_id, dep_name (測試資料 1~4 筆)
  • 使用者表 myuser:user_id, user_name, dep, tel (測試資料 2 筆)
  • 註:為測試方便所有欄位均用字串型別

第三步:建立 ActionForm (userActionForm.java)

package mystruts;
import org.apache.struts.action.*;
import javax.servlet.http.*;

public class userActionForm extends ActionForm {
    private String action = "add";
    private String dep;
    private String tel;
    private String user_id;
    private String user_name;

    // Getter/Setter 略...

    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
        return null; // 本範例不做驗證
    }

    public void reset(ActionMapping mapping, HttpServletRequest request) {
        // 重置邏輯
    }
}

表單屬性對應頁面欄位:action (區分新增/編輯)、dep、tel、user_id、user_name。

下一步將建立 DAO 類別實作資料庫操作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved