JSP-[#JSP] 1.Class.forName()

2019. 9. 30. 03:58서버/JSP

[ Class.forName() ]

Class 초기화

 

2019-09-30

 

이슈

 

Class.forName(); 라는 코드가 어떤 동작을 하는가

 

JDBC를 통해 DB와 Connection하는 코드를 작성 중 한번쯤은 보게되는 코드인데

 

어떤 동작을 하는 지 알고싶다.

 

분석

 

서블릿에는 클래스의 동적 로딩이라는 개념이 존재한다.

 

Class.forName(); 이라는 코드가 바로 그런 일을 하는 코드인데.

 

인자 값으로 드라이브의 경로를 받아서 해당 클래스의 인스턴스 생성하고를 초기화시킨다.

 

좀 더 상세하기 기술하자면

 

 

 

위와 같은 코드를 통해 해당 경로의 드라이버 경로값을 받아 실행하면

 

클래스를 로드하고 JVM(메모리)에 있는 DriverManeger에 레지스터화를 시키는 것이다.

 

그를 통해서 DriverManager.connection() 메소드를 호출 할 수 있다.