🍀Spring/Web MVC

핸들러 매핑과 핸들링 어댑터 SpringMVC 구조  1. 핸들러 조회 : 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러를 조회한다. 2. 핸들러 어댑터 조회 : 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다. 3. 핸들러 어댑터 실행 : 핸들러 어댑터를 실행한다. 4. 핸들러 실행 5. ModelAndView 반환 : 핸들러 어댑터는 핸들러가 반환하는 정보를 ModelAndView로 변환해서 반환한다. 6. viewResolver 호출 : 뷰 리졸버를 찾고 실행한다. 7. View 반환 : 뷰 리졸버는 뷰의 논리 이름을 물리 이름으로 바꾸고, 렌더링 역할을 담당하는 뷰 객체를 반환한다. 8. 뷰 렌더링 : 뷰를 통해서 뷰를 렌더링한다.    HttpRequestHandlerpublic interf..
변수 - SpringELObjectuser.username : user의 username을 프로퍼티 접근 user.getUsername()user['username'] : 위와 같음 user.getUsername()user.getUsername() : user의 getUsername() 을 직접 호출Listusers[0].username : List에서 첫 번째 회원을 찾고 username 프로퍼티 접근list.get(0).getUsername()users[0]['username'] : 위와 같음users[0].getUsername() : List에서 첫 번째 회원을 찾고 메서드 직접 호출MapuserMap['userA'].username : Map에서 userA를 찾고, username 프로퍼티 접근m..
타임리프 특징서버 사이드 HTML 렌더링 (SSR)네츄럴 템플릿스프링 통합 지원  서버 사이드 HTML 렌더링 (SSR)타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다. 네츄럴 템플릿타임리프는 순수 HTML을 최대한 유지하는 특징이 있다.타임리프로 작성한 파일은 HTML을 유지하기 때문에 웹 브라우저에서 파일을 직접 열어도 내용을 확인할 수 있고, 서버를 통해 뷰 템플릿을 거치면 동적으로 변경된 결과를 확인할 수 있다. 즉, 순수 HTML을 그대로 유지하면서 뷰 템플릿도 사용할 수 있는 타임리프의 특징을 네츄럴 템플릿(natural templates)이라 한다. 스프링 통합 지원타임리프는 스프링과 자연스럽게 통합되고, 스프링의 다양한 기능을 편리하게 사용할 수 있게 지원한다. ..
/** * 편리한 축약 애노테이션 * @GetMapping * @PostMapping * @PutMapping * @DeleteMapping * @PatchMapping */ /** * method 특정 HTTP 메서드 요청만 허용 * GET, HEAD, POST, PUT, PATCH, DELETE */package hello.springmvc.basic.requestmapping;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.bind.annotation.*;@RestControllerpublic class MappingController { private Logger log = Logge..
JSP서블릿과 자바 코드만으로 HTML을 만든다면 매우 복잡하고 비효율 적이다. 차라리 HTML 문서에 동적으로 변경해야 하는 부분만 자바 코드로 넣을 수 있다면 더 편리한데 이것이 바로 템플릿 엔진이 나온 이유이다. 템플릿 엔진을 사용하면 HTML 문서에서 필요한 곳만 코드를 적용해서 동적으로 변경할 수 있다.템플릿 엔진에는 JSP, Thymeleaf, Freemarker, Velocity등이 있다.    MVC 패턴  Model, View, Controller- 하나의 서블릿이나, JSP로 처리하던 것을 컨트롤러(Controller)와 뷰(View)라는 영역으로 서로 역할을 나눈 것을 말한다.   컨트롤러 : HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 뷰에 전달할 ..
서블릿 컨테이너 동작 방식  스프링 부트를 실행하면 내장 톰캣서버를 띄우고 톰캣서버는 내부에 서블릿을 생성하고  위와 같은 요청을 보낸다.  웹 브라우저에서 HTTP 요청 메시지를 기반으로 request 객체를 만들어 전달하여 helloServlet을 호출하여 Response 객체 정보로 반환하여 웹 브라우저에서 볼 수 있게된다.     HttpServletRequest서블릿은 아래와 같은 HTTP 요청 메시지를 파싱해서 HttpServletRequest에 담아준다.POST /save HTTP/1.1Host: localhost:8080Content-Type: application/x-www-form-urlencodedusername=kim&age=20   "임시 저장소 기능"해당 HTTP 요청이 시작부터..
말동말동현
'🍀Spring/Web MVC' 카테고리의 글 목록