




@GetMapping 뒤에 식별자 명이 같을 경우 오류가 난다. 다르게 적자.
Servlet은 계속 만들면 용량이 늘어난다.
그래서 부하를 줄이기 위해 하나로 만든다.
Servlet 하나에 라우터를 만든다.
Servlet이 하나로 되면 공통로직처리가 용이하다는 장점이 있다.
이것을 FrontServlet이라고 한다.
Dispatcher가 리플렉션 돼있다.
Spring이 자체적으로 FrontController와 DispatcherServlet을 만들어준다.
모든 요청은 FrontController로 간다.
우리는 Controller와 DAO만 만들면 되기 때문에 편하다.

- 클라이언트가 프로세스 포트로 연결 요청
- 해당 포트 프로세스의 서버소켓은 요청을 받고 새로운 소켓 생성
- 클라이언트 소켓과 프로세스 소켓이 바이트스트림으로 연결
- 클라이언트는 버퍼라이터로 요청
- 프로세스는 버퍼리더로 읽은 다음 해당하는 파일을 찾음
- 정적 페이지(자원명)면 아파치가 webapp에서 기본으로 찾아서 다시 버퍼라이터로 클라이언트의 버퍼리더에 전송
- 동적 페이지(식별자)면 아파치의 버퍼라이터로 톰캣의 버퍼리더에 데이터를 주고 톰캣에게 위임
- 폼켓은 그럼 다시 파싱하고 Java언어로 오브젝트 변환
- HTTPServlet Request에 모든 정보가 담겨있음
- 스프링이 Servlet과 dispatcherServlet을 만듦
- Servlet에 FrontController의 service메소드를 호출
- dispatcherServlet은 라우팅하는 역할을 하는데 Spring에서 리플렉션 돼있음
- 그럼 우리는 이제 Spring안에 Controller에서 파싱하고 유효성검사를 한 다음
- DAO와 DB 연동하면 됨
다시 줄 때는 역순으로
Share article