[진행하는 PC 프로그램 환경] ※ 최대한 학원강의 pc 환경이랑 유사하게 맞춘 것
운영체제 : windows 10 (64bit)
오라클 : 11g 교육용버전/ scott, tiger 연습계정생성까지 완료된상태
JDK(JRE포함) : SE 1.8버전 jdk-8u341-windows-x64.exe 설치완료 (★open jdk 아님)
이클립스 : 2020/06 버전
톰캣 : 9.0 버전, 연동 완료된 상태. 경로는 c:\tomcat 9.0.
(ojdbc를 셋팅해 놓지 않은 상태에서
오라클을 연동하는 jsp를 작성해놓으면 작업물들에 우루루 오류알림이 떠있을 수 있으니
보일수 있으니 모든 셋팅이 되어있지 않은 경우 셋팅부터 해주는게 좋습니다.
해두고 다시 작업물을 ctrl+s 하면 오류표시가 사라집니다.)
1. ojdbc6.jar 확보 (오라클 연동에 필요한 드라이버)
오라클을 설치할 때 드라이버도 함께 받아지므로
검색할 필요없이 오라클 폴더안에서 찾아 이용할 수 있음!
교육용 11.2 버전 오라클의 경우
C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib
기본적으로 여기에 드라이버 파일이 있으므로
위 경로를 탐색기에 복붙하면 바로 찾을 수 있습니다.
ojdbc6.jar 를 ctrl + c (복사) 해둔 상태로,
이클립스창으로 갑니다.
2. 오라클을 연동해야 하는 프로젝트에
ojdbc8.jar (오라클 jdbc드라이버) 를 넣기
(다른 방법도 있지만 학원에서 넣은 방법기준)
New > Dynamic Web Project로
생성한 Project에는
Web Content 밑에 WEB-INF 폴더가
기본값으로 세팅되어 있는데,
그 폴더의 lib 안에 넣어주면 적용됩니다
하지만 여기서 끝이 아닙니다.
마지막으로 톰캣구동할때도 손봤었던
server.xml 에 추가 소스를 넣어주어야 합니다.
3. Servers 폴더의 Server.xml 소스에 리소스 태그 붙혀넣기
(이 부분에서 오타가 잘 발생하므로, 유의해서 봅시다!)
이번에는 아래 소스를 Ctrl + C로 복사해둡니다 .
소스내용 안에있는 아이디,패스워드,로컬호스트:1521 등 중에서
개인이 설정을 바꾼 옵션이 있다면 확인한 후
수정해서 적용합니다.
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="100" maxIdle="30" maxWait="10000" name="jdbc/oracle" password="tiger" type="javax.sql.DataSource" url="jdbc:oracle:thin:@localhost:1521:xe" username="scott"/>
익숙하게 봤던 Server.xml 파일 소스를 열어
이렇게 되어있는 부분을 찾습니다.
거의 끝까지 내리면 Context docbase = "(프로젝트이름)" ~
라고 되어 있는 부분입니다.
만약 저 부분이 없을 경우,
▼ 더보기를 해주세요 ▼
간혹 두 눈을 씻고 찾아봐도
저 부분이 없는 경우가 있습니다.
그런 경우 프로젝트를 톰캣으로 실행할것인지
설정한 적이 없어서인데요.
빨리 해결하는 방법은 프로젝트 안의 아무 jsp 파일이나.
서버 시작버튼을 눌러 서버를 실행시켜보세요.
그럼 이 프로젝트를 톰캣으로 실행할것인지 물어보는데
거기서 확인 + 밑에 체크박스 체크(계속 톰캣으로 실행할것인지) 를 해두면
프로젝트가 톰캣 서버 적용이 되면서
server.xml에 위 Context 부분이 추가됩니다.
▲ 더보기 끝 ▲
Context docbase = "프로젝트이름" 을 찾았다면
아래처럼 수정해서
리소스 태그가 들어갈 수 있게 만들어줍니다.
이제 분리된 태그사이에 3번 순서에서 복사한
리소스 태그를 끼워넣어 줄 것입니다.
리소스 태그는 맨 끝에 슬래쉬(닫기태그)를
빠뜨리는 경우가 많으니 오타 주의 합시다.
이렇게 수정이 되었으면 Ctrl + S 해서 저장합니다.
그럼 프로젝트안의 오라클연동한 jsp를 실행해
잘 되는지 테스트 해보겠습니다.
저는 게시판 만들기로 작업해두었던
게시물 목록 파일인 list.jsp를 실행해보았습니다.
오라클 DB안에 있는 게시판 DB들이
웹과 연동되어 모두 잘 불러와집니다
기타 오류대처법은 아래 확인
만약 여기까지 했는데 오류가 뜬다면
확인할 수 있는 3 가지 경우입니다.
(jsp 파일에 잘못 코딩한 부분이 없다는 가정 하에)
*먼저 오류메시지를 확인해보고 스스로 해결할 수 있는 내용이면 해결합시다
1. 오라클에서 실수한 부분은 없는지도 확인해 봅니다.
오라클 계정 연동 확인은 물론,
jsp 파일이 불러오려는 오라클 DB가
오라클 안에 제대로 생성되어 있는지 살펴봅니다.
(예를 들어 저는 list.jsp 파일에는 오라클의 boardT 테이블
DB가 필요한데 오라클에는 boardT 테이블이 없거나,
테이블의 내용과 jsp의 요구 내용(컬럼명, 갯수등)
일치하지 않는 경우 오류가 날 것입니다)
2. jsp파일이 아닌 java파일을 실행했거나
jsp를 실행했더라도 초기화면이 아닌
파일을 실행했을 경우 -> 500에러 뜨기 쉽습니다.
(예를들어, 웹페이지를 만들었고
로그인페이지부터 열어야하는데
회원정보 수정 페이지 jsp 등
로그인을 하여야만 나오는 페이지를 연 경우. 등)
3. 해결했던 포트 충돌 에러가 다시 나는 경우!
포트 충돌이 되고 있는 프로그램이 따로 없다면,
jsp 파일을 실행하여 서버가 시작된 상태에서
서버 실행을 다시 눌렀을 때 이런 경우가 많습니다
->구동중인 서버를 중지하고 재실행 해봅니다.
혹은 이클립스를 껐다 켜봅니다.
이렇게 하더라도 알 수 없는 이유로 포트에러가 날 수 있는데,
다른 블로그에서 본 대처법입니다. ▼
https://devchul.tistory.com/29
여기서 언급하지 않은 에러가 난 것 같다면
브라우저의 에러메시지와
이클립스 콘솔창의 에러메시지를
주시해서 살펴봅시다.
(콘솔창의 내용이 많이 쌓여 확인하기 힘들 경우,
콘솔창 우클릭->Clear를 하여 깨끗히 지우고
다시 실행해봅니다.
콘솔창 맨 위로 스크롤을 올리면
처음 에러가 난 부분의 에러메시지를 확인하기 쉽습니다.)
그리고 해당되는 에러 메시지를
그대로 구글에 복붙해 봅시다.
(내가 떴던 에러 해결 메모)
'Programming > JSP' 카테고리의 다른 글
web.xml 의 서블릿과 jsp url-pattern 매핑 (0) | 2022.09.25 |
---|---|
이클립스에 톰캣 연동하기(고양이 나오게 하기) (0) | 2022.09.04 |