반응형
인터넷과 웹의 개요
웹의 동작 원리 : 클라이언트/서버 방식
가장 널리 쓰이는 웹서버
- 아파치 (Apache)
- 톰캣 (Tomcat)
- IIS (Internet Information Server)
정적 웹 페이지와 동적 웹 페이지
정적 웹페이지
- 컴퓨터에 저장된 텍스트 파일을 그대로 보는 것
- HTML
동적 웹페이지
- 저장된 내용을 다른 변수로 가공, 처리해서 보는 것
- PHP, ASP, JSP
웹 서버(Web Server)
- HTTP 프로토콜을 이용하여 클라이언트(웹 브라우저)의 요청을 받아 HTML이나 오브젝트를 전송
- 클라이언트의 요청 중 웹 서버 자체적으로 처리할 수 없는 것은 컨테이너처럼 처리할 수 있는 곳으로 넘겨 처리
웹 컨테이너(Web Container)
- 웹 컨테이너는 JSP와 서블릿을 실행할 수 있는 프로그램(서블릿 컨테이너)
- 웹 서버에서 JSP를 요청하면 TOMCAT에서는 JSP파일을 서블릿으로 변환하여 컴파일을 수행 → 서블릿 수행결과 → 웹서버전달
웹 애플리케이션 서버(Web Application Server)
- 웹에서 사용하는 컴포넌트를 올려놓고 사용하는 서버를 웹 애플리케이션 서버
서블릿과 JSP
웹 프로그래밍 언어
- Client Side Web Programming Language : JavaScript
- Server Side Web Programming Language : PHP, C#&ASP.net , Python, JSP&Servlet
JSP (Java Server Pages/Jakarta Server Pages)
- 자바 언어를 기반으로 하는 스크립트 언어
- HTML 내에 자바 코드를 삽입해 동적으로 웹 페이지를 생성해 브라우저에 전달하는 서버측 스크립트 언어
JSP 특징
- 서블릿 기술 확장
- 유지, 관리에 용이
- 빠른 개발 가능 (내장 객체를 기본으로 제공 )
- 코드 길이가 줄어듦
JSP의 동작 과정
처음에 동작할때만 속도가 느리지만, 이후의 속도는 빠르다.
JSP의 생명 주기
서블릿(Servlet)
- 자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 웹 프로그래밍
- 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종
- 자바 코드 안에 HTML을 포함
서블릿 특징
- 이식 가능
- 효율적, 확장 가능
- 견고함
서블릿 페이지의 동작 과정
서블릿의 생명 주기
웹서버와 통합 개발 환경 설치
Servlet Spec | JSP Spec | |||
---|---|---|---|---|
Tomcat 9.x | JDK8 | JAVA EE(import javax.*) | 4.0 | 2.3 |
Tomcat 10.0.x | X | 5.0 | 3.0 | |
Tomcat 10.1.x | JDX 11 | JakartaEE(라이브러리 명을 변경) | ||
(import jakartax.*) | 6.0 | 3.1 | ||
Tomcat 11.x | JDK 17 | 6.1 | 4.0 |
톰캣 버전에 따른 주의사항
- 톰캣 9버전 이하를 사용하는 경우
기존 자바EE의 API 패키지명은 javax.을 그대로 사용하면 되고, 기존 제공되는 자바 라이브러리 (.jar)도 그대로 사용하면 된다.
- 톰캣 10버전 이상을 사용하는 경우
기존 자바EE의 변경된 자카르타EE의 API 패키지명은 Jakarta.을 사용하므로 기존의 API 패키지명 javax.을 jakarta.로 변경해야 하고, 기존에 제공되는 자바 라이브러리(.jar)를 마이그레이션하여 사용해야 한다.
반응형