
Servlet의 생명주기 서블릿의 생명주기를 알아보려고 한다. 먼저, 서블릿이 동작을 할 때 까지의 과정을 알아보자. Servlet이 동작하려면... 먼저 클라이언트(Web Browser)가 요청을 보낸다. 클라이언트의 요청을 WAS가 받아 HttpServletRequest객체와 HttpServletResponse객체가 존재하는지 확인 한 후, 존재하지 않으면 두 객체를 생성해서 웹 어플리케이션의 서블릿 컨테이너로 전달해준다. 이제 비로서 서블릿이 동작하며 서블릿 라이프사이클이 돌아가게된다. Servlet의 생명주기 Servlet은 init() service() destroy() 이 세가지의 메서드를 돌며 살아간다. init() was에서 객체넘겨줌 -> 서블릿에서 딱 한 번 초기화 init() 메서드는..
중첩 클래스(nested Class) 중첩 클래스란? 다른 클래스 내부에 정의되는 클래스이다. 스태틱 클래스 : 다른 클래스 안에서 독립적으로 존재 내부 클래스 : 자신이 정의된 클래스의 오브젝트 안에서만 존재 멤버 내부 클래스 : 멤버 필드처럼 오브젝트 레벨에서 사용. 로컬 클래스 : 메소드 레벨에서 사용. 익명 내부 클래스 : 이름을 갖지 않는 클래스 익명 내부 클래스 내부 클래스 중에서도 익명 내부 클래스는 이름을 갖지 않는 클래스이다. 익명이라서 그냥 선언과 동시에 오브젝트가 생성이 된다. 그러므로 상속할 클래스나 구현할 인터페이스를 생성자 대신 사용을 해서 이용하며 클래스를 계속 재사용하지않고 오직 구현에만 목적을 둘 경우에 유용하게 사용할 수 있다.(콜백) public interface Tes..
커넥션 풀 Connection Pool 커넥션 풀이란? 데이터베이스가 연결되고 사용하는 과정의 자원 소모를 효율적으로 하기 위하여 연결 부분(Connect) 과 사용(Pool) 부분을 분리 한 뒤 커넥션을 미리 만들어 Pool 속에 저장해 두었다가 가져다 쓴 뒤 다시 Pool에 저장하는 것. 장점 DB 접속에 드는 큰 자원을 효율적으로 관리할 수 있다. 커넥션 수를 제어하여 접속자들을 효율적으로 관리할 수 있다. 기본 DBCP 셋팅(설정파일로 셋팅하는 법) DBCP 라이브러리 추가 common-dbcp common-pool mysql-connector 등등 DBMS 자체의 dbcp 풀 라이브러리 javax.sql 패키지의 DataSource 상속 Dao.java public class MyDAO{ pri..