본문 바로가기
프로그래밍/JavaWebProgramming

[Lesson05] ListServlet DAO 분리

by Luhie 2016. 12. 16.


MemberListServlet.java(수정 전)

대부분의 역할을 서블릿 혼자 하고 있다.

소규모 프로젝트에서는 이렇게 사용하여도 크게 문제가 없지만

대규모 프로젝트나 중복되는 코드가 많다면 분리를 시켜주는게 좋다.



MemberDao.java

setConnection()을 호출하지 않고 selectList() 메소드를 호출하게 되면

 connection 변수를 선언만 하고 객체를 생성하지 않았기 때문에

변수의 값은 null임으로 NullPointException이 난다.


MemberListServlet에서 DB 연결부분 복사해서 여기서 사용하면 안되나 싶기도 하지만

ServletContext는 서블릿만 접근이 가능하여 일반 클래스에서는

보관된 Connection 객체를 꺼낼수 없어 setConnection()메소드를 선언

먼저 호출되게 하여 connection을 받아와 사용해

이러한 것을 의존성 주입(DI), 역제어(IoC)이라고 한다


MemberListServlet.java(수정 후)

데이터 베이스와 관련된 코드가 없다

MemberListServlet에서 할 일은 요청에 DAO를 사용하여 jsp로 결과를 보낸다(controller)

'프로그래밍 > JavaWebProgramming' 카테고리의 다른 글

[Lesson05] 리스너  (0) 2016.12.21
[Lesson05] EL JSTL 사용  (0) 2016.12.16
[Lesson05] code review 01  (0) 2016.12.15