JSP
서블릿과 자바 코드만으로 HTML을 만든다면 매우 복잡하고 비효율 적이다. 차라리 HTML 문서에 동적으로 변경해야 하는 부분만 자바 코드로 넣을 수 있다면 더 편리한데 이것이 바로 템플릿 엔진이 나온 이유이다. 템플릿 엔진을 사용하면 HTML 문서에서 필요한 곳만 코드를 적용해서 동적으로 변경할 수 있다.
템플릿 엔진에는 JSP, Thymeleaf, Freemarker, Velocity등이 있다.
MVC 패턴
Model, View, Controller
- 하나의 서블릿이나, JSP로 처리하던 것을 컨트롤러(Controller)와 뷰(View)라는 영역으로 서로 역할을 나눈 것을 말한다.
컨트롤러 : HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 뷰에 전달할 결과, 데이터를 조회해서 모델에 담는다.
모델 : 뷰에 출력할 데이터를 담아둔다. 뷰가 필요한 데이터를 모두 모델에 담아서 전달해주는 덕분에 뷰는 비즈니스 로직이나 데이터 접근을 몰라도 되고, 화면을 렌더링 하는 일에 집중할 수 있다.
뷰: 모델에 담겨있는 데이터를 사용해서 화면을 그리는 일에 집중한다. 여기서는 HTML을 생성하는 부분을 말한다.

위의 MVC 패턴처럼 컨트롤러에 비즈니스 로직을 둘 수도 있지만, 컨트롤러가 너무 많은 역할을 담당하여 일반적으로는 비즈니스 로직은 서비스(Service)라는 계층을 별도로 만들어서 처리한다.

'🍀Spring > Web MVC' 카테고리의 다른 글
[Spring] 스프링 MVC 구조이해 (0) | 2024.08.19 |
---|---|
[MVC] 타임리프 - 표준 표현식 구문 (0) | 2024.07.21 |
[MVC] 타임리프 - 기본 기능, 텍스트 (1) | 2024.07.20 |
[MVC] 요청 매핑 (RequestMapping, HTTP 메서드) (0) | 2024.05.05 |
[MVC] 서블릿 - HttpServletRequest (0) | 2024.03.30 |
JSP
서블릿과 자바 코드만으로 HTML을 만든다면 매우 복잡하고 비효율 적이다. 차라리 HTML 문서에 동적으로 변경해야 하는 부분만 자바 코드로 넣을 수 있다면 더 편리한데 이것이 바로 템플릿 엔진이 나온 이유이다. 템플릿 엔진을 사용하면 HTML 문서에서 필요한 곳만 코드를 적용해서 동적으로 변경할 수 있다.
템플릿 엔진에는 JSP, Thymeleaf, Freemarker, Velocity등이 있다.
MVC 패턴
Model, View, Controller
- 하나의 서블릿이나, JSP로 처리하던 것을 컨트롤러(Controller)와 뷰(View)라는 영역으로 서로 역할을 나눈 것을 말한다.
컨트롤러 : HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 뷰에 전달할 결과, 데이터를 조회해서 모델에 담는다.
모델 : 뷰에 출력할 데이터를 담아둔다. 뷰가 필요한 데이터를 모두 모델에 담아서 전달해주는 덕분에 뷰는 비즈니스 로직이나 데이터 접근을 몰라도 되고, 화면을 렌더링 하는 일에 집중할 수 있다.
뷰: 모델에 담겨있는 데이터를 사용해서 화면을 그리는 일에 집중한다. 여기서는 HTML을 생성하는 부분을 말한다.

위의 MVC 패턴처럼 컨트롤러에 비즈니스 로직을 둘 수도 있지만, 컨트롤러가 너무 많은 역할을 담당하여 일반적으로는 비즈니스 로직은 서비스(Service)라는 계층을 별도로 만들어서 처리한다.

'🍀Spring > Web MVC' 카테고리의 다른 글
[Spring] 스프링 MVC 구조이해 (0) | 2024.08.19 |
---|---|
[MVC] 타임리프 - 표준 표현식 구문 (0) | 2024.07.21 |
[MVC] 타임리프 - 기본 기능, 텍스트 (1) | 2024.07.20 |
[MVC] 요청 매핑 (RequestMapping, HTTP 메서드) (0) | 2024.05.05 |
[MVC] 서블릿 - HttpServletRequest (0) | 2024.03.30 |