개발
[JSP] tomcat5.5 mysql datasource 데이타소스 연결법
세모리a
2012. 11. 24. 12:43
tomcat /conf/server.xml 에 context를 추가해준다.
<?xml version="1.0"?> <Context docBase="yourapp" path="/yourapp"> <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="yourid" password="yourpw" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/mydb?autoReconnect=true"/>
</Context>
빨간부분들은 환경에 맞게 적당히 넣어주면되고.. 첫번째 보라색은 원하는걸로 지어준다. 나중에 이 값을 이용해서 db에 접속한다. 두번째 보라색은 접속하고자하는 db명을 적어준다.
그리고 tomcat홈/common/lib 폴더안에다가 mysql-connector-java-버전-bin.jar 파일을 넣어 준다.
톰캣을 재시작하고 test해보자..
// testdb.jsp // <%@ page import="javax.naming.*, javax.sql.*, java.sql.*"%> <%@ page language="java" contentType="text/html; charset=EUC-KR" %>
Connection con = null; PreparedStatement stmt = null;
Context initCtx = new InitialContext(); Context envCtx = (Context)initCtx.lookup("java:comp/env"); DataSource ds = (DataSource)envCtx.lookup("jdbc/DB"); // 위에 적어준 것과 동일해야함
con = ds.getConnection(); String msg = "disconnection";if(con != null){ msg = "connection"; } %> <html> <head> <title>DB Test</title> </head> <body> <h2>Results = <%=msg %></h2> </body> </html>
결과가 connection이 나오면 접속성공..이제 class로 만들어서 필요할때 가져다 쓰자
class 예 // GetCon.java
import javax.naming.*; import javax.sql.*; import java.sql.*;
public class GetCon {
public static Connection getCon() { try { Context a = new InitialContext(); Context env = (Context)a.lookup("java:comp/env"); DataSource ds = (DataSource)env.lookup("jdbc/DB");
return ds.getConnection(); // con으로 리턴해준다. } catch(Exception e){ System.out.println("Error");}
return null; } }
static으로 선언해줬기때문에 어디서든~ 그냥 불러다 쓰면된다.
^_^그럼 모두들 굳럭!