■JDBC 接続、問い合わせ、レコード参照(Servlet) ・JDBC 接続では、Oracle や PostgreSQL アクセスが同等にコードできる。 // test.java package jp.ojima.eclipse; import java.io.IOException; import java.io.PrintWriter; import java.sql.DriverManager; import java.sql.ResultSet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class jdbcserv extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { // String drv = "oracle.jdbc.OracleDriver"; //String dsn = "jdbc:oracle:thin:@localhost:1521:sid"; // String drv = "oracle.jdbc.OracleDriver"; // String dsn = "jdbc:oracle:thin:@150.29.50.95:1521:rakkyo"; // Web.xmlからcontextを取得 ServletContext w_SrvCont = getServletContext(); String jdbcdriver = w_SrvCont.getInitParameter("jdbcDriver"); String dbURI = w_SrvCont.getInitParameter("jdbcUri"); String dbUserID = w_SrvCont.getInitParameter("dbUser"); String dbPassword = w_SrvCont.getInitParameter("dbPassword"); String sql = "select * from テストm"; Connection cn = null; Statement st = null; ResultSet rs = null; // コンテンツタイプ指定 res.setContentType("text/html; charset=SJIS"); // HTML ヘッダ出力 PrintWriter rw = res.getWriter(); rw.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">"); rw.println("<HTML>"); rw.println("<HEAD>"); rw.println("<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">"); rw.println("<TITLE>JAVA Servlet - Oracle9i JDBC Test</TITLE>"); rw.println("</HEAD>"); rw.println("<BODY>"); rw.println("<P>JAVA Servlet - Oracle9i JDBC Test</P>"); // Oracle9i JDBC ドライバロード try { // Class.forName(drv); Class.forName(jdbcdriver); } catch (Exception e) { rw.println("<P>JDBC ドライバロードエラー<BR>" + e.toString() + "</P>"); } // Oracle9i JDBC 接続 try { // cn = DriverManager.getConnection(dsn, "ojigon", "angel"); cn = DriverManager.getConnection(dbURI, dbUserID, dbPassword); } catch (Exception e) { rw.println("<P>JDBC 接続エラー<BR>" + e.toString() + "</P>"); } // Oracle9i JDBC 問い合わせ SQL 作成 try { st = cn.createStatement(); } catch (Exception e) { rw.println("<P>JDBC 問い合わせ SQL 作成エラー<BR>" + e.toString() + "</P>"); } // Oracle9i JDBC レコードセットオープン try { rs = st.executeQuery(sql); } catch (Exception e) { rw.println("<P>JDBC レコードセットオープンエラー<BR>" + e.toString() + "</P>"); } // Oracle9i JDBC レコードセットリード try { while (rs.next()) { rw.println("<P>" + rs.getString(1) + "</P>"); } } catch (Exception e) { rw.println("<P>JDBC レコードセットリードエラー<BR>" + e.toString() + "</P>"); } // Oracle9i JDBC レコードセットクローズ try { rs.close(); } catch (Exception e) {} // Oracle9i JDBC ステートメントクローズ try { st.close(); } catch (Exception e) {} // Oracle9i JDBC 接続クローズ try { cn.close(); } catch (Exception e) {} // HTML テイル出力 rw.println("</BODY>"); rw.println("</HTML>"); } } ■JDBC 接続、問い合わせ、レコード参照(JSP) <%@ page import="java.util.*,java.sql.*;" contentType="text/html; charset=Shift_JIS"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE>JAVA Server Page(JSP) - Oracle9i JDBC Test</TITLE> </HEAD> <BODY> <P>JAVA Server Page(JSP) - Oracle9i JDBC Test</P> <% String drv = "oracle.jdbc.OracleDriver"; String dsn = "jdbc:oracle:thin:@localhost:1521:sid"; String sql = "select * from テストm"; Connection cn = null; Statement st = null; ResultSet rs = null; // Oracle9i JDBC ドライバロード try { Class.forName(drv); } catch (Exception e) { out.println("<P>JDBC ドライバロードエラー<BR>" + e.toString() + "</P>"); } // Oracle9i JDBC 接続 try { cn = DriverManager.getConnection(dsn, "user", "passwd"); } catch (Exception e) { out.println("<P>JDBC 接続エラー<BR>" + e.toString() + "</P>"); } // Oracle9i JDBC 問い合わせ SQL 作成 try { st = cn.createStatement(); } catch (Exception e) { out.println("<P>JDBC 問い合わせ SQL 作成エラー<BR>" + e.toString() + "</P>"); } // Oracle9i JDBC レコードセットオープン try { rs = st.executeQuery(sql); } catch (Exception e) { out.println("<P>JDBC レコードセットオープンエラー<BR>" + e.toString() + "</P>"); } // Oracle9i JDBC レコードセットリード try { while (rs.next()) { out.println("<P>" + rs.getString(1) + "</P>"); } } catch (Exception e) { out.println("<P>JDBC レコードセットリードエラー<BR>" + e.toString() + "</P>"); } // Oracle9i JDBC レコードセットクローズ try { rs.close(); } catch (Exception e) {} // Oracle9i JDBC ステートメントクローズ try { st.close(); } catch (Exception e) {} // Oracle9i JDBC 接続クローズ try { cn.close(); } catch (Exception e) {} %> </BODY> </HTML>