Day 34 - JSP, Servlet

haxxru log;·2026년 4월 17일
post-thumbnail

이 글은 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 코드가 훨씬 깔끔해진다.

0개의 댓글