* DAO (DataBase Access Object)
: DataBase Data에 접근하기 위한 객체
: DAO는 DB를 사용해 데이터를 불러오거나 조작하기 위한 전담 객체
: 매번 DB에 접근하여 데이터를 불러오거나 조작하기위해 커넥션 객체를 생성하는것이 아닌 전담객체를 두고 필요할때마다 호출하여 사용한 후 반납하는 것
: 웹서버는 DB와 연결하기 위해 매번 커넥션 객체를 생성하는데, 이를 해결하기 위해 Connection Pool 을
사용한다.
* ConnectionPool
: 매번 DB에 접근하기 위해 커넥션객체를 생성하는게 아닌 connection 객체를 미리 만들어 pool에 저장한 후
필요할때마다 connection 객체를 호출하여 사용한 후 pool에 반납하는형식
* DTO(Data Transfer Object)
: 데이터 저장 그릇
: 데이터를 교환하기 위한 객체이다.
- DAO 와 DTO를 분리하는 이유
: 서버와 웹 브라우저간 DAO와 DTO를 분리하는 이유는 DB 컬럼명과 웹브라우저에서 보이는 필드명이 같으면 SQL Injection 공격에 취약하므로 DB컬럼명과 웹에서 보여지는 필드명을 다르게 한다.