본문 바로가기
교재 실습/자바 웹 개발 워크북

13. 서블릿, JSP vs. Java EE vs. WAS

by Jint 2022. 1. 8.

- Java EE와 서블릿, JSP

Java EE(Java Platform, Enterprise Edition)는 기능 확장이 쉽고, 이기종 간의 이식이 쉬우며, 신뢰성과 보안성이 높고, 트랜젝션 관리와 분산 기능을 쉽게 구현할 수 있는 기술을 제공한다. Java EE 기술 사양은 한 가지 기술을 정의한 것이 아닌 기업용 애플리케이션과 클라우드 애플리케이션 개발에 필요한 여러 가지 복합적인 기술들을 정의하고 모아 놓은 것이다. 기술의 발전과 업무 환경의 변화에 따라 현재도 계속 버전이 올라가며 새로운 기술이 추가되고 있다. Java EE의 하위 기술들 중 서블릿과 JSP를 비롯한 기술들에도 버전이 있다.

Servlet API history

참고링크 : https://en.wikipedia.org/wiki/Jakarta_Servlet

 

Jakarta Servlet - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Jakarta EE programming language class A Jakarta Servlet (formerly Java Servlet) is a Java software component that extends the capabilities of a server. Although servlets can respond to

en.wikipedia.org

 

하지만 현재 사용하는 JDK 버전은 17이라서 여기에 맞는 서블릿 버전을 찾아보다가

참고링크 : https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6

 

A Java 17 and Jakarta EE 9 baseline for Spring Framework 6

<p>As announced at SpringOne yesterday, Spring Framework 6 and Spring Boot 3 are planned towards a high-end baseline for their general availability in Q4 2022:</p> <ul> <li><strong>Java 17+</strong> (from Java 8-17 in the Spring Framework 5.3.x line)</li>

spring.io

이 홈페이지에서 버전에 대해 추론할 수 있는 정보를 얻었다. Platfrom이 Jakarta EE 9인 것을 보니 Jakarta Servlet 5.0 버전인 것 같다(정확한 정보가 아닌 추측이다).

 

Java EE 기술 중 서블릿, JSP는 웹 기반 클라이언트·서버 기술을 정의하고 있다. 따라서 자바로 웹 애플리케이션을 개발한다는 것은 이 서블릿, JSP 기술을 사용하여 애플리케이션을 개발한다는 것을 말한다. 

 

- WAS

클라이언트·서버 시스템 구조에서 서버 쪽 애플리케이션의 생성과 실행, 소멸을 관리하는 프로그램을 '애플리케이션 서버(Application Server)'라고 한다. 또 이전에 봤던 서블릿 컨테이너와 같이 웹 기술을 기반으로 동작되는 애플리케이션 서버를 'WAS(Web Application Server)'라고 한다.

 

특히 Java에서 말하는 WAS란, Java EE 기술 사양을 준수하여 만든 서버를 가리키는데 'Java EE 구현체(Implementation)'라고도 한다. 상용 제품으로는 티맥스소프트의 제우스(JEUS), 오라클의 웹로직(WebLogic), IBM의 웹스피어(WebSphere), 레드햇의 제이보스 엔터프라이즈(JBoss Enterprise) 등이 있다. 무료 또는 오픈 소스로는 레드햇의 제이보스 AS, 오라클의 GlassFish, 아파치 재단의 Geronimo 등이 있다.

 

Java EE 기술 중에서 서블릿, JSP 등 웹 관련 부분만 구현한 서버도 있는데 이런 서버를 '서블릿 컨테이너' 또는 '웹 컨테이너'라고 부른다. 아파치 재단의 톰캣, Caucho의 Resin, 오픈 프로젝트 Jetty 등이 있다.

 

서블릿이나 JSP 프로그래밍을 할 때는 사용하는 제품의 버전에 맞춰 API를 사용하면 된다. 즉 사용하는 WAS가 어떤 버전의 Java EE 구현체인지 또는 서블릿 컨테이너인지 확인하며 그 버전에 맞는 API를 사용한다.

 

참고도서 : https://freelec.co.kr/book/1674/

 

[열혈강의] 자바 웹 개발 워크북

[열혈강의] 자바 웹 개발 워크북

freelec.co.kr

'교재 실습 > 자바 웹 개발 워크북' 카테고리의 다른 글

15. 서블릿 만들기 (1)  (0) 2022.01.09
14. 웹 프로젝트 준비  (0) 2022.01.08
12. CGI프로그램과 서블릿  (0) 2022.01.07
11. 파일 업로드  (0) 2022.01.06
10. POST 요청  (0) 2022.01.05

댓글