
Http 기반으로 동작정적 리소스 제공, 기타 부가기능정적 리소스란?서버에서 사용자가 요청할 때 마다 실시간으로 생성되거나 변경되지 않는, 미리 준비된 파일이나 데이터를 의미한다.)즉 내용이 고정되어 있어 사용자마다 동일한 형태로 제공되는 자원을 말한다.웹 개발에서의

효율성 보안확장성이 3가지를 극대화 하기 위해서이다.웹 서버는 정적 콘텐츠를 빠르게 제공하는 데 특화되어있어, 클라이언트 요청 중 정적인 부분을 먼저 처리한다.WAS는 동적 콘텐츠 처리에 집중할 수 있어 불필요한 자원 낭비를 줄인다.웹 서버는 여러 WAS 인스턴스 앞에

고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공주로 웹 브라우저동적으로 필요한 HTML 파일을 생성해서 전달웹 브라우저 : HTML 해석HTML이 아니라 데이터를 전달주로 JSON 형식 사용다양한 시스템에서 호출데이터만 주고 받음, UI 화면이 필요하면

HttpServletRequest 역할 HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편함. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 결과를 `HttpServletReq

/url?username=hello&age=20메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달EX) 검색, 필터, 페이징등에서 많이 사용하는 방식content-type : application/x-www-form-urlencoded메시지 바디에 쿼리

쿼리 파라미터는 URL에 아래와 같이 ?를 시작으로 보낼 수 있다.추가 파라미터는 &으로 구분할 수 있다. http://localhost:8080/request-param?username=hello&age=20서버에서는 HttpServletRequest가 제공

너무많은 역할하나의 서블릿이나 JSP만으로 비즈니스 로직과 뷰 렌더링까지 모두 처리하게 되면, 너무 많으녀 역할을 하게되고, 결과적으로 유지보수가 어려워진다.비즈니스 로직을 호출하는 부분에 변경이 발생해도 해당 코드를 손대야 하며, UI를 변경 할 일이 있어도 비즈니스

프론트 컨트롤러 > Front Controller 도입 전에 클라이언트에서 호출을 할때 Controller A, B, C 이렇게 다른 Controller을 호출해도 공통적인 부분이 많아 공통처리가 되지 않아 불편한 점이 많았다. 하지만 도입 후 어떤 것이 유리해졌는지

전 시간에 직접 만들어봤던 MVC 프레임워크 구조Spring MVC 구조직접 만든 프레임워크 -> 스프링 MVC 비교FrontController -> DispatcherServlethandlerMappingMap -> HandlerMappingMyHandlerAdapt

핸들러 매핑과 핸들러 어댑터 현재 Spring은 annotation 기반으로 컨트롤러나 핸들러를 사용한다. 원리를 알아보기위해 과거에 사용했던 방법으로 공부해보자. Controller Interface 과거 버전 스프링 컨트롤러 스프링도 처음에는 이런 딱딱한 형식의

HttpRequestHandler핸들러(컨트롤러)는 서블릿과 가장 유사한 형태의 핸들러이다.HandlerMapping 을 순서대로 실행해서, 핸들러를 찾는다.이 경우 빈 이름으로 핸들러를 찾아야 하기 때문에 이름 그대로 빈 이름으로 핸드러를 찾아주는 BeanNameUr

운영 시스템에서는 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력한다. 스프링 부트 라이브러리를 사용하면 스프링 부트 로깅 라이브러리(spring-boot-starter-lo

@RestController@Controller는 반환 값이 String이면 뷰 이름으로 인식된다. 그래서 뷰를 찾고 뷰가 렌더링 ㅗ딘다.@RestController는 반환 값으로 뷰를 찾는 것이 아니라 ,HTTP 메시지 바디에 바로 입력한다.@RequestMappi

기본, 헤더 조회 애노테이션 기반의 스프링 컨트롤러는 다양한 파라미터를 지원한다. > - HttpServletRequest `HttpServletResponse` `HttpMethod : HTTP 메서드를 조회한다. org.springframework.http.Htt

정적 리소스예) 웹 브라우저에 정적인 HTML, css. js를 제공할 때는, 정적 리소스를 사용뷰 템플릿 사용예) 웹 브라우저에 동적인 HTML을 제공할 때는 뷰 템플릿을 사용HTTP 메시지 사용HTTP API를 제공하는 경우에는 HTML이 아니라 데이터를 전달해야

뷰 템플릿으로 HTML을 생성해서 응답하는 것이 아니라, HTTP API처럼 JSON 데이터를 HTTP 메시지 바디에서 직접 읽거나 쓰는 경우 HTTP 메시지 컨버터를 사용하면 편리.@ResponseBody를 사용HTTP의 BODY에 문자 내용을 직접 반환viewRes

과연 HTTP 메시지 컨버터는 스프링 MVC 구조 중 어디에서 사용될까?모든 의문은 애노테이션 기반의 컨트롤러 즉 @RequestMapping을 처리하는 핸들러 어뎁터인 @RequestMappingHandlerAdapter(요청 매핑 헨들러 어뎁터)에 있다.Argume