웹 개발을 하다 보면 정적인 HTML 페이지뿐만 아니라 동적인 웹 페이지를 만들어야 할 때가 많습니다. 예를 들어, 로그인 기능, 게시판, 쇼핑몰의 장바구니 같은 기능을 구현하려면 서버에서 데이터를 처리하고, 결과를 사용자에게 보여주는 동적인 웹 페이지가 필요합니다.
이때 사용할 수 있는 기술 중 하나가 JSP(Java Server Pages)입니다. JSP는 Java 기반의 서버 측 웹 기술로, HTML과 Java 코드를 함께 사용할 수 있도록 설계되었습니다.
1. JSP(Java Server Pages)란?
JSP는 Java 기반의 서버 측 웹 기술로, HTML 코드 안에 Java 코드를 삽입하여 동적인 웹 페이지를 생성할 수 있도록 해줍니다.
2. JSP의 주요 특징
✅ 1) HTML + Java 코드 사용 가능
JSP는 HTML 코드 안에 Java 코드를 넣을 수 있어 웹 페이지를 동적으로 생성할 수 있습니다.
✅ 2) 서블릿(Servlet) 기반
JSP는 내부적으로 서블릿(Servlet) 으로 변환됩니다. 즉, JSP 파일이 실행될 때 서버는 해당 JSP 파일을 서블릿으로 변환한 후 실행합니다.
✅ 3) 세션 및 데이터베이스 연동 가능
JSP를 사용하면 사용자의 세션 정보를 유지하거나 데이터베이스와 연동하여 데이터 처리가 가능합니다.
3. JSP 기본 문법
1) 지시어(Directive)
JSP 페이지의 설정을 정의하는 역할을 합니다.
- language="java" : 사용 언어(Java)
- contentType="text/html; charset=UTF-8" : 응답 데이터 타입
- pageEncoding="UTF-8" : 페이지 인코딩
2) 스크립트릿(Scriptlet)
Java 코드를 작성할 수 있는 영역입니다.
3) 표현식(Expression)
JSP에서 값을 출력할 때 사용합니다.
3. JSP를 사용할때의 순서
- 피자를 주문하는 페이지를 만든다고 가정했을 때의 순서는 다음과 같습니다.
1️⃣ 피자 주문 페이지 (JSP)
👉 사용자가 피자를 선택하고 정보를 입력하는 페이지
2️⃣ 주문 요청 (Form 전송)
👉 사용자가 입력한 데이터를 서버로 전송
3️⃣ 주문 요청 처리 (서블릿)
👉 데이터를 받아서 처리하고, 결제 페이지로 이동
4️⃣ 피자 결제 페이지 (JSP)
👉 주문 정보를 사용자에게 보여줌
피자 주문 페이지 (pizzaOrderForm.jsp) → 주문 요청 (폼 제출) → 주문 처리 서블릿 (PizzaServlet.java) → 피자 결제 페이지 (piezzaPayment.jsp)
- 이때 서블릿 컨테이너가 해당 프로젝트의 비즈니스 로직을 수행하는 서비스 역할을 합니다. (JAVA MVC 패턴 참고)
- 서블릿 컨테이너에서 컨테이너는 코드가 수행할 수 있는 '환경' 을 의미합니다.
4. 매핑 (Mapping)
주문페이지에서(클라이언트) 서블릿(서버)으로 요청을 할 때, 우리는 서블릿에 매핑을 꼭 해줘야 합니다.
이때 어노테이션 매핑을 해주는데, 이클립스에서 Java EE 6부터는 @WebServlet 어노테이션을 사용하여 서블릿 매핑을 할 수 있습니다.
'Server' 카테고리의 다른 글
[SERVER]JSP 게시판 프로젝트 흐름 정리 (0) | 2025.02.27 |
---|---|
[JSTL] JSTL 라이브러리 설치파일 및 적용방법 (0) | 2025.02.24 |
[EL] EL이 무엇일까? (0) | 2025.02.24 |
[SERVER] GET 방식과 POST 방식이란? (0) | 2025.02.21 |
[Server] Java에서 웹 서버를 사용하는 방법에 대해 알아보자! (0) | 2025.02.20 |