JSP
JSP 완전 정복: 자바 웹 개발자가 꼭 알아야 할 서버 사이드 기술
로기221
2025. 5. 23. 23:32
728x90
반응형
JSP(JavaServer Pages)란? 웹 개발자가 꼭 알아야 할 서버 사이드 기술
안녕하세요!!!!
오늘은 자바 웹 개발을 시작하는 분들이라면 한 번쯤은 들어봤을 "JSP(JavaServer Pages)"에 대해 쉽고 자세하게 정리해보려고 합니다. JSP는 Java 기반 웹 개발에서 오랜 시간 사랑받아온 기술로, 동적인 웹 페이지를 만드는 데 핵심적인 역할을 해왔습니다.
JSP란 무엇인가요?
JSP는 Java 언어를 기반으로 한 서버 사이드 웹 프로그래밍 기술입니다. 쉽게 말해, HTML 코드 안에 Java 코드를 섞어 넣어 동적으로 웹 페이지를 생성할 수 있게 해주는 도구입니다. 사용자가 웹 브라우저로 JSP 페이지를 요청하면, 서버에서는 해당 JSP 파일을 읽어 Java 서블릿(Servlet)으로 변환하고, 그 결과로 만들어진 HTML을 브라우저에 전달합니다.
JSP의 동작 원리, 한눈에 보기
- 브라우저에서 JSP 페이지 요청
- 서버(WAS, 예: Tomcat)에서 JSP를 서블릿(Java 코드)으로 변환
- 서블릿을 컴파일해서 실행
- 실행 결과로 HTML 생성 → 브라우저로 전송
최초 요청 시에만 변환/컴파일이 일어나고, 그 이후에는 이미 만들어진 서블릿 클래스를 재사용하니 성능 걱정은 덜어도 됩니다.
JSP의 주요 특징
- HTML과 Java의 만남: HTML에 Java 코드를 자유롭게 삽입할 수 있어, 동적인 웹 페이지 제작이 쉽습니다.
- 서버에서 실행: JSP는 서버에서 실행되고, 브라우저에는 완성된 HTML만 전달됩니다.
- 자동 서블릿 변환: JSP 파일은 자동으로 서블릿으로 변환되어 실행되기 때문에, 복잡한 자바 코드를 직접 다루지 않아도 됩니다.
- 확장자: .jsp 확장자를 사용합니다.
JSP의 기본 문법과 태그
태그 | 종류 | 예시설명 |
지시자 | <%@ page ... %> | 페이지 속성, import, 인코딩 등 설정 |
선언 | <%! ... %> | 멤버 변수, 메서드 선언 (클래스 영역) |
스크립틀릿 | <% ... %> | 실행 코드(제어문, 변수 등) |
표현식 | <%= ... %> | 값을 출력(브라우저에 표시) |
JSP 주석 | <%-- ... --%> | JSP 전용 주석(브라우저에 보이지 않음) |
예시 코드
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<html>
<head><title>JSP 예제</title></head>
<body>
<%-- JSP 주석입니다 --%>
<%! int count = 0; %>
<%
count++;
%>
<p>방문자 수: <%= count %></p>
</body>
</html>
JSP와 서블릿, 뭐가 다를까?
구분 | JSP | 서블릿 |
작성 방식 | HTML 중심, Java 코드 삽입 | Java 코드 중심, HTML 생성 |
가독성 | HTML 위주라 가독성 높음 | Java 위주라 HTML 작성이 불편 |
변환 과정 | JSP → 서블릿 → 컴파일 → 실행 | 바로 컴파일 후 실행 |
주 용도 | 화면(View) 구현에 적합 | 로직 처리, 데이터 연동에 적합 |
JSP의 활용 예시
- 로그인/회원가입 등 동적인 데이터 처리
- 데이터베이스 연동 정보 출력
- 다양한 웹 서비스의 프론트엔드(View) 구현
마무리하며
JSP는 자바 웹 개발의 기본이자, MVC 패턴에서 View 역할을 담당하는 중요한 기술입니다.
최근에는 유지보수성과 생산성을 높이기 위해 JSTL, EL, 그리고 스프링 프레임워크의 템플릿 엔진 등과 함께 사용되거나 대체되는 경우도 많지만, JSP의 기본 개념을 이해하는 것은 여전히 큰 도움이 됩니다.
728x90
반응형