데브코스 W6D3
백엔드 데브 코스 중 중요한 개념을 정리하거나 과제 개발 일지를 정리한 공간입니다.
DispatchServlet
HTTP 프로토콜로 들어오는 모든 요청을 톰캣과 같은 서블릿 컨테이너가 받게 되면 그 안에서 각 요청을 적절한 컨트롤러에 전달하는 역할을 하는 Front Controller로 web.xml에서 URL 매핑을 등록해야하는 번거로움을 해결해주었다. 대신 모든 요청을 처리하니 정적 파일에 대한 요청까지 가로채기 때문에 /apps의 URI로 접근하면 DispatchServlet이 담당을 하고 /resource의 URI로 접근하는 경우 담당하지 않게 하는 방식이나 요청을 처리할 컨트롤러를 찾을 수 없는 경우에만 Resource 경로를 탐색해서 자원을 탐색하는 방식으로 문제를 개선했다.
Spring MVC의 동작방식
1. DispatchServlet
으로 request가 들어온다.
2. 들어온 요청을 처리할 controller
를 탐색해서 전달한다.
3. controller
는 실행 결과를 model
로 저장하고 반환할 view
를 지정한다.
4. 지정된 view
는 DispatchServlet
에게 전달받은 model
값을 랜더링한다.
5. DispatchServlet
는 렌더링된 view
를 결과로 response한다.
Thymleaf
컨트롤러가 전달하는 모델을 이용해서 동적으로 화면을 구성하는 뷰 템플릿으로 기존에 사용되는 JSP와 다르게 가독성이 좋고 진입장벽이 낮은 장점을 가지고 있다.
controller class
@RequestMapping("/test")
public String test(Model model) {
model.addAttribute("test"," hello world");
return "view";
}
view.html
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<p th:text="${test}"></p>
DispatchServlet
Spring MVC
Thymleaf
Author And Source
이 문제에 관하여(데브코스 W6D3), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@y005/데브코스-W6D3저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)