공부 순서
1. Servlet
자바를 사용하여 웹페이지를 동적으로 생성하는 서버 측 프로그램이다.
-> 서블릿이라는 기술 만으로도 자바 웹 프로그램을 만들 수 있다.
하지만 서블릿만 사용할 경우 HTML 출력이 상대적으로 어렵다는 문제가 있다.
위에 사진과 같이 PrintWrite의 객체를 통해 브라우저에서 보일 HTML을 출력하는 방법이 있다.
하지만 HTML 코드가 1000, 10000 줄이 된다면 유지 보수가 매우 어려울 것이다.
2. JSP
JSP는 "JAVA Server Pages"의 각 첫 자로 만들어진 용어이며 사전적인 의미로 해석하면 자바로 작성한 서버 페이지로 해설될 수 있습니다.
여기서 "자바"는 우리가 알고 있는 언어 자바를 뜻하므로 JSP의 기본 문법은 자바를 근거로 한다는 것을 알 수 있습니다. 그리고 "서버 페이지"는 서버에서 실행되는 페이지로 바꿀 수 있습니다.
JSP를 사용하면 페이지를 서버에서 동적으로 만들어 줄 수 있다.
하지만 JSP를 사용하면 html 태그 안에 java 코드가 섞이게 되어 복잡해 보이는 경향이 있다.
java를 HTML에서 사용하려면 "<& &>" 등 4가지 코드 블록을 넣어줘야 해서 복잡해 보인다.
이를 개선한 것이 JSP MVC이다.
3. JSP MVC
JSP MVC는 JSP 파일에 MVC 패턴을 적용해 java 코드 블록을 최소화할 수 있다.
MVC 패턴을 적용해 jsp 파일 내에서 입력과 출력 코드를 나누어 관리하는 것이다.
- MVC 패턴에 각각 요소는 무엇을 담당하는가?
Controller :입력과 제어를 담당
Model : 출력 데이터
View : 출력 담당
MVC에도 크게 model 1 방식과 model 2 방식이 있다.
- model 1 방식
컨트롤러와 모델이 뷰(jsp)와 물리적으로 분리가 되지 않는 방식
- model 2 방식
컨트롤러와 모델을 뷰(jsp)와 물리적으로 분리하는 방식
model 2에서도 dispatcher를 집중화 하기 전 모델과 집중화 한 이후 모델로 나뉘는데
추후에 다루겠다.
4. Spring MVC
보통 MVC 패턴을 기반으로 Spring Framework를 사용해 웹 애플리케이션을 만드는 것을 의미한다.
왜 웹 서버 프로그램을 Servlet이라고 부르는 걸까??
Server + let (작은 것) =>
웹 서버 프로그램 전체에서 작은 일부가 실행되는 것을 의미하기 때문이라고 생각한다.
예를 들어 회원가입, 회원 목록 가져오기 등 여러 API가 있는데
서버는 각각 API에 해당하는 서블릿만 실행하고 나머지 서블릿들은 실행될 필요가 없기 때문이다.
'Servlet, JSP' 카테고리의 다른 글
Hello Servlet! 만들어보기 (IDE 없이) (0) | 2021.01.03 |
---|---|
Apache Tomcat 설치하기 - Windows 10 (1) | 2021.01.02 |
자바 8 설치 - 윈도우 (1) | 2021.01.02 |
Apach Tomcat (아파치 톰캣)이란?? (0) | 2021.01.02 |
톰캣에 여러 Context 사이트 추가하기 (0) | 2021.01.01 |