MVC 코드 분석 및 정리

블랑·2023년 3월 24일
0

 src (Product)
 
   |
   | --- Controller : 요청을 받아 모델을 호출하고, 모델에서 반환된 데이터를 뷰로 전달
   |	< ProductController.java >
   |	1. ProductService(interface) 객체 생성 
   |	- 이 인터페이스 객체에 ProductServiceImpl.getInstance() 값 저장.
   |	- 이렇게 하면, 코드를 변경하지 않고도 동일한 인터페이스를 사용하여 다른 구현체를 사용할 수 있다. 
   |	- 만약 -impl가 아니고 다른 dao 객체를 적용하고 싶다면 
   |	  객체에 다른 dao객체.getInstance()값으로 저장하면 된다.
   |	
   |
   |	2. init()
   |	- Alt + Shift + s + v + GeneralServlet에서 상속
   |	- 초기화 단계에서 최초 실행, 구현체를 참조하는 인터페이스 객체를 대입
   |
   |
   |	3. doPost(request, response)
   |	POST는 form 태그 등에서 입력받은 값들을 저장한 값들을 거쳐 다시 doGet으로 이동할 것이다. 
   |	GET은 주로 조회용으로 사용하고, 전송할 데이터가 많아지면 utl이 길어져서 전송할 수 없기 때문.
   |	- request.setCharcterEncoding("utf-8"); //인코딩 설정 변경
   |	- action 변수 입력받음 : request.getParameter("action");
   |
   |
   | --- Model 데이터와 데이터 처리를 담당(dto, dao, service)
   |	  ㄴ dto : 데이터 전송 객체. 데이터 저장에 필요한 정보를 가진 클래스. 일반적으로 DB 테이블과 유사
   |      ㄴ dao : 데이터베이스에 접근, CRUD(Create, Read, Update, Delete) 메서드를 제공
   |      ㄴ service: DAO에서 처리한 데이터를 가공하고, 비즈니스 로직을 수행
   |
   |	< dto >
   |	1. Product.java : DB 테이블과 동일 요소(code,model,price)를 가진 객체 (+Getter/Setter)
   |
   |	< dao >
   |	2. ProductDaoImpl.java
   |	- DButil 객체 db 생성, 싱글톤 객체 생성( 선언한 dbUtil 객체에 인스턴스 주입) 
   |	- insertProduct(Product product) : 삽입(insert into) 메서드
   |	- selectProduct() : 조회(select) 메서드 - List<Product>로 반환
   |
   |	-> Product는 dto 데이터 전송 객체이다. 
   |		이것을 이용하여 db와의 삽입, 조회를 실행하는 기능을 포함한 dao 파일을 생성하였다.
   |		해당 파일은 Service에서 객체로 생성되어 기능을 사용하게 된다.
   |
   |	< service > 
   |	1. ProductServiceImpl.java
   |	- dao객체 생성(ProductDaoImpl)
   |	- 싱글톤 패턴 주입 (선언한 dao객체에 인스턴스 주입)
   |	- regist(Product product) : dao 객체의 삽입 메서드(insertProduct) 수행
   |	- list() : dao 객체의 조회 메서드(selectProduct()) 수행 후 List<Product> 반환
   |
   |
   |
   |
   |
   | ---- View (JSP)
   |
   | ---- DBUtil : jdbc Connection 제공
   |
   |
   


src (member) : 로그인, 로그아웃 실행
profile
안녕하세요.

0개의 댓글