728x90
Hello Servlet
- @ServletComponentScan
- 서블릿을 찾아 자동으로 등록 해줌
- @WebServlet
- name:서블릿
- urlPatterns: url 매핑
- servlet을 사용하기 위해서는 HttpServlet을 상속받아 사용
- 요청을 통해 매핑된 url이 실행되면 service 메서드를 실행
- logging.level.org.apache.coyote.http11=debug;
- 개발용 로깅 설정
HttpServletRequest - 개요
- 서블릿은 HTTP요청 메시지를 편리하게 사용할 수 있도록 HTTP 요청 메시지를 파싱하고 그 결과를 HttpServletRequest 객체에 담아서 제공
- Start line
- HTTP 메서드
- URL
- 쿼리스트링
- 스키마, 프로토콜
- 헤더
- 헤더 조회
- 바디
- form 파라미터 형식 조회
- message body 직접 조회
- 임시 저장소 기능
- HTTP 요청이 시작부터 끝날때 까지 유지되는 임시 저장소 기능
- 저장 : request.setAttribute(name, value)
- 조회 : request.getAttribute(name)
- HTTP 요청이 시작부터 끝날때 까지 유지되는 임시 저장소 기능
- 세션 관리 기능
- request.getSession(create: true)
HttpServletRequest - 기본 사용법
- header의 정보는 request 객체를 통해 추출할 수 있음
HTTP 요청 데이터 개요
- GET - 쿼리파라미터
- /url?username=ko&age=26
- 메시지 바디 없이 쿼리파라미터를 통해 전달
- 검색, 필터 등에 많이 사용
- POST - HTML Form
- 메시지 바디에 쿼리파라미터 형식으로 전달
- 주문, 회원가입 등에 사용
- HTTP message body
- 직접 담아서 사용
- API 에서 사용되며 JSON 형식으로 주로사용
- POST, PUT, PATCH
HTTP 요청 데이터 - GET 쿼리파라미터
- ? 를 시작으로 &로 구분하여 추가 파라미터를 전달할 수 있음
- HttpServletRequest가 제공하는 메서드를 통해 편하게 조회 가능
- 동일한 파라미터 name은 기본적으로 첫번째 파라미터를 사용하지만 getParameterValues를 사용하면 배열로 들고와 사용 가능
HTTP 요청 데이터 - POST HTML Form
- 주로 회원가입, 상품 주문 등에서 사용하능 방식
- 데이터를 body에 쿼리 파라미터 형태로 전달
- GET의 파라미터 조회 메서드를 사용하면 됨
- content-type은 HTTP 메시지 바디의 데이터 형식을 지정
HTTP 요청데이터 - API 메시지 바디 (단순 텍스트 / JSON)
- 단순 텍스트
- HTTP message body에 데이터를 직접 담아서 요청
- 주로 JSON 사용
- InpustStream을 사용해서 직접 읽을 수 있음
- JSON
- 객체로 파싱하여 사용
HttpServletResponse - 기본 사용법
- HTTP 응답 메시지 생성
- 응답코드 지정
- 헤더 생성
- 바디 생성
- Content-Type, Cookie, Redirect 등 편리하게 사용 가능
HTTP 응답 데이터 - 단순 텍스트, HTML, API-JSON
- 단순 텍스트 응답
- HTML 응답
- content-type : text/html 로 지정
- API - JSON
- content-type : application/json 지정
출처 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의
웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., -
www.inflearn.com
'BackEnd 학습 > Spring Framework' 카테고리의 다른 글
| Spirng(스프링) - MVC 프레임워크 만들기 (0) | 2023.06.13 |
|---|---|
| Spring(스프링) -서블릿, JSP, MVC패턴 (1) | 2023.06.07 |
| Spring(스프링) - 웹 애플리케이션 이해 (0) | 2023.05.16 |
| Spring(스프링) -빈 스코프 (0) | 2023.05.01 |
| Spring(스프링) - 빈 생명주기 콜백 (0) | 2023.03.30 |