Oracle과 Eclipse 연동은 끝났었으니 Oracle의 테이블을 웹 화면에 띄우는 작업을 할 수 있습니다.
이를 위해 Apache Tomcat을 써서 진행합니다.
아파치 톰캣에 대해 간략히 설명하자면 Apache는 정적인 웹 콘텐츠인 HTML을 돌리는 웹 서버이고, Tomcat은 동적인 데이터를 처리(DB 연동도 얘가 함) 하는 WAS(Web Application Server) 입니다.
Apache Tomcat은 이 두 가지가 합쳐져 있다고 생각하시면 됩니다.
0. Oracle, Tomcat 포트 충돌 사전 확인
Tomcat은 기본적으로 8080 포트를 사용합니다.
Oracle도 똑같이 8080 포트입니다. (주의!: Oracle 리스너 포트는 1521입니다)
보통 Tomcat을 8080으로 설정하기 때문에 Oracle이 8080을 쓰고 있다면 다른 포트로 바꿔주세요.
저는 설치 시에 8081로 설정해놨군요. 혹시나 8080이신 분들은 충돌을 막기 위해
exec dbms_xdb.sethttpport(8081);
이 명령을 입력하여 8081로 바꾸면 됩니다. 물론 다른걸로 바꿔도 됩니다.
1. Apache Tomcat 설치
https://tomcat.apache.org/download-90.cgi
2. Eclipse 웹 프로젝트 만들기
Eclipse를 켜고 File > New > Dynamic Web Project로 들어갑니다.
프로젝트 이름을 입력하고, New Runtime 버튼을 클릭합니다.
그리고 아까 다운받은 Tomcat의 버전을 선택하고 Next를 클릭합니다.
설치되어 있다면 Browse로 Tomcat 설치 폴더를 등록하고 Finish를 누릅니다.
기본 경로는 위에 보이는 것처럼 C:\Program Files\Apache Software Foundation
이니, 혹시 설치 경로를 까먹은 분들은 참고하시길 바랍니다.
패키지(폴더 구조)는 기본으로 사용할 것이기 때문에 Finish를 다시 한 번 누르면
프로젝트가 만들어졌습니다.
이제 src/WEB-INF 디렉토리 아래에 index.jsp라는 jsp 파일을 하나 만들어줍니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%!
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String sql = "select * from reservation_tbl";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
table {
width : 100%;
border : 1px solid black;
border-collapse : collapse;
}
h2, th, td {
text-align : center;
}
th, td{
border : 1px solid black;
}
</style>
</head>
<body>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = DriverManager.getConnection(url, "오라클계정명", "오라클암호");
statement = connection.createStatement();
resultSet = statement.executeQuery(sql);
%>
<h2>목록 조회</h2>
<hr>
<table>
<tr>
<th>고객명</th>
<th>도서번호</th>
<th>대출일</th>
<th>반납일</th>
</tr>
<%
while(resultSet.next()) {
%>
<tr>
<td><%=resultSet.getString("CUSTNAME")%></td>
<td><%=resultSet.getString("BOOKNO")%></td>
<td><%=resultSet.getString("OUTDATE")%></td>
<td><%=resultSet.getString("INDATE")%></td>
</tr>
<%
}
} catch(Exception e) {
e.printStackTrace();
} finally {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
%>
</table>
<hr>
</body>
</html>
jsp 코드를 작성합니다. Oracle DB 정보를 받아오는 리스너 포트는 기본 1521이므로, 1521로 접속해야 합니다. 8081이 아닙니다.
코드를 다 작성했다면 Tomcat을 이용해 웹 서버를 돌려봅시다.
(그새 다크모드로 변경함)
코드에 오른쪽 마우스를 클릭하고 Run On Server를 클릭하면 다음과 같은 창이 뜹니다.
설치한 Tomcat 버전을 선택하고 Finish를 클릭합니다.
Servers 탭에 Tomcat이 등록될 텐데,
the server cannot be started because one or more of the ports are invalid. open the server editor and correct the invalid ports.
라는 오류가 발생한다면 위에 보이는 Tomcat v9.0 Server at localhost 를 더블클릭합니다.
Tomcat admin port에 포트 번호를 등록해줍니다. Oracle과 Tomcat 같은 다른 포트와 중복되면 안됩니다.
여기까지 끝나고 서버의 상태가 [Started, Synchronized] 로 표시된다면, 주소창에 localhost:8080/[프로젝트명] 을 쳐서 접속해봅시다.
테이블이 화면에 표시됩니다.
여기까지 Oracle과 Eclipse, Tomcat 연동이었습니다.
...(역시 jsp는 할 게 못됩니다... 내 리액트와 스프링부트 돌려줘...)
'IT > 기타' 카테고리의 다른 글
[Docker] 도커 이미지(Image) 다운로드 및 컨테이너(Container) 생성/실행/삭제하기(feat. SonarQube) (0) | 2023.08.13 |
---|---|
[Docker] 도커의 개념, linux에서 도커 설치 (0) | 2023.08.12 |
Oracle 테이블 생성, 데이터 추가/조회/수정/삭제 (0) | 2023.07.10 |
Oracle 설치, 세팅 및 Eclipse와 연동 (0) | 2023.07.09 |
[TDD] 실전에서 사용해본 TDD(Test-Driven Development) (0) | 2023.05.27 |