@WebServlet

- name = 서블릿 이름
- urlPatterns : URL 매핑
HTTP 요청이 오면 매핑된 URL 이 호출되면서 서블릿 컨테이너는 protected void service(HttpServletRequest request, HttpServletResponse response)를 자동으로 호출한다
HttpServletRequest
HTTP 요청 메시지를 개발자가 직접 파싱해도 되지만 매우 불편함
그래서 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 HTTP 요청 메시지를 파싱 한다 HttpServletRequest 객체에 담아서 준다
또한 HttpServletRequest는 추가로 여러 가지 부가 기능을 제공한다
" 임시 저장소 기능 "
- HTTP 요청이 시작부터 끝날 때까지 유지되는 임시 저장소 기능
- 저장 : request.setAttribute(name,value)
- 조회 : request.getAttribute(name)
" 세션 관리 기능 "
- request.getSession(create:true)
HTTP 가 Data를 전달하는 방법 3가지
- GET 방식의 쿼리
- 예) 검색, 필터, 페이징 등에서 많이 사용하는 방식
- POST 방식의 HTML Form
- content-type : application/x-www-form-urlencoded
- 메시지 바디에 마치 쿼리 파리미터 형식으로 전달 username=hello&age=20
- 예) 회원가입, 상품 주문, HTML Form 사용
- HTTP message body
- Body에 JSON, XML, TEXT 등으로 전달
단일 파라미터 조회, 복수 파라미터 조회
- 복수 파라미터 조회 (username=kim&username=hello)
- request.getParameter([key이름])
- 단일 파라미터 조회
- request.getParameterValues([Key이름])
쿼리와 Form
쿼리파라미터에서 data를 보내는 방식과 HttpForm 을통해 Body로 Data를 보내는 방식은 서로 호환이 된다 그래서 둘 다 request.getParameter로 꺼낼 수 있다
일반 Text Data
request.getInputStream()
StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8)
InputStream으로 주고받을 수 있다
HTTP 응답 데이터
- 단순 응답 (텍스트로 응답)
- response.getWriter()
- HTML 응답
PrintWriter writer = response.getWriter();
writer.println("<html>");
writer.println("<body>");
writer.println("<div> 안녕? </div>");
writer.println("</body>");
writer.println("</html>"); - HTTP API - MessageBody JSON 응답
ObjectMapper.writeValueString 이용
'🌿 스프링 > 김영한' 카테고리의 다른 글
| 2. Bean팩토리와 ApplicationContext (0) | 2026.02.08 |
|---|---|
| 1. 스프링 컨테이너와 스프링 빈 (0) | 2026.02.08 |
| 1. 웹 애플리케이션의 이해 (0) | 2026.02.07 |
| 빈 생명주기 콜백 함수 와 빈 스코프 (2) | 2025.08.25 |
| 의존관계 자동 주입 (1) | 2025.08.25 |