[JAVA]JSP, Servlet(서블릿)의 기본 개념 및 구조

2021. 9. 7. 10:47
반응형

개발도중 기본 개념에대해 혼동하는 경우가 많이 발생해 

remind 하고자 다시한번 정리하고자한다.

 

JSP (java server page)

1. .jsp 인 파일

2. Java Server Page

3. html 문서 안에 자바 언어를 삽입해 사용할 수 있도록 해줌

 

Servlet

1. .java 인 파일

2. 자바의 일반적인 클래스와 동일한 개념

3. 웹을 다룰 수 있도록 해주는 "HttpServlet" 클래스를 상속받은 클래스를 의미함

 

JSP와 Servlet은 완전 다른 개념이 아니며, Servlet을 사용해 웹을 만들 경우 화면 인터페이스 구현이 워낙 까다로운 단점을 보완하기 위해 만든 스크립트 언어가 JSP라고 볼 수 있다.

 

웹 어플리케이션 구조

논리적구조 : WEB , WAS, DB

물리적 구조 : 사용자수 & 서버스펙 & 보안 & 네트워크 구조 등에 따라 맞추어짐

  1. 사용자가 URL(또는 IP)을 통해 WEB 서버를 호출하고 요청사항을 객체(request)에 담아 전송
  2. WEB 서버는 요청 객체(request)를 받아서 바로 처리하거나 어플리케이션 서버(WAS)로 객체 전달
  3. WAS 서버는 요청에 대한 내용과 요청 객체(request)를 받아 적절히 처리 (필요시 DB 작업 진행)
  4. WAS 서버는 처리 후 결과를 응답 객체(response)에 담아 WEB서버로 회신
  5. WEB 서버는 응답 객체(response)를 다시 사용자에게 회신
  6. 사용자의 브라우저는 WEB 서버가 보내준 코드를 해석해 화면을 구성하여 출력

 

 

Servlet / JSP 

1. JSP -> Servlet 파일(.java) 파일로 변환.

2. Servlet 파일로 직접 작성하는 것과 같은 코드로 변환 되며 

 2.1 변환된 서블릿 파일을 다시 컴파일해서 .class 파일로 만든 뒤 실행
 2.2 실행 결과는 자바 언어가 모두 사라진 Html 코드가 됨 
      최종적으로 Html로 변환되어 사용자에게 전달

 

처음 구동할 때는 변환 과정이 한 번 더 있으므로 서블릿보다 느리지만, 첫 구동에서 class 파일을 생성해 두면 두 번째부터는 변환과정 및 컴파일 과정이 없기 때문에 서블릿과 거의 동일하게 작동함

 

흐름도

위와 같은 특징으로 인해 일반적으로 JSP는 화면구성에 사용되고 서블릿은 로직을 수행하는데 사용되는 경우가 많다.

참고로 JSP는 서버에서 모두 처리되어 최종적으로 클라이언트에게는 Html 형식으로 전달되기 때문에 클라이언트단에서 처리가 필요한 동적 처리는 실행할 수 없기떄문에 클라이언트(브라우저)에서 실행되는 동적 처리는 자바스크립트를 통해 처리를 해줌

 

요약

JSP는 java server page의 약자로 자바 기반으로 만들어진 웹 프로그래밍 기술이며

서블릿에 기반하고 있어 jsp가 서블릿 형태로 변환된다.

스크립트릿같은 것도 포함하므로 JAVA , class로 변환 해야함.

한번 컴파일된 JSP는 소스 수정 전까지 다시 컴파일되지 않고 메모리상에 적재된 서블릿으로 처리된다.

JSP소스는 class파일의 _jspService()메소드에 들어가간다.

 

예외 케이스 : 인클루드 된 경우 해당 파일을 변경해주어야한다.

 

 

참조 

https://codevang.tistory.com/191

반응형

BELATED ARTICLES

more