본문 바로가기
Develop/Java Server Page

서블릿의 태동

by jaekk 2018. 8. 16.

http://naver.me/xgYmrhYM



초창기의 자바 프로그램

-애플릿

웹브라우저 내에서 실행

웹브라우저내에 포함된 JVM에서 실행

특징

1) local file system에 접근 불가

2) network상의 다른 시스템 접근 불가

3) 새로운 프로그램 시작 불가

위의 것들이 가능하다면 악의적으로 사용자 HARD 뒤지기가 가능-> 보안을 목적으로 제한

단점

1) 프론트 엔드를 애플릿으로 만들면 크기가 커져 속도 저하 발생

2) 애플릿이 다른 시스템에 접근하지 못하여하므로 애플릿이 존재하는 웹서버에 DBMS도 함께 존재해야함

    -> 서버의 큰 로드

========> 서블릿 탄생


-애플리케이션

보통의 애플리케이션

운영체계에 설치된 JVM에서 실행(JAVA Runtime을 인스톨하면 설치되는 JVM)




서블릿

JVM을 클라이언트에 두지 않고 웹서버에 두는 데서 출발한 개념

1) 애플릿처럼 클라이언트 쪽 웹 브라우저로 건너가서 실행될 필요없이 웹서버에서 바로 실행, 결과만 보내면 되므로 네트워크상에서도 원활히 사용 가능

2) 서버에서 실행되므로 보안 걱정 없음


동작 방식

1) 클라이언트의 요청 추출

2) 요청을 바탕으로 연산 수행 및 DB 연동

3) 결과를 out.println("")으로 클라이언트로 전송


그러나 3단계에서 지저분한 코드 발생-> ASP 나 PHP 발생

ASP, PHP : html 내 바뀔 데이터만 <% %>로 표현

서버측 스크립트 방식으로 서버에 있는 JVM을 활용한 JAVA기반임


동작 방식-2

1) 서블릿이 서버의 메모리로 읽힌 후 자바 객체 형태(바이트코드, bytecode)로 메모리내에 존재

2) 최초 한번만 instantiate되어 해당 JSP 파일을 여러번 컴파일 할 필요 없음-> 속도 저하 최소화 시킴



댓글