[Java 풀스택 과정 강의] 3월 23일

부트캠프 일지/Java 풀스택 과정 강의
2026.03.23
※ TIL와는 별개로 적는 개인 일지라서 말은 좀 편하게하는 페이지입니다.
일지이기 때문에 일기의 성격이 더 강합니다.

 

 

MVC

지난 JAVA에서 했던 MVC 패턴과 비슷하다. Servlet MVC를 배웠는데, 여기서 Model은 DAO + VO가, V는 ViewSerlvet을 따로 작성, C는 바로 서블릿이 역할을 하게 된다. 일반적인 V는 JSP로 하게 되지만, 우리는 아직 JSP를 하지 않았기 때문에 Servlet의 out을 통한 직접 출력으로 View를 구현했다.

Member라는 테이블에 대하여 DAO와 VO가 나눠져 있는데, VO는 DTO와 비슷한 역할이라고 생각하면 java의 기본을 이해하는 입장에서 어렵지는 않을 것이다.

그럼 이제 C가 되는 Servlet인데, 우리의 경우는 SelectServlet이라는 것을 통하여 View로 포워딩하여 C를 처리하였다. 따라서 흐름은 다음과 같다.

 

C가 되는 SelectServlet으로 접속을 하면, SelectServlet에서 DAO 객체를 만든다. 그리고 VO(DTO)의 객체를 ArrayList로 만들게 되는데, 여기서 VO의 객체는 dao에 있는 메서드를 사용한다(Select). 참고로 우리는 Read만을 만들었기 때문에 이렇게 되는 것이라, CRUD 각각에는 미세한 차이가 있다. 그렇게 하여 setAttribute()를 이용해 만든 VO 객체 List를 저장, dispatch를 통한 포워딩으로 View로 전달한다. View에서는 getAttribute()로 해당 데이터를 받고 out.println을 이용하여 출력하면 된다.

 

하지만 여기까지 해보면 알 것이다. 이 출력의 양이 많아지면 얼마나 출력이 번거로워지게 되는지. 이 때문에 JSP가 탄생했다.

 

스크립트릿Scriptlet

스크립트릿은 JSP의 핵심으로, JSP 페이지 안에서 자바 코드를 직접 쓸 수 있게 해주는 영역을 의미한다. 지금까지는 자바 코드 안에 println을 통해 HTML을 출력했다면, 스크립트릿은 반대가 된다. 이 스크립트릿에서는 java에서 사용이 가능한 것들을 사용할 수 있다(라이브러리 사용 가능). 따라서 getParameter()나 getAttribute() 같은 데이터 바인딩도 사용할 수 있으며, jsp끼리의 통신도 가능하고, 이것이 주가 된다. 따라서 서블릿을 직접적으로 사용하는 형태는 요즘은 없다고 봐도 무방하다.

 

기본적으로 스크립트릿을 사용하기 위해서는 <% … %> 의 블록을 사용해야 한다. 그 외에도 네 가지의 JSP 기술이 있는데, 다음과 같다.

 

1. <%@ ... %>

JSP 페이지의 '설정'을 담당한다. 서블릿으로 변환될 때 필요한 정보를 전달한다. <%@ page ... %>, <%@ include ... %> 같은 형태로 쓴다.

 

2. <%! ... %>

서블릿의 '멤버 변수'나 '메서드'를 만들 때 사용한다. java 생성자, 메서드 등이 여기에 사용된다고 보면 편하다.

 

3. <% … %>

가장 많이 쓰는 태그로, '자바 로직'을 그대로 실행한다. if나 for문 같은 기본 로직등도 여기서 사용하게 된다.

 

4. <%= ... %>

자바의 변수나 값을 '화면에 출력'할 때 사용한다. = 안에는 주로 변수가 들어간다.