0512 JSP - DB연결

김도현·2021년 5월 12일
0

JSP

목록 보기
2/4

20210513 context.xml 내용 추가!
빌드패스 내용 추가
커넥션 객체 최대 갯수 최소 유지 갯수 내용 추가 maxTotal / maxIdle
Organaize Imports 설정 방법 추가해야함

Jsp 와 SQL 연결 방법

1)SYSTEM으로 접속해서 코드 입력
sesion -> session 권한 == 접속권한
** 오라클을 실행하면 리스너가 계속 실행중

tablespace 영역에 접근할 권한을 줌

table 권한 - 땅에 건물을 올릴 권한을 줌

sequence 시퀀스 권한

순서대로 SQL에서 권한을 부여한다

패키지를 db 프로젝트에 만든다
도메인꺼꾸로

db 연결은 소켓이 연결되어야하기 때문에 connection 객체를 만들어야한다

웹할떄는 Ojdbc6.jar 파일을 webapp/WEB-INF/lib 폴더 밑에 붙여넣는다.
(Web에서만 가능하다 자동으로 빌드패스 해준다)

자바에서는 ojdbc6.jar 파일을 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib 디렉토리에
붙여넣기 해야 빌드패스 가능

** 라이브러리를 연결시키는 것을 빌드패스라고 한다.
.jar : 라이브러리도 있고 name 클래스(실행파일)이 있다.


jsp로 db 연결시 tomcat사이트에서 참고해서 직접 구현해야한다

차례대로

1. context.xml 구성

서버를 만들때 한번 실행되는 파일


** 주의 Context 대소문자 구분
오라클 DB의 url에 접근하기위해서 mysid를 변경해주어야한다


sid는 SQLDebeloper에서 확인가능! 오라클 포트번호 1521 / SID xe

  1. driverClassName값을 변경해주어야한다
    oracle.jdbc.OracleDriver => oracle.jdbc.driver.OracleDriver

  2. 오라클의 포트 : 1521 / mysid --> SID: xe

**OracleDriver를 통해서 써야지 프로토콜에 맞게 통신을 할 수 있다.
보내는 사람은 프로토콜에 맞게 인코딩한다.
읽는 사람은 프로토콜에 맞게 파싱, 디코딩을 해야 한다.

  1. maxTotal = 20 --> 커넥션 객체 최대 갯수
    maxidle = --> 최소한으로 유지할 커넥션 갯수
    톰캣의 동시접속 수 디폴트 : 50~100

Tomcat (50명) ----- DB (30명)
30명이 접속했을때 20명은 대기를 해야하기때문에 밸런싱이 필요하다

DB는 큐로 만들어진다
큐는 출입구가 둘이라서 순서대로 처리 : 선입선출,
스택은 출입구가 하나라서 후입선출

2. web.xml 파일 구성

request가 있을때마다 실행되는 xml 파일

3. java코드 import 및 try/catch 블록으로 예외처리

DB 에 연결되었는지 확인을 위해 콘솔창에 출력을 추가 해주었다
예외처리 후에 null 을 리턴하도록 코드 작성
** Conection Import 해주어야함! Organize Imports // 이거 찾아봐야함


Organize Imports로 java.sql.Connection import하는 법
ctrl + shift + o 단축키로 들어가서 import

Organize Imports 단축키가 먹지 않을때

** eclipse 에서 소스파일명은 f2를 누르면 소스파일명을 변경할수 있다.

그리고 test.jsp 파일로 DB연결확인!

뭐야.. DB 연결되고 왜 다시 연결실패냐...?
연결성공후 연결실패에 대한 삽질 목록
1. 서버를 껐다가 다시 켬 - 실패
2. context.xml 파일과 web.xml 파일을 확인했다 - 틀린점 없음...
결국 동기 수강생 두분과 함께 찾아보고 선생님한테 질문
' 코드를 잘못 작성했을 가능성이 크다'고 하심!!

파쉬... conn 을 return을 해주지 않아서 코드가 순서대로 실행된거였다
결국 return null 까지 실행되었으니 당연히 연결 후 실패로 뜬거였다

DB 연결성공

SQL Developer 에서 추가로 권한을 더 부여해야한다

GRANT UNLMITED TABBLESPACE TO cos

실행 후

cos 사용자로 접속해서 테이블을 생성한다

profile
코딩하는 무키 공부하는 무키

0개의 댓글