반응형

MySql install 버전을 다운로드 하시고 설치 하시면

Command Line Client 를 실행해 줍니다.

패스워드는 초기에 지정해주셨던 ROOT 계정의 비밀번호를 입력해 주시면 됩니다.

 

이렇게 DB를 만들어 주셨으면 위에 만들었던 DATABASE에 접속할 수 있도록 하나의 자바 빈즈를 만들어 주도록 하겠습니다.

user package에 UserDTO 클래스를 만들어 줍니다.

package user;

public class UserDTO {
	String userID;
	String userPassword;
	String userName;
	int userAge;
	String userGender;
	String userEmail;
	String userProfile;
	public String getUserID() {
		return userID;
	}
	public void setUserID(String userID) {
		this.userID = userID;
	}
	public String getUserPassword() {
		return userPassword;
	}
	public void setUserPassword(String userPassword) {
		this.userPassword = userPassword;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public int getUserAge() {
		return userAge;
	}
	public void setUserAge(int userAge) {
		this.userAge = userAge;
	}
	public String getUserGender() {
		return userGender;
	}
	public void setUserGender(String userGender) {
		this.userGender = userGender;
	}
	public String getUserEmail() {
		return userEmail;
	}
	public void setUserEmail(String userEmail) {
		this.userEmail = userEmail;
	}
	public String getUserProfile() {
		return userProfile;
	}
	public void setUserProfile(String userProfile) {
		this.userProfile = userProfile;
	}
	
	
	
	
}

 

이제 MySQL Database와 JSP를 연동하기 위해서는 jdbc가 필요합니다.

GOOGLE에서 검색해서 다운 받으셔도 되지만 편의상 파일로 올리겠습니다.

mysql-connector-java-8.0.20.zip
4.48MB

우리는 MySQL Connector java.jar파일만 필요하기에 압축을 푸시고 앞의 파일을 복사해서 Eclipse내에

WEB-INF\lib 폴더안에 복사 붙여 넣기 해줍니다.

넣어준 파일에 오른쪽 마우스 우클릭을 하여 build path - add를 클릭하여 줍니다.

 

  그리고 WebContent안에 META-INF라는 폴더가 있습니다. 거기 안쪽에 하나의 context파일을 만들어 주도록 하겠습니다.

xml파일을 만들어 주시고 이름은 context.xml 으로 만들겠습니다.

<Resource
name: DataSource에 대한 JNDI이름
auth : 인증 주체
type: 데이터베이스 종류별 DataSource
driverClassName : 연결할 데이터베이스 종류에 따른 드라이버 클래스 이름
factory : 연결할 데이터베이스 종류에 따른 ConnectionPool 생성 클래스 이름
maxActive : 동시에 최대로 데이터베이스 연결할 수 있는 Connection 수
maxIdle : 동시에 idle 상태로 대기할 수 있는 최대 수
maxWait : 새로운 연결이 생길 때까지 기다릴 수 있는 최대 시간
user : 데이터베이스 접속 ID
password : 데이터베이스 접속 비밀번호
type : 데이터베이스 종류별 DataSource
url : 접속할 데이터 베이스 주소와 포트 번호 및 SID />
<!-- path는 우리 프로젝트의 이름 / docbase는 www를 넣어 줌으로써 WebContent라는걸 알림 -->
<Context path="/UserChat" docBase="www">
<Resource
	name="jdbc/UserChat"
	auth="Container"
	type="javax.sql.DataSource"
	driverClassName="com.mysql.jdbc.Driver"
	loginTimeout="10"
	validationQuery="SELECT 1 FROM DUAL"
	maxWait="5000"
	username="root"
	password="111111"
	testOnBorrow="true"
	url="jdbc:mysql://localhost:3308/UserChat?serverTimezone=UTC" />
<ResourceLink type="javax.sql.data.DataSource"
	name="jdbc/UserChat"
	global="jdbc/UserChat" />
</Context>

저는 port 번호를 3308로 설정을 하여서 url에 3308로 하였지만 수정 안하신 분들은 3306일거에요!

이렇게 설정이 완료되면 성공적으로 커넥션 풀을 이용할 수 있습니다.

 

이제 커넥션 풀을 이용할 수 있는지 테스트를 한번 해보겠습니다.

WebContent에 테스트 할 connection.jsp 파일을 만들어 주겠습니다.

<!DOCTYPE html>
<html>
<head>
<%@ page import="java.sql.*, javax.sql.*, java.io.*,javax.naming.InitialContext, javax.naming.Context" %>
</head>
<body>
	<%
		InitialContext initCtx = new InitialContext();
		Context envContext = (Context)initCtx.lookup("java:/comp/env");
		DataSource ds = (DataSource) envContext.lookup("jdbc/UserChat");
		Connection conn = ds.getConnection();
		Statement stmt = conn.createStatement();
		ResultSet rs = stmt.executeQuery("SELECT VERSION();");
		while(rs.next()){
			out.println("MySQL Version : " + rs.getString("version()"));
		}
		rs.close();
		stmt.close();
		conn.close();
		initCtx.close();
	%>
</body>
</html>

실행을 하게 되면 

저의 MySQL 버전이 나옵니다. 연결이 잘 됬나 봅니다^^

반응형
블로그 이미지

꽃꽂이하는개발자

,