김영한17 HTTP 요청과 응답 GET에 쿼리 스트링이 오는 것, POST 방식으로 HTML Form 데이터 전송하는 방식 @RequestParam, @ModelAttribute을 사용한다. 단순 텍스트 HTTP message body에 데이터를 직접 담아서 요청. 데이터 형식은 주로 JSON 사용 요청 파라미터와 다르게 HTTP 메시지 바디를 통해 데이터가 직접 넘어오는 경우는 @RequestParam, @ModelAttribute를 사용할 수 없으며, HttpEntity를 사용해서 데이터(message Body)를 직접 꺼내야 한다. (HttpEntity httpEntity) T messageBody = httpEntity @RequestBody를 통해서 위의 복잡한 과정 없이 한 번에 데이터(message Body)를 꺼낼 수 있.. 2021. 10. 20. 스프링 애노테이션 스프링이 제공하는 컨트롤러는 애노테이션 기반으로 동작하여 매우 유연하고 실용적이다! RequestMappingHandlerMapping 스프링 빈 중에서 '@RequestMapping' 또는 '@Controller'가 클래스 레벨에 붙어있는 경우에 매핑 정보로 인식한다. (메서드 레벨 X) RequestMappingHandlerAdapter 매핑된 핸들러를 처리하는 어댑터 조회 요청 정보를 매핑한다. 해당 URL이 호출되면 이 메서드가 호출된다. 애노테이션을 기반으로 동작하기 때문에, 메서드 이름은 임의로 지으면 된다. ex) process(){ } 매우 유연하고 실용적인 컨트롤러를 만들게 해 준 것이 바로 @RequestMapping 어노테이션을 사용하는 컨트롤러이다. 위의 두 메서드는 클라이언트의 요.. 2021. 10. 16. MVC 프레임워크 MVC 패턴의 단점을 보안하기 위해 프런트 컨트롤러를 사용한다. 각 클라이언트의 호출마다 컨트롤러가 각각의 서블릿을 통해 컨트롤러로 전달하는 게 아닌 프런트 컨트롤러를 생성하여 공통된 호출들을 매핑 하여 그에 맞는 컨트롤러를 호출한다. 프런트 컨트롤러 패턴의 특징 클라이언트 요청에 맞는 컨트롤러를 찾아서 호출 공통 처리가 가능 구조적 문제를 해결한 프런트 컨트롤러 패턴 - V1 Controller 인터페이스의 생성과 이를 구현하는 각 기능의 Servlet들 생성 FrontController를 생성 controllerMap을 통해 클라이언트로부터 요청받는 URI를 따로 저장하고 생성자를 통해 각 기능의 URI들을 HaspMap 에 저장한다. 클라이언트로부터 URL을 제공받으면 URI를 따로 저장하여 con.. 2021. 10. 7. 서블릿 HttpServletRequest 개요 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신 요청 메시지를 파싱 한다. 그 후 HttpServletRequest 객체에 담아서 제공한다. // START LINE POST /save HTTP/1.1 // HEADER Host: localhost:8080 Content-Type: application/x-www-form-urlencoded // BODY username=kim&age=20 - 임시 저장소 기능 해당 HTTP 요청이 시작부터 끝날 때까지 유지되는 임시 저장소 저장 : request.setArrtibute(name, value) 조회 : request.getAttribute(name) - 세션 관리 기능 request... 2021. 10. 4. 이전 1 2 3 4 5 다음