상세 컨텐츠

본문 제목

[SpringBoot] springboot 구조

JAVA\Spring

by 박집실 2023. 8. 14. 00:54

본문

클라이언트 -> WAS( 톰캣 등등) -> 컨테이너 ----------------------------

                                                        |  디스패처 서블릿 -> 프레젠테이션 계층( 컨트롤러)

                                                        |                                                |

                                                        |                                      비즈니스/ 서비스 계층

                                                        |                                                |

클라이언트<- WAS( 톰캣 등등)  <-  |    웹 리졸버  <-- 컨트롤러 <-- 퍼시스턴트 계층

                                                        |

                                                        |---------------------------------------------------------------------------

 

WAS - 웹 애플리케이션 서버(Web Application Server)는 J2EE(Java Enterprise Edition)의 스펙을 구현하여, 서블릿(Servlet)이나 JSP로 작성된 애플리케이션을 실행하는 소프트웨어이다. Tomcat은 J2EE의 스펙을 모두 구현하고 있지는 않으므로[8] 웹 애플리케이션 서버라고 할 수는 없으나, 기본적인 웹 서버 및 서블릿 컨테이너로서의 기능은 모두 수행한다. 따라서 '웹 컨테이너' 정도가 Tomcat을 분류하는 가장 좋은 용어가 될 것이다.

 

웹 서버 - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

 

디스패쳐 서블릿 - HTTP 메소드에서 온 CRUD 요청을 해석 후에 적당한 컨트롤러를 찾아서 맵핑 해줌

 

프레젠테이션 계층 - 컨트롤러가 존재하며 이 계층에서 HTTP 요청을 적당한 JSON으로 변환함.

 

JSON - 일반적으로 서버에서 클라이언트로 데이터를 보낼 때 사용하는 양식. 클라이언트가 사용하는 언어에 관계 없이 통일된 데이터를 주고받을 수 있도록, 일정한 패턴을 지닌 문자열을 생성해 내보내면 클라이언트는 그를 해석해 데이터를 자기만의 방식으로 온전히 저장, 표시할 수 있게 된다.

 

서비스 계층 - 퍼시스턴트 계층으로 보내기 전에 거치는 단계 여기서 프레젠테이션 계층에서 온 요청에 대해서 적당한 퍼시스턴트 계층에서의 기능을 맵핑하거나 혹은 권한을 부여하거나 요청이 적당한지 유효성 검사를 진행

 

퍼시스턴트 계층 - DB에 관련한 모든 동작들을 여기서 수행 (DAO - DB와 연결되서 정보를 조회 삭제 추가 할 때 쓰이는 개체 등등)

 

웹 리졸버 - 서버에서 나온 연산 결과를 클라이언트가 올바르게 알아 들을 수 있도록 JSON 등으로 변환 후 전달

 

DTO - 계층간 정보를 주고 받을 때 사용하는 객체

관련글 더보기