본문 바로가기
Web

서블릿 , JSP , 4가지 scope

by hunbal 2023. 2. 22.
SMALL

서블릿(Servlet)과 JSP(JavaServer Pages)는 웹 애플리케이션 개발을 위한 Java 기반 기술입니다.

서블릿

클라이언트로부터 요청을 받아, 해당 요청을 처리하는 자바 클래스입니다.

웹 애플리케이션 서버에서 실행되며, HTTP 프로토콜을 기반으로 동작하며,

서버에서 클라이언트로 데이터를 전송하는 작업을 수행합니다.

 

서블릿의 역할로는

  • HTTP 요청 처리
  • HTTP 응답 생성
  • 데이터베이스 연동
  • 파일 업로드

주로 비즈니스 로직과 프로세싱을 수행합니다. Servlet API를 사용하여 Servlet을 개발할 수 있으며, Servlet은 Java 클래스로 작성되어 웹 애플리케이션 서버에서 동작합니다.


JSP

HTML을 기반으로 하는 웹 페이지를 동적으로 생성하기 위한 기술입니다.

HTML 코드 내에 Java 코드를 삽입하여, Java 코드를 실행하고 결과를 HTML 페이지에 표시할 수 있습니다.

JSP는 Java 코드 내에서 HTML을 출력하는 것이 아니라, HTML 코드 내에서 Java 코드를 실행하여,

동적인 HTML 페이지를 생성합니다.

 

JSP의 역할로는

  • HTML 페이지와 Java 코드를 분리하여 작성 → 개발 생산성 상승
  • HTTP 요청 처리          /*
  • 데이터베이스 연동       서블릿과 동일
  • 파일 업로드                                         */

JSP는 JSP API를 사용하여 JSP를 개발할 수 있으며, JSP는 서버에서 컴파일되어 Servlet으로 변환되고, 웹 애플리케이션 서버에서 실행됩니다.


따라서, 서블릿과 JSP는 모두 웹 애플리케이션 개발을 위한 Java 기반 기술이지만

서블릿은 주로 비즈니스 로직 처리와 데이터 처리 등의 작업을 수행하고,

JSP는 HTML 코드와 Java 코드의 분리 및 HTML 페이지 동적 생성 등의 작업을 수행합니다.

이러한 두 기술을 함께 사용하여 웹 애플리케이션을 개발할 수 있습니다.


4가지 스코프(scope) 속성

JSP와 Servlet에서 변수의 유효 범위를 결정하는 데 사용됩니다.

이 속성은 변수의 값이 언제나 사용 가능한지를 나타냅니다.

스코프는 다음과 같이 4가지 유형이 있습니다.

1.page scope

  • 페이지 스코프 변수는 현재 JSP 페이지 내에서만 사용 가능합니다.
  • JSP 페이지 내의 어떤 코드에서도 변수에 액세스할 수 있지만, 다른 JSP 페이지에서는 액세스할 수 없습니다.
  • 페이지 스코프 변수는 JSP 페이지가 처리될 때 생성되고, 페이지 처리가 완료될 때 제거됩니다.

2.request scope

  • 요청 스코프 변수는 현재 요청 내에서만 사용 가능합니다.
  • 변수는 다른 JSP 페이지에서 액세스할 수 없으며, 동일한 요청 내에서만 사용 가능합니다.
  • 요청 스코프 변수는 클라이언트가 요청을 보낼 때 생성되고, 요청이 처리되면 제거됩니다.

3.session scope

  • 세션 스코프 변수는 현재 사용자 세션 내에서만 사용 가능합니다.
  • 변수는 다른 사용자의 세션에서는 액세스할 수 없으며, 해당 사용자의 세션 내에서만 사용 가능합니다.
  • 세션 스코프 변수는 사용자가 로그인할 때 생성되고, 로그아웃하거나 세션이 만료되면 제거됩니다.

4.application scope

  • 애플리케이션 스코프 변수는 웹 애플리케이션 전체에서 사용 가능합니다.
  • 변수는 모든 사용자 세션에서 액세스할 수 있으며, 웹 애플리케이션이 실행되는 동안 계속해서 사용할 수 있습니다.
  • 애플리케이션 스코프 변수는 웹 애플리케이션이 시작될 때 생성되고, 종료될 때 제거됩니다.

각 스코프는 변수의 사용 가능 범위를 다르게 설정하므로, 애플리케이션의 성능과 보안을 고려하여 적절한 스코프를 선택해야 합니다. 예를 들어, 사용자별로 개별적인 데이터를 저장해야 하는 경우에는 세션 스코프를 사용하고, 전역적으로 공유되어야 하는 데이터의 경우에는 애플리케이션 스코프를 사용하는 것이 좋습니다.

'Web' 카테고리의 다른 글

RESTful API  (0) 2023.02.22
sendRedirect / forward 방식  (0) 2023.02.22
요청객체 , 응답객체  (0) 2023.02.22
XMLHttpRequest  (0) 2023.02.07
Ajax  (0) 2023.02.07

댓글