JPA와 JSP의 차이

별빛사막·2025년 1월 6일

1. "DB통역사" JPA?

JPA (Java Persistence API)는 자바 객체와 관계형 데이터베이스를 매핑하는 API

  1. 목적: 자바 객체와 DB 간의 매핑 관리, 데이터베이스 작업을 객체 지향적으로 처리한다.

  2. 기술 유형: ORM(Object-Relational Mapping) 기술로, 자바 객체와 데이터베이스의 테이블을 자동으로 매핑한다.

  3. 사용 위치: Service계층에서 DB와 상호작용할 때 사용된다.

  4. 주요 기능: CRUD 작업을 처리하고, SQL 없이 객체 지향적으로 데이터베이스 작업을 할 수 있다.
    ex. @Entity, @Id 어노테이션을 사용하여 자바 객체를 DB 테이블과 연결한다.


2. "커스텀 요리사" JSP란?

JSP (JavaServer Pages)는 웹 서버에서 동적으로 HTML 페이지를 생성하는 기술

  1. 목적: 서버 측에서 동적으로 HTML을 생성하여 클라이언트에게 전달한다.

  2. 기술 유형: 서버 측 웹 템플릿 기술로, HTML에 자바 코드를 삽입해 동적 콘텐츠를 만든다.

  3. 사용 위치: 주로 웹 애플리케이션의 뷰 레이어에서 사용된다.

  4. 주요 기능: HTML, CSS, JavaScript와의 통합을 통해 동적 페이지를 생성한다.

ex. <p>이름: <%= ((User)request.getAttribute("user")).getName() %></p>

물론입니다! 예시 대신 다른 개념을 채운 표로 수정해 보겠습니다.

JPA와 JSP의 차이점

구분JPA (Java Persistence API)JSP (JavaServer Pages)
목적DB와 자바 객체 간의 매핑 관리서버에서 동적으로 HTML 페이지 생성
기술 유형ORM 기술서버 측 웹 템플릿 기술
사용 위치데이터베이스와의 상호작용을 처리하는 비즈니스 로직 계층웹 애플리케이션의 뷰(View) 계층
주요 기능객체를 DB 테이블과 매핑하고 CRUD 작업을 자동화HTML 내에 자바 코드를 삽입하여 동적인 콘텐츠 생성
장점SQL 없이 객체 지향적인 데이터베이스 작업 가능자바와 HTML을 결합하여 효율적인 웹 페이지 생성
단점DB 관련 작업만 처리하므로 UI 생성은 불가서버에 부담을 주고, 복잡한 로직 처리가 어려움

JSP와 타임리프와의 관계

JSP (JavaServer Pages)와 Thymeleaf는 둘 다 웹 애플리케이션에서 동적 웹 페이지를 생성하는 템플릿 엔진임.

구분JSP (JavaServer Pages)Thymeleaf
목적HTML 페이지 내에 자바 코드를 삽입하여 동적 콘텐츠 생성HTML 파일을 서버에서 동적으로 처리하여 출력
기술 유형서버 측 템플릿 엔진서버 측 템플릿 엔진, 주로 Spring과 함께 사용
문법<%= ... %>와 같은 자바 코드를 HTML 내에 삽입th:* 속성 등을 사용하여 HTML을 처리
사용 위치JSP 페이지에서 자바 코드와 HTML을 결합HTML 파일 내에서 서버 로직과 데이터를 처리
장점자바 코드와 HTML을 직관적으로 결합 가능HTML 파일을 그대로 열어서 작업할 수 있어 가독성이 좋고 유지보수가 용이
단점자바 코드와 HTML이 섞여 있어 코드 유지보수가 어렵다일부 복잡한 기능에서는 자바 코드와의 분리가 어려울 수 있다
주요 사용처주로 오래된 시스템이나 JSP 기반 애플리케이션Spring Boot 및 현대적인 웹 애플리케이션에서 주로 사용

JSP와 Thymeleaf는 동적인 웹 페이지를 생성하는 목적이 같지만, Thymeleaf는 HTML 파일을 더 깔끔하게 처리할 수 있으며, Spring과 잘 통합되어 현재 웹 개발에 선호되고 있다.

profile
조금씩 매일 성장하자

0개의 댓글