개발/JSP

[JSP/JDBC]Oracle과 이클립스 JSP 연동/ 테이블 조회

윤_ve 2021. 4. 3. 17:30

우선 jar파일을 jsp파일에 옮겨줘야 합니다. 직접 파일에 넣어준뒤 web.xml에 코드를 추가해 연결하는 방법이 있고

jdk - lib파일에 복사해 넣어주는 방법이 있습니다.

 

우선 jar 파일을 복사해줍니다.

파일의 위치는 제각각 다르지만 저의 위치는

C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 입니다.

 

이렇게 jsp 파일의 WEB-INF lib폴더에 넣어줍니다.

 

그 다음 테스트 코드를 작성합니다.

 

Connection 클래스를 이용해서 연결을 확인합니다.

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import = "java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<%
		Connection conn = null;
		try{
			String url = "jdbc:oracle:thin:@localhost:1521:xe";
			String user = "scott";
			String password = "tiger";
			
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection(url, user, password); // url, user, password를 변수로 처리해도됨
			out.print("데이터베이스 연결이 성공했습니다.");
		} catch(SQLException ex) {
			out.print("데이터베이스 연결이 실패했습니다.");
			out.print("SQLException : " + ex.getMessage());
		}finally{
			if(conn != null) {
				conn.close();
			}
		}
	%>
</body>
</html>

이 코드를 실행 하면

 

연결이 성공했다는 메세지가 뜨면 연결이 성공한 것입니다.

 

 

 


다음은 테이블을 만들고 직접 연동해보겠습니다.

 

테이블을 만들어주고 3개의 값을 넣어줬습니다.

그리고 commit을 통해 넣은 값을 확정 시켜 줍니다.

 

<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%!
	Connection conn = null; //DBMS와 JAVA연결 객체
	Statement stmt = null;	//SQL구문을 실행
	ResultSet rs = null;	//실행결과를 저장

	String url = "jdbc:oracle:thin:@localhost:1521:xe";
	String user = "scott";
	String password = "tiger";
	String selectQuery = "SELECT * FROM MEMBER2";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<table width="400" border="1">
		<tr>
			<td>아이디</td>
			<td>이름</td>
			<td>등급</td>
			<td>전화번호</td>
		</tr>
		<%
			try{
				Class.forName("oracle.jdbc.driver.OracleDriver");
				conn = DriverManager.getConnection(url, user, password);
				stmt = conn.createStatement(); // 쿼리 호출받아주고
				rs = stmt.executeQuery(selectQuery); // 쿼리를 집어넣음
				
				while(rs.next()) { // 값이 있을경우
		%>
					<tr>
						<td><%= rs.getString("ID") %></td> <!-- get메서드로 값을 불러옴 -->
						<td><%= rs.getString("NAME") %></td>
						<td><%  
								int n_class = rs.getInt("CLASS"); 
								if(n_class == 1) {
									out.print("일반회원");
								} else {
									out.print("교수님");
								}
							%></td>
						<td><%= rs.getString("TEL") %></td>
					</tr>
		<%					
				}
			} catch(SQLException se) {
				se.printStackTrace();
			} finally {
				try{
					if(rs != null) rs.close();
					if(stmt != null) rs.close();
					if(conn != null) rs.close();
				}catch(SQLException se){
					se.printStackTrace();
				}
			}
		%>
	</table>
</body>
</html>

 

다음 jsp파일을 만들고 위 코드를 입력합니다.

이를 실행하면

 

이렇게 뜨는것을 알 수 있습니다.