À¥ ÇÁ·Î±×·¡¹Ö¿¡ ÀÖ¾î¼ µ¥ÀÌÅͺ£À̽º¿ÍÀÇ ¿¬µ¿Àº »© ³õÀ» ¼ö ¾ø´Â ÇʼöÀûÀÎ °ÍÀÔ´Ï´Ù. ÀÎÅͳÝÀ» »ç¿ëÇÏ¸é¼ ¸ÞÀÏÀ» ÀÛ¼ºÇϰí, °Ô½ÃÆÇÀ» »ç¿ëÇϰí, ÀڷḦ °Ë»öÇÏ´Â µî, ¿©·¯ºÐµµ ¸ð¸£°Ô µ¥ÀÌÅͺ£À̽º¸¦ ÀÌ¿ëÇÕ´Ï´Ù. »ç¿ëÀÚÀÇ ÀÔÀå¿¡¼´Â ¸ð¸£´õ¶óµµ ±×³É Àß ÀÌ¿ëÇÏ¸é µÇ°ÚÁö¸¸, ÇÁ·Î±×·¡¸Ó¶ó¸é ±× ¿ø¸®Á¤µµ´Â ÀÌÇØÇÏ°í °¡¾ß µÉ °ÍÀÔ´Ï´Ù. ¾Æ·¡ ±×¸²Àº JDBC¿Í JSPÀÇ ¿¬µ¿¹æ½ÄÀ» ³ªÅ¸³½ °ÍÀÔ´Ï´Ù.

