일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 싱글톤
- 다형성
- 서블릿
- 테스트코드
- 오버라이딩
- JSON
- 코딩테스트
- fielderror
- DI
- 오블완
- equals()
- 코드트리
- objecterror
- @configuration
- http 메시지 컨버터
- java
- 스프링컨테이너
- ocp
- 추상클래스
- HttpServletResponse
- html form
- 스프링
- 코드트리조별과제
- 의존관계
- 프록시
- 인터페이스
- 티스토리챌린지
- 백준
- 참조변수
- 김영한
- Today
- Total
목록TIL (147)
minOS
API 메시지 바디 - 단순 텍스트HTTP message body에 데이터를 직접 담아서 요청- HTTP API에서 주로 사용- JSON, XML, TEXT 데이터 형식은 주로 JSON 사용- POST, PUT, PATCH 가장 단순한 텍스트 메시지를 HTTP 메시지 바디에 담아서 전송하고, 읽어보자. HTTP 메시지 바디의 데이터를 InputStream을 사용해서 직접 읽을 수 있다.@WebServlet(name = "requestBodyStringServlet", urlPatterns = "/request-body-string") public class RequestBodyStringServlet extends HttpServlet { @Override prote..
POST HTML FormHTML의 Form을 사용해서 클라이언트에서 서버로 데이터를 전송해보자. 주로 회원 가입, 상품 주문 등에서 사용하는 방식이다.특징- content-type: application/x-www-form-urlencoded- 메시지 바디에 쿼리 파리미터 형식으로 데이터를 전달한다 예시) username=hello&age=20src/main/webapp/basic/hello-form.html 생성전송응답 화면클라이언트가 해당 형식으로 전송하면 웹브라우저가 콘텐트 타입 형식으로 HTTP 메세지를 만든다.`application/x-www-form-urlencoded` 형식은 앞서 GET에서 살펴본 쿼리 파라미터 형식과 같다 따라서 쿼리 파라미터 조회 메서드를 그대로 사용 하면 된..
GET 쿼리 파라미터메시지 바디 없이, URL의 쿼리 파라미터를 사용해서 데이터를 전달쿼리파라미터 : URL에 아래와 같이 `?` 를 시작으로 보낼 수 있다.추가 파라미터는 `&` 로구분하면된다.http://localhost:8080/request-param?username=hello&age=20@WebServlet(name = "requestParamServlet", urlPatterns = "/request-param")public class RequestParamServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) thro..
HTTP 요청 데이터HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 세가지 방법을 알아보자1) GET - 쿼리 파라미터- /url?username=hello&age=20- 메세지 바디 없이 , URL의 쿼리 파라미터에 데이터를 포함해서 전달- 예시) 검색, 필터, 페이징등에서 많이 사용하는 방식2) POST - HTML Form- content-type: application/x-www-form-urlencoded 이 형식은 주로 웹 브라우저가 HTML 폼 데이터를 서버로 전송할 때 사용- 메시지 바디에 쿼리 파리미터 형식으로 전달 username=hello&age=20- 예시) 회원 가입, 상품 주문, HTML Form 사용3) HTTP message body에 데이터를 직접 담아서..
HttpServletRequest 역할HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편하다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 `HttpServletRequest` 객체에 담아서 제공한다.HttpServletRequest를 사용하면 다음과 같은 HTTP 요청 메시지를 편리하게 조회할 수 있다. POST /hello HTTP/1.1Host: localhost:8080Content-Type: application/x-www-form-urlencodedContent-Length: 19Accept: text/html,application/xhtml+xml,application/xml;q=..
Provider 방식 말고 프록시 방식 사용@Component@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)public class MyLogger {}proxyMode = ScopedProxyMode.TARGET_CLASS를 추가해주자. - 적용 대상이 클래스면 TARGET_CLASS를 선택 - 적용 대상이 인터페이스면 INTERFACE 선택이렇게 하면 MyLogger의 가짜 프록시 클래스를 만들어 두고 HTTP request와 상관없이 가짜 프록시 클래스를 다른 빈에 미리 주입해 둘 수 있다.@Controller@RequiredArgsConstructorpublic class LogDemoController { ..