티스토리 뷰
Spring의 HTTP 처리
Spring 프레임워크에서 클라이언트, 서버, 컨트롤러 및 요청 매핑 간의 흐름을 이해하는 것을 목적으로 기술합니다
TIP 1
Spring 프레임워크에서 컨트롤러 내부의 메소드는 일반적으로 정적이 아닌 인스턴스 메소드입니다.
이는 Tomcat이 각 요청을 처리하기 위해 컨트롤러의 인스턴스를 생성하기 때문입니다.
이렇게 하면 각 요청이 별도의 컨트롤러 인스턴스에서 처리되므로 확장성과 스레드 안전성이 향상됩니다.
TIP 2
WAR 파일(웹 응용 프로그램 리소스 또는 웹 응용 프로그램 ARchive)의 경우 Tomcat과 같은 모든 서블릿 컨테이너 또는 응용 프로그램 서버에 배포할 수 있는 응용 프로그램용 패키지입니다.
이 파일을 내보내고 원격으로 전송하여 AWS와 같은 서버에 직접 배포할 수 있습니다.
Tomcat의 webapps 디렉터리로 이동하면 자동으로 배포됩니다.
Workflow
프로세스에 대한 단계별 설명은 다음과 같습니다.
- 클라이언트의 HTTP 요청
- 클라이언트는 특정 끝점에 HTTP 요청을 보냅니다.
- 웹 서버(이 경우 Apache Tomcat)가 요청을 수신합니다.
- Tomcat은
HttpServletRequest
개체를 생성하여 헤더, 본문 및 매개 변수와 같은 HTTP 요청의 데이터로 채웁니다.
- 라우팅 요청
- 요청은 URL 및 HTTP 메서드(GET, POST 등)를 기반으로 적절한 Spring 컨트롤러로 발송됩니다.
- 이 디스패치는 컨트롤러 메서드의
@RequestMapping
주석에 의해 처리됩니다.
- 컨트롤러 메서드 호출
- Spring 프레임워크는 Java의 Reflection API를 사용하여 컨트롤러에서 적절한 메서드를 호출합니다.
- 예를 들어
@RequestMapping("/hello")
주석이 달린 메서드가 있는 경우 “/hello” 엔드포인트에 대한 모든 요청에 대해 호출됩니다.
@Controller
public class Hello {
@RequestMapping("/hello")
private void main() {
System.out.println("Hello, Spring");
}
}
- 컨트롤러가 요청을 처리함
- 컨트롤러 메서드는 데이터베이스 쿼리, 요청 데이터 처리 또는 다른 서비스 호출과 같은 필요한 논리를 수행할 수 있습니다.
- 응답 준비 및 보내기
- 컨트롤러가 HTTP 응답을 준비합니다.
- 이 응답은 일반적으로
HttpServletResponse
개체로 클라이언트에 다시 전송됩니다.
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
728x90
'DEV > Java' 카테고리의 다른 글
Spring의 코드 분리 (0) | 2023.05.18 |
---|---|
Spring Response와 Request (0) | 2023.05.13 |
Aspect-oriented programming (AOP) (0) | 2023.05.11 |
Spring (0) | 2023.05.11 |
Java의 Hook Method (0) | 2023.05.10 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개발/보안
- 카테캠
- ⌨️Developer
- 개발/네트워크
- 개발/Tools/프레임워크/Spring
- ai
- 개발/CS/알고리즘
- 개발/webrtc
- 개발/Java
- 개발/언어론
- 개발/Java/Spring
- 알고리즘
- 개발/언어/Java
- 카카오테크캠퍼스
- 대외활동/카카오테크캠퍼스
- 카카오 테크 캠퍼스
- 개발
- 개발/프레임워크&라이브러리
- 개발/CS/OS
- 개발/환경
- 개발/에러
- 개발/Electron
- 취업
- 개발/OOP
- ⌨️Developer/보안
- AI/GPT
- electron
- 개발/MySQL
- AI/ML
- 개발/컴퓨터네트워크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함