Java Web Programming (2)
2. init-Param & servletConfig & servletContext
3. Connection Pool, DataSource
4. 정리
1. Client form data 처리 방식
1) URL
- 유지 관리에 안 좋음
- 사용하는 PC를 옮기면(IP가 변경되면) 작동하지 않음 = IP에 종속적
2) URI
- 절대경로
- port 후단부터 주소를 읽어들임
3) R-URI
- 상대경로
- 유연한 개발이 가능
- 표준화된 폴더구조의 root에 종속되는 경우를 방지할 수 있다
2. init-Param & servletConfig & servletContext
1) ServletConfig
- 하나의 Servlet에서 사용할 수 있는 파라미터(parameter)값
- init 메서드 수행 시 1번 읽고 계속해서 사용 가능
- servelt당 1개씩 존재
- init-param tag 안에 있는 parameter에 의해 Servlet Container가 setting
- ServletConfig에 어떠한 값을 설정하고자 하면 web.xml에 정의 후 getInitParameter()를 이용해서 사용할 수 있음
2) ServletContext
- context: 자원창고(information box)
- 하나의 context에서 여러 파일 간에 자원을 공유 (딱 1개만 존재)
3) init-param
- 해당 servlet에서 사용할 수 있는 초기 파라미터(parameter)
- key = value의 형태로 정적인 데이터를 제공
3. Connection Pool, DataSource
<connection pool 개요도>
1) connection pool
- 오라클 커넥션 풀로부터 커넥션 인스턴스 호출
OracleConnectionPool.getInstance().getConnection()
- 미리 일정 수의 connection을 생성해놓고 필요한 application에 전달하여 이용하는 방식
- container 구동 시 일정 수의 connection 객체를 생성,
client의 요청이 있으면 applicationon이 DBMS를 수행
2) dataSource
- connection pool을 spec화한 interface, javax.sql.DataSource 이용
- 복수로 운용되는 connection을 application에서 직접 이용하면 관리가 어렵다
- 객체 관리 서버에서 lookup()를 이용해서 dataSource 객체 찾기
- getConnection() 메서드를 통해서 connection pool에서 빈 connection 객체 get
- 작업이 끝나면 dataSource 객체를 통해 connection pool에 connection 객체 반납
- 운영, 관리, 최적화, 대응에 장점: DataSource를 WAS에 설정
※ 2 layer architecture: view와 model을 분리해서 개발 - 커플링 관계 낮추기
- getConnection() 메서드를 통해서 connection pool에서 빈 connection 객체 get
- 작업이 끝나면 dataSource 객체를 통해 connection pool에 connection 객체 반납
- 운영, 관리, 최적화, 대응에 장점: DataSource를 WAS에 설정
※ 2 layer architecture: view와 model을 분리해서 개발 - 커플링 관계 낮추기