±×¸² 8-3 JSP¿Í JDBC
JSPÀÇ ¿ø¸®¸¦ ¹ÙÅÁÀ¸·Î JDBC¿Í DBMS°¡ ´õÇØÁø °ÍÀ̶ó°í º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ¼¹ö¿¡¼ JSP/ServletÀ» ÀÌ¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º ÀÛ¾÷À» ó¸®Çϸé, ´ÙÀ½°ú °°Àº ¸î °¡Áö ´ç¿¬ÇÑ ÀåÁ¡µéÀÌ ÀÖ½À´Ï´Ù.
n Ŭ¶óÀ̾ðÆ®Ãø¿¡¼´Â JDBC µå¶óÀ̹ö¸¦ ´Ù¿î ¹ÞÀ» Çʿ䰡 ¾øÀ½
n ºê¶ó¿ìÀú´Â ÀÚ¹Ù¸¦ Áö¿øÇÒ Çʿ䰡 ¾øÀ½
n HTTP¸¦ »ç¿ëÇÑ ÀÚ·áÀÇ ±³È¯À¸·Î ¹æÈº® µîÀ» °ÆÁ¤ÇÒ Çʿ䰡 ¾øÀ½
n Ŭ¶óÀÌ¾ðÆ®´Â µðÀÚÀÎÃø¸é, ¼¹öÂÊÀº ºñÁö´Ï½º ·ÎÁ÷°ú µ¥ÀÌÅÍ Ãø¸éÀ¸·Î öÀúÈ÷ ³ª´©¾î °ü¸®°¡ ¿ëÀÌ(3 tier)
ÀÌÁ¦ JSP¿¡¼ JDBC¸¦ »ç¿ëÇØ¼ MS-SQL2000 µ¥ÀÌÅͺ£À̽º ¼¹ö¿¡ Á¢±ÙÇÏ´Â ¿¹Á¦¸¦ ÀÛ¼ºÇØ º¸°Ú½À´Ï´Ù. ¾ÕÀÇ JDBC ±âº»±¸Çö¿¡¼ ¸¸µé¾ú´ø ¿¹Á¦¸¦ °ÅÀÇ ±×´ë·Î JSP·Î À̽ÄÇØ º¼ °ÍÀÔ´Ï´Ù. ¹°·Ð JDBC ¿¬°á ºÎºÐÀº ºóÀ¸·Î ó¸®ÇÒ ¼ö ÀÖ´Â ¹æ¹ýµµ ÀÖÁö¸¸ ¿©±â¼´Â º¸´Ù Á÷°üÀûÀÌ°í ºÐ¸íÇÏ°Ô º¸¿©ÁÖ±â À§Çؼ JSP ÆäÀÌÁö ÀÚü¿¡¼ ¸ðµç °ÍÀ» ó¸®ÇÏ¿´½À´Ï´Ù.
|
JspJdbcTest.jsp |
JSP/JDBC ¿¬µ¿ ¿¹Á¦ |
|
| |
|
| |
¾ÕÀÇ ¿¹Á¦¿Í º°·Î ´Ù¸¦ °ÍÀÌ ¾ø½À´Ï´Ù. ´ÜÁö ¿©±â¼´Â Å×À̺íÀ» »ý¼ºÇÏ´Â °úÁ¤Àº »ý·«Çϰí, À§¿¡¼ ¸¸µç MyTest Å×ÀÌºí¿¡ µ¥ÀÌÅ͸¦ Çϳª ´õ »ðÀÔÇÑ ÈÄ ´Ù½Ã ¸ðµç µ¥ÀÌÅ͸¦ ºÒ·¯¿À´Â ÀÛ¾÷À» ÇÏ¿´½À´Ï´Ù. ¼Ò½º³»¿ëµµ Å©°Ô ´Þ¶óÁø Á¡Àº ¾øÁö¸¸ ¿¬°á °úÁ¤À» Çѹø ´õ »ìÆìº¸½Ã°í, JSP ÆäÀÌÁö¿¡ ¸Â°Ô HTMLºÎºÐÀÇ ÀÛ¾÷¿¡ ½Å°æ ¾´ ºÎºÐµµ ´« ¿©°Ü º¸½Ã±â ¹Ù¶ø´Ï´Ù. ±×·³ ¼Ò½º¸¦ »ìÆìº¸°Ú½À´Ï´Ù.
JDBC¸¦ ÀÌ¿ëÇϱâ À§Çؼ java.sql ÆÐŰÁö¸¦ importÇϰí ÀÖ½À´Ï´Ù.
n <%@ page import="java.sql.*"%>
SQLServerDriver JDBC µå¶óÀ̹ö¸¦ Class.forName ¸Þ¼µå¸¦ ÅëÇØ¼ ·Îµù½Ãŵ´Ï´Ù.
n Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
DriverManager·ÎºÎÅÍ Connection °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù.
n Connection conn = DriverManager.getConnection(url,id,pass);
Connection °´Ã¼ connÀ¸·ÎºÎÅÍ Statement °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù. Statement °´Ã¼´Â µ¥ÀÌÅͺ£À̽º¿¡ ÁúÀǸ¦ Çϰųª ÀÛ¾÷¸í·ÉÀ» Àü´ÞÇϴµ¥ »ç¿ëµË´Ï´Ù.
n Statement stmt = conn.createStatement();
PreparedStatementÀÇ °´Ã¼ pstmt¸¦ »ý¼ºÇÕ´Ï´Ù.
n PreparedStatement pstmt = conn.prepareStatement("Insert into MyTest values (?,?)");
PreparedStatement Ŭ·¡½ºÀÇ ¸Þ¼µåÀÎ setString°ú setInt¸¦ »ç¿ëÇØ¼ µ¥ÀÌÅ͸¦ »ðÀÔÇÕ´Ï´Ù.
n pstmt.setString(1, "hong");
n pstmt.setInt(2, 29);
n pstmt.execute();
ResultSetÀÇ °´Ã¼ rs¸¦ »ý¼ºÇÕ´Ï´Ù.
n ResultSet rs = stmt.executeQuery(sql);
°á°ú¸¦ HTML ÆäÀÌÁö·Î ÀûÀýÈ÷ Ãâ·ÂÇÏ¿© ÁÝ´Ï´Ù.
n while(rs.next()){
n %> <tr>
n <td><%=rs.getString(1)%></td>
n <td><%=rs.getInt(2)%></td>
n </tr>
n <%
n }
¸¶Áö¸·À¸·Î ResultSet, PreparedStatement, Statement¿Í ConnectionÀÇ °´Ã¼µéÀ» ¼ø¼´ë·Î ´Ý¾Æ ÁÝ´Ï´Ù.
n rs.close();
n pstmt.close();
n stmt.close();
n conn.close();
ÀÌ·¸°Ô JSP¿¡¼ÀÇ JDBC ¿¬µ¿µµ ¾îÇø®ÄÉÀ̼ǿ¡¼ÀÇ ¿¬µ¿°ú Å©°Ô ´Ù¸¦ °ÍÀÌ ¾ø½À´Ï´Ù. JSP´Â ¼ºí¸´À¸·Î º¯È¯µÇ¾î ½ÇÇàµÇ´Ï ´ç¿¬ÇÑ °á°ú¶ó°í ÇÒ ¼ö ÀÖ°ÚÁÒ. ÇÏÁö¸¸, JSP¿¡¼ µðÀÚÀκκаú ºñÁö´Ï½º ·ÎÁ÷ ±¸Çö ºÎºÐÀ» ³ª´©°í, µ¥ÀÌÅͺ£À̽º¸¦ °øÀ¯Çؼ ¿©·¯ °÷¿¡¼ »ç¿ëÇÏ·Á¸é, JDBC¿¡ °üÇÑ ºÎºÐÀº ºóÀ¸·Î ¸¸µé¾î »ç¿ëÇÏ´Â °ÍÀÌ º¸´Ù ÁÁÀ» °ÍÀÔ´Ï´Ù. À̰Ϳ¡ ´ëÇØ¼´Â µÚ¿¡ »ìÆìº¸°í ´ÙÀ½ Àý¿¡¼´Â JDBC ±¸Çö°úÁ¤À» ºÐÇØÇØ¼ Çϳª¾¿ ¼ø¼´ë·Î »ìÆìº¸°Ú½À´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºJSP2ºÎ ÀúÀÚ:ÃÖ¿µ°ü |