JSP,Servlet 그리고 Jpa....

2026. 6. 20. 18:00·깜지

실습은 따라 하고 있었지만 "지금 내가 무엇을 만들고 있는지" 제대로 이해하지 못하는 순간도 있었다.

특히 JSP와 Servlet의 관계, 그리고 Spring Boot 강의를 찾아보니 등장하는 JPA까지 모두 비슷한 기술처럼 느껴졌다.

그래서 이번 기회에 각 기술의 역할과 관계를 정리해 보려고 한다.


웹 서비스는 대략 이런 흐름으로 동작한다.

사용자가 요청을 보내면 Servlet이 받아 처리하고, 필요한 데이터를 DB에서 가져온 뒤, JSP가 화면을 만들어 사용자에게 돌려준다. 
 

1. Servlet이란?

Servlet은 웹 요청을 처리하는 Java 프로그램이다. 사용자가 URL에 접속하거나 버튼을 누르면 가장 먼저 요청을 받아 처리하는 역할을 담당한다. 사용자와 서버 사이의 '중간 관리자'라고 할 수 있다.

 
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    protected void doGet(
        HttpServletRequest request,
        HttpServletResponse response
    ) {
        System.out.println("요청 들어옴");
    }
}

사용자가 localhost:8080/hello에 접속하면 이 Servlet이 실행된다.


2. JSP란?

JSP(Java Server Pages)는 화면을 출력하기 위한 기술이다. 사용자에게 보여지는 HTML을 생성하는 역할을 담당한다.

 
<h1>게시판</h1>
<%= "안녕하세요" %>

실제 게시판에서는 데이터를 반복 출력하는 경우가 많다.

<c:forEach var="b" items="${list}">
    ${b.subject}
</c:forEach>

JSP와 Servlet의 관계

처음 공부할 때 가장 헷갈렸던 부분이다. 사실 JSP는 내부적으로 Servlet으로 변환되어 실행된다.

즉 JSP = 화면 출력을 위한 Servlet이라고 이해하면 쉽다.


3. JPA란?

JPA(Java Persistence API)는 Java 객체와 데이터베이스를 연결해 주는 기술이다.

예전 방식(JDBC)에서는 SQL을 직접 작성해야 했다.

 
 
java
String sql = "select * from board";

반면 JPA를 쓰면 객체 중심으로 개발할 수 있다.

 
 
java
boardRepository.findAll();

JPA가 중간에서 SQL을 자동으로 생성하고 실행해 준다.

 

흐름으로 동작한다.
정리하면서 내가 JPA를 몰랐던이유가 있었는데 난 JDBC 방식을 쓰고있기 때문이다. 
이거에 대해서도 한 번 정리해야겠다.

'깜지' 카테고리의 다른 글

포크(Fork)와 클론(Clone)  (5) 2025.08.18
'깜지' 카테고리의 다른 글
  • 포크(Fork)와 클론(Clone)
구름빵_
구름빵_
일어나 봐, 밖에 비가 와
  • 구름빵_
    알파카가된 구름빵
    구름빵_
  • 전체
    오늘
    어제
    • 분류 전체보기 (8)
      • Tools (1)
        • git (1)
      • Frontend (0)
        • HTML (0)
        • CSS (0)
        • JavaScipt (0)
        • React (0)
      • 메일매일 (3)
      • 깜지 (2)
      • 트러블슈팅 (1)
      • 포텐데이 (0)
      • 부트캠프 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    jpa
    매일메일
    AX세미나
    메일매일
    react
    리액트 입력 관리
    서울시여성가족재단
    코드 스플리팅
    uncontrolled component
    Component
    approuter
    브라우저 렌더링
    TypeScript
    렌더링 파이프라인
    리액트
    controlled component
    프론트엔드 면접
    트러블슈팅
    nextjs
    동적라우트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
구름빵_
JSP,Servlet 그리고 Jpa....
상단으로

티스토리툴바