JSP(Java Server Pages)
HTML 코드에 JAVA 코드를 넣어 Dynamic Web Page를 생성하는 웹 애플리케이션 프로그래밍 기술
예를들어 네이버의 html코드를 보면 몇천줄이 넘는데 servlet으로 그걸 생성한다고 치면 out.println()해서 몇천줄을 다 적는 그런짓은 너무 비효율적이기 때문에 나온 방법
서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다
JSP 가 실행되면 자바 JSP 코드를 보면 서블릿에서 편리한 데이터 처리, DB 통신, 비즈니스 호출 부분이 불편하지만, HTML 코드 안에 Java 코드를 껴넣는 것이므로 View 역할을 맡기 적합합니다.
Servlet
서블릿이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술
웹을 만들때는 다양한 요청(Request)과 응답(Response)이 있기 마련이고 이 요청과 응답에는 규칙이 존재
이러한 요청과 응답을 일일이 처리하려면 굉장히 힘들기에 나온 기술이 바로 Servlet
JAVA코드 안에 HTML 코드
서블릿은 이러한 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 기술
서블릿 코드를 보면 HTML 코드를 넣는다는 부분만 불편하지, 데이터를 읽고 가져와서 DB와 통신하고 비즈니스 로직을 호출하는 부분은 편리하다. 그래서 서블릿은 Controller 역할을 맡기 적합
JSP와 Servlet은 완전 다른 개념이 아니며, Servlet을 사용해 웹을 만들 경우 화면 인터페이스 구현이 워낙 까다로운 단점을 보완하기 위해 만든 스크립트 언어가 JSP
즉, 각자의 특화된 분야가 있으므로 둘을 합치고 각자의 업무를 분담하면 훨씬 효율적인 프로그램이 됨
==> MVC 패턴 적용 가능
** MVC(Model, View, Controller) 패턴
MVC 패턴은 하나의 서블릿이나 JSP로 처리하던 것을 컨트롤러와 뷰, 모델 영역으로 역할을 나눈 것
컨트롤러는 HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행합니다. 그리고 뷰에 전달할 결과 데이터를 조회해서 모델에 담습니다.
모델은 뷰에 출력할 데이터를 담아둡니다.
뷰는 모델에 담겨있는 데이터를 사용해서 화면에 그리는 일을 하는데, HTML을 생성하는 부분을 생각하시면 되겠습니다.
'CS' 카테고리의 다른 글
Web Architecture에 대해 (0) | 2022.09.15 |
---|---|
[JavaScript] AJAX에 대해 (0) | 2022.09.06 |
HTTP(HyperText Transfer Protocol) (0) | 2022.09.06 |
JavaScript 기본 지식 (0) | 2022.09.02 |
CSS 기본 지식 (0) | 2022.07.05 |