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으로 선언해줬기때문에 어디서든~ 그냥 불러다 쓰면된다.
^_^그럼 모두들 굳럭!