개발언어를 동일한 언어로 맞추고, 개발 방식 또한 일관되게 하게 하면 된다.
일정한 틀에 갖춰 그 안에서 규격에 맞게 개발하는 걸 프레임워크라고 한다.


- POJO (Plane Old Java Object) : 순수 자바 객체
- DI (Dependency Injection) : 의존성 주입
- AOP (Aspect Oriented Programming) : 관점 지향 프로그래밍
- MVC
- 독립적

1) request - URL을 통해 요청 받아옴.
2) Spring에서 front controller 역할을 하는 것은? Dispatcher Servlet
3) Dispatcher Servlet이 요청받아서 필요한 해당 controller(POJO) 찾아달라고 Handler Mapping에게 부탁함.
Handler Mapping이 Dispatcher Servlet에게 위치를 돌려줌.
4) Handler Adapter를 통해 Dispatcher Servlet과 Controller이 연결
5) Controller(POJO)는 DB 연결/제어하여 본인 업무 시행함.
6) 회원정보 목록을 Session에 저장해주지만 한 페이지에서만 저장할 때는 Model에 저장해줌
7) 이동해야할 페이지의 View name(이름)만 Handler Adapter에게 전달
8) 받아온 이름에 View Resolver에서 경로랑 .jsp를 붙여주며 최종 경로를 확실시함
Model에 있는 데이터와 연결하여 View에 전달
9) View에 전달하여 Response함.


전자정부프레임워크 설치해주기
https://www.egovframe.go.kr/home/ntt/nttRead.do?pagerOffset=0&searchKey=&searchValue=&menuNo=65&bbsId=4&nttId=1743
설치하고 mySql (startup) 실행시킨 상태로 eclipse.edu 열기



-> 실습용 zip파일 import해오기

-> port 번호 변경해주기

-> Servers에 import해온 project 드래그하여 연결해주기
-> Server Start

-> project 실행 방법 : Run As - 1. Run on Server해준다

java 코드를 xml 코드로 쓸 수 있다
web.xml에 Dispatcher Servlet 선언되어 있다.

Dispatcher Servlet의 이름이 'appServlet' 이며

appServlet이 생성될 때 매개변수(init-param)를 참조
init-param을 통해 해당 위치를 알 수 있다.
/WEB-INF/spring/appServlet/servlet-context.xml

Dispatcher Servlet 확인!!!!

request 내용에 따라 Dispatcher Servlet은 Handler Mapping에게 Controller를 찾아달라고 해야하는데
-> 그 위치가 kr.board.controller이며 거기서 scan 하라고 알려줌
-> Handler Mapping이 찾기 시작함

조건 1 : "kr.board.controller" 위치에 있어야 하고

조건 2 : @Controller
어노테이션으로 정확히 Controller라는 것을 명시

조건 3 : RequestMapping을 통해 정확히 파악
해당 Controller에서 RequestMapping을 통해

View name 인 "home"을 Handler Adapter를 에게 주고
Handler Adapter는 Dispatcher Servlet에게 전달

Dispatcher Servlet는 받아온 View name을
View Resolver을 통해 최종 경로 정해서 View에 전달한다
-> 앞에는 경로 '/WEB-INF/views/' 붙이고
-> 뒤에는 '.jsp' 붙임


-> View를 통해 Response해준다