java-school logo

데이터베이스 설계

SYS 계정으로 접속한다.
C:\ Command Prompt
C:\Documents and Settings\kim> sqlplus scott/tiger

다음에 접속됨:
Oracle Database 11g

SQL> connect sys as sysdba
암호 입력: 
연결되었습니다.
SQL> show user
USER은 "SYS"입니다
접속한 상태에서 다음을 실행한다.

DataSource 설정

{톰캣홈}/conf/Catalina/localhost/JSPProject.xml 을 열고 아래와 같이 추가한다.
JSPProject.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context
	docBase="C:/www/JSPProject/WebContent"
	reloadable="true">
	
	<Resource
		name="jdbc/jsppjt"
		auth="Container"
		type="javax.sql.DataSource"
		username="java"
		password="school"
		driverClassName="oracle.jdbc.driver.OracleDriver"
		url="jdbc:oracle:thin:@127.0.0.1:1521:XE" 
		maxActive="8"
		maxIdle="4" />
	
			
</Context>

JDBC 드라이버 파일을 {톰캣홈}/lib에 복사

오라클 JDBC 드라이버 파일인 ojdbc6.jar 파일을 {톰캣홈}/lib에 복사한다.

테스트

test.jsp 파일을 도큐멘트베이스(C:/www/JSPProject/WebContent)에 생성한다.
test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" 
	pageEncoding="UTF-8"%>
<%@ page import="java.sql.*,javax.sql.*,javax.naming.*" %>
<%
	Connection con = null;
	PreparedStatement pstmt = null;
	ResultSet rs = null;
	
	DataSource ds = null;
	
	int totalRecord = 0;
		
	try {
		Context ic = new InitialContext();
		Context envCtx = (Context) ic.lookup("java:comp/env");
		ds = (DataSource) envCtx.lookup("jdbc/jsppjt");
	} catch (NamingException e) {
		System.out.println(e.getMessage());
	}
	
	try {
		con = ds.getConnection();
		
		String sql = "SELECT count(*) FROM board";
		
		pstmt = con.prepareStatement(sql);
		rs = pstmt.executeQuery();
		rs.next();
		totalRecord = rs.getInt(1);
	} catch (SQLException e) {
		System.out.println(e.getMessage());
	} finally {
		try {
			rs.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		try {
			pstmt.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		try {
			con.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
%>	
<!DOCTYPE html> 
<html lang="ko"> 
<head>
	<meta charset="UTF-8">
	<title>DataSource Test</title>
</head>
<body>
<p>
<%=totalRecord %>
</p>
</body>
</html>
톰캣을 재실행하고 http://localhost:port/JSPProject/test.jsp를 방문한다. 3을 본다면 성공이다.