Web Programming/JSP

7. JSP DB Connect

유가엘 2020. 3. 23. 23:43

lesson07_JSP_Interim_Summary.zip
0.01MB
lesson08_JSP_JDBC.zip
0.01MB

Java 와 Oracle(DB)을 연동하기 위해서는 jdbc Driver가 필요합니다. 데이터베이스마다 드라이버 명이 다르며 Oracle에서는 ojdbc.jar를 사용합니다. 기본적으로 오라클을 설치하면 JDBC 파일이 저장되어 있습니다.

경로 : app/oracle/product/11.2.0/jdbc/lib

 

1. 해당 경로에서 JDK 버전에 맞는 ojdbc.jar 파일을 복사합니다.

ojdbc 는 설치된 JDK 버전에 따라 다르며, JDK1.8.0 에서는 ojdbc8 과 ojdbc 6을 사용할 수 있습니다.

 

2. 복사한 ojdbc.jar 파일은 Java 폴더에 복사해야 합니다.

   외부 Jar 파일 저장 경로 : {Java Directory}\jdk1.8.0_241\jre\lib\ext

   Java 의 경로는 환경 변수 혹은 Eclipse 에서 확인 할 수 있습니다.

 

Eclipse 내의 Windows >Preferance > Java > Build Path > ClassPath Variable > JRE_SRC 에서 경로를 확인 할 수 있습니다.

3. Dynamic Web Project 를 생성하여 Libraries 를 확인해보면 정상적으로 인식하는 것을 확인 할 수있습니다.

4. JDBC의 실행 순서

5. 구현

package lesson08_JSP_JDBC;


import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/InsertCountries")
public class InsertCountries extends HttpServlet {
	private static final long serialVersionUID = 1L;
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String driver="oracle.jdbc.driver.OracleDriver";
		String url="jdbc:oracle:thin:@localhost:1521:orcl";
		String id = "HR";
		String pw = "12341234";
		PrintWriter out = response.getWriter();
		Connection con = null;
		Statement stmt = null;
		
		try {
			Class.forName(driver);
			con=DriverManager.getConnection(url,id,pw);
			stmt=con.createStatement();
			String sql = "INSERT INTO COUNTRIES (COUNTRY_ID,COUNTRY_NAME,REGION_ID)VALUES('KR','KOREA',2)";
			int result = stmt.executeUpdate(sql);
			
			if (result==1) {
				out.print("INSERT SUCCESS");
			}else {
				out.print("INSERT FAIL");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			if (stmt!=null) {
				try {
					stmt.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if (con!=null) {
				try {
					con.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}