개발
Day 34 - JSP, Servlet
·2분 읽기
이 글은 2026년 04월 17일 작성된 글입니다.
오늘은 JSP와 Servlet의 역할 분리, MVC 구조, 그리고 간단한 웹 프레임워크 흐름까지 정리했다.
1. Rq 도입
req, resp를 직접 다루는 번거로움을 줄이기 위해 Rq를 도입했다.
- request/response 처리 로직을 하나로 묶음
- 코드 가독성과 재사용성 향상
2. JSP로 구구단 구현
JSP에서 Java 코드를 사용해 구구단을 출력했다.
<%
int dan = Integer.parseInt(request.getParameter("dan"));
int limit = Integer.parseInt(request.getParameter("limit"));
%>
<h1><%= dan%></h1>
<% for (int i = 1; i <= limit; i++) { %>
<div>
<%= dan %> * <%= i %> = <%= dan * i %>
</div>
<% } %>- JSP는 HTML 기반으로 작성
- Java 코드 삽입 가능
3. Servlet vs JSP
-
Servlet → Java 중심
-
JSP → HTML 중심
-
역할에 맞게 분리하는 것이 중요
4. JSP 내장 객체
JSP에서 별도 선언 없이 사용할 수 있는 객체들이다.
- request → 요청 정보
- response → 응답 처리
- session → 사용자 관리
- application → 전역 데이터
- out → 출력
5. JSP 문법
<% %>→ Java 코드 실행<%= %>→ 값 출력
6. Model2 (MVC 패턴)
브라우저 → Controller(Servlet) → Model → JSP(View)
- 역할 분리로 유지보수성 향상
7. DispatchServlet (라우팅)
요청 URL에 따라 컨트롤러를 분기한다.
- /usr/article/list
- /usr/member/join
8. View 분리
Controller는 데이터 처리, JSP는 화면 출력 역할을 담당한다.
9. 게시물 리스트 출력
Article 리스트를 화면에 출력하고 최신순(역순)으로 정렬했다.
10. EL(Expression Language)
${article.title}- Java 코드 없이 데이터 출력 가능
11. JSTL 도입
- 반복문, 조건문 처리 가능
- JSP 가독성 개선
12. 테이블 UI 적용
<table border="1">
<thead>
<tr>
<th>번호</th>
<th>내용</th>
</tr>
</thead>
</table>13. 게시물 작성 폼
form을 통해 데이터를 서버로 전달한다.
14. 검색 폼
폼은 URL 파라미터를 생성하는 역할을 한다.
✅ 정리
- Servlet과 JSP를 분리하면 구조가 명확해진다.
- MVC를 적용하면 유지보수와 확장이 쉬워진다.
- EL과 JSTL을 활용하면 JSP 코드가 훨씬 깔끔해진다.