jsp connectionºÒ·¯¿À´Â ºÎºÐ¿¡ °üÇÑ Áú¹®ÀÔ´Ï´Ù. db´Â mysql, server´Â tomcatÀÔ´Ï´Ù.
ConnectionContext Ŭ·¡½º¸¦ ÀÌ¿ëÇØ¼ jsp¿¡¼ conectionÀ» ¾ò¾î¿À´Âµ¥
Á¦°¡ db¿¡¼ Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ¹æ¹ýÀº ¿¹¸¦µé¸é ÀÌ·±½Ä ÀÔ´Ï´Ù.
<%@ page import="thinkonweb.util.ConnectionContext" %>
Connection conn = ConnectionContext.getConnection();
ConnectionContext ÀÇ ¼Ò½º´Â ¾Æ·¡¿Í °°°í¿ä, À̰Ŷû °°ÀÌ server.xml ¿¡ db¿¬µ¿ÇÏ´Â ºÎºÐÀ» Ãß°¡Çؼ »ç¿ëÇϴ°ÅÁÒ..
package thinkonweb.util;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
public class ConnectionContext {
private static String jndiName = "jdbc/mysql";
private static Connection conn = null;
public static Connection getConnection()
{
if (conn!= null)
return conn;
try {
Context initContext = (Context)new InitialContext().lookup("java:comp/env/");
DataSource ds = (DataSource)initContext.lookup( jndiName);
conn = ds.getConnection();
}
catch(Exception e) {
e.printStackTrace();
}
return conn;
}
}
jspóÀ½ ¹è¿ï¶§ ¿¹Á¦¸¦ µû¶óÇÏ¸é¼ ¸¸µç Ŭ·¡½ºÆÄÀÏÀä,, ¾Æ·¡ ¼Ò½º¸¦ ÄÄÆÄÀÏÇÑ Å¬·¡½ºÆÄÀÏÀ» webappÆú´õ¿¡ Áý¾î³Ö¾î¼
connetcionÀ» ¾ò¾î¿É´Ï´Ù. ÀÌÀü±îÁö´Â ¾Æ¹«¹®Á¦ ¾øÀÌ »ç¿ëÇÏ´Ù°¡ ¾î´À³¯ ¹®Á¦°¡ ¹ß»ýÇß½À´Ï´Ù.
Statement¸¦ ¾ò¾î¿À´Â createStatement() ºÎºÐ¿¡¼ ÀͼÁ¼ÇÀÌ ¹ß»ýÇϴ°̴ϴÙ. ´ÙÀ½°ú °°Àº ÀͼÁ¼ÇÀÌ ¹ß»ýÇϴ°̴ϴÙ.
java.sql.SQLException: Connection is closed
±×·¡¼
<%@ page import="thinkonweb.util.ConnectionContext" %>
Connection conn = ConnectionContext.getConnection();
±âÁ¸¿¡ Ä¿³¼¼ÆÀ» ¾ò¾î¿À´Â ¹æ½ÄÀ» ¹ö¸®°í
try {
Class.forName("org.gjt.mm.mysql.Driver");
} catch (ClassNotFoundException e ) {
out.println(e);
}
// DB¿Í ¿¬°áÇÑ´Ù.
try{
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/qna?useUnicode=true&characterEncoding=utf-8","root","11234441");
} catch (SQLException e) {
out.println(e);
}
Á÷Á¢ db¿¡¼ Ä¿³Ø¼ÆÀ» °¡Áö°í¿Ô´õ´Ï Á¤»óÀûÀ¸·Î µ¿ÀÛÇÕ´Ï´Ù.
¿ÖÀÌ·±¹®Á¦°¡ ¹ß»ýÇÒ±î¿ä .. °í¼ö´ÔµéÀÇ ´äº¯ ºÎʵ右´Ï´Ù.