♪ 학습 내용
회원 관리 웹 애플리케이션 구현 ( 서블릿 / JSP ) / MVC 패턴의 필요성
* 회원관리 웹 애플리케이션 - 서블릿
회원 저장소인 MemberRepository는 싱글톤 패턴 적용 --> new 연산자 사용x
서블릿 호출 시 HTML Form을 만들어서 응답!
HTML을 응답하니 HTTP 응답 메시지의 헤더를 다음과 같이 설정해주었다.
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
서블릿 로직을 보면 전송 버튼 눌렀을 때 /servlet/members/save 호출
서블릿만으로 회원 저장 애플리케이션을 구현해보았다.
개발함에 있어 불편했던 점은 w.write()로 HTML 코드를 넣어주어야 했던 거.
즉, 자바 코드를 이용해서 HTML을 만들어내야했다. 매우 불편..!
조금 더 편리하기 위해 등장한 것이 바로 템플릿 엔진( JSP, Thymeleaf, ... )이다.
템플릿 엔진을 이용하면 반대로 HTML 코드에 자바 코드를 넣을 수가 있어 편리하다.
HTML 문서 중 필요한 부분만 자바 코드를 이용해 동적으로 변경할 수 가 있다는 것이다.
템플릿 엔진 중 JSP 는 현재 시점에 다른 템플릿 엔진에게 밀렸지만, 고전도 다뤄봐야하기 때문에
위의 웹 애플리케이션을 JSP를 이용하여 구현해보았다.
* 회원관리 웹 애플리케이션 - JSP
JSP를 이용하기 위해 build.gradle에 다음과 같이 라이브러리를 추가 해줬다.
//문서 첫 줄에서 JSP 파일임을 알린다
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
//JSP 파일 내에서 자바 코드를 사용할 때는 다음과 같이 <%로 둘러싼다
//로직
<% Member member = new Member(); %>
// <%= 는 자바 코드를 출력하기 위한
<%= member.getAge() %>
주목해야할 점은 서블릿과 달리 HTML 코드 중심이고, 부분부분 자바 코드를 입력하였다.
HTML 을 담기에 훨씬 더 편리하다..!!
마찬가지로 HTML 사이에 자바의 for Each 반복문 이용
결론 -
JSP를 사용하니 서블릿으로 개발할 때에 비해 HTML 작업을 깔끔하게 가져갈 수 있었고,
동적 변경이 필요한 부분에만 자바 코드를 이용할 수 있었다.
* 서블릿과 JSP의 한계
JSP를 사용함으로써 서블릿으로만 구현한 애플리케이션의 단점은 어느정도 극복했다.
하지만 JSP 코드를 보면, JSP가 너무 많은 역할( java코드, 리포지토리 등등 )을 하고 있다.
만약 프로젝트가 조금만 더 커진다면? 매우 복잡하고 힘들어질 것이 분명하다.
==> MVC 패턴이 필요한 시점이다.
♪ 다음 학습 내용
서블릿, JSP의 한계를 극복할 MVC 패턴
'Dev > Spring' 카테고리의 다른 글
[Spring MVC 1] MVC 프레임워크 만들기 (1) (0) | 2023.01.25 |
---|---|
[Spring MVC 1] 서블릿/JSP/MVC (2) (0) | 2023.01.24 |
[Spring MVC 1] 서블릿 (4) (0) | 2023.01.15 |
[Spring MVC 1] 서블릿 (3) (0) | 2023.01.14 |
[Spring MVC 1] 서블릿 (2) (0) | 2023.01.13 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!