본문 바로가기

컴퓨터공부/JSP

스프링 입문을 위한 자바 객체 지향의 원리와 이해 (5)[책리뷰 & Book review]

by Life & study 2024. 1. 27.
반응형

스프링 입문을 위한 자바 객체 지향의 원리와 이해 (5)

[책리뷰 & Book review]

JSP  웹서버의 작동원리를 그림으로 파악하기

 

 



✨작동순서

1.클라이언트가 JSP 요청 Hello.jsp

--------------------------------
JSP 컨테이너 안에 작동

2.jsp 페이지 Hello.jsp

3.(번역)작동
4.서블릿 프로그램 Hello.jsp.java

5.(컴파일)작동
6.서블릿 클래스 Hello.class

 

 

 

 

 

 

JSP 서버사이드 스크립트언어의 동작 원리

JSP(Java Server Pages)는 동적 웹 콘텐츠를 생성하는 데 사용되는 서버 사이드 스크립트 언어입니다. 

JSP 페이지는 요청이 발생할 때 Servlet으로 변환(번역)되고 컴파일된 후 실행됩니다.

이 과정은 대략 아래와 같습니다:

 

✨ 작동원리

1.클라이언트가 JSP 요청 Hello.jsp

--------------------------------
JSP 컨테이너 안에 작동

2.jsp 페이지 Hello.jsp

3.(번역)작동
4.서블릿 프로그램 Hello.jsp.java

5.(컴파일)작동
6.서블릿 클래스 Hello.class

 



클라이언트가 Hello.jsp라는 JSP 페이지를 요청합니다.

 이 요청은 주로 HTTP 프로토콜을 통해 이루어집니다.

클라이언트  ---------------->  서버
(HTTP 요청 전송: GET /Hello.jsp)


JSP 컨테이너(예: Tomcat)는 Hello.jsp 페이지를 찾습니다.

클라이언트  <---------------->  JSP 컨테이너
                           (JSP 페이지 찾음: Hello.jsp)


JSP 컨테이너는 Hello.jsp 페이지를 Servlet 프로그램인 Hello_jsp.java로 번역합니다. 

이 과정에서 JSP 태그는 Java 코드로 변환됩니다.

JSP 컨테이너
(JSP 페이지 번역: Hello.jsp -> Hello_jsp.java)


JSP 컨테이너는 번역된 Servlet 프로그램을 컴파일하여 

Servlet 클래스인 Hello_jsp.class를 생성합니다.

JSP 컨테이너
(Servlet 프로그램 컴파일: Hello_jsp.java -> Hello_jsp.class)


JSP 컨테이너는 컴파일된 Servlet 클래스를 실행하여 요청을 처리합니다. 

이 과정에서 필요한 데이터를 검색하거나 계산을 수행하는 등의 작업이 이루어질 수 있습니다.


JSP 컨테이너

(Servlet 클래스 실행: Hello_jsp.class)
JSP 컨테이너는 실행 결과를 HTML 형태로 변환하여 클라이언트에 응답으로 보냅니다.
클라이언트  <----------------  JSP 컨테이너
          (HTML 문서를 응답으로 받음)


클라이언트는 받은 HTML 문서를 웹 브라우저에 렌더링하여 사용자에게 보여줍니다.

클라이언트 (웹 브라우저)
(HTML 문서 렌더링)


이렇게 JSP는 요청에 따라 동적으로 HTML을 생성하는 데 사용됩니다. 

JSP 페이지는 요청이 발생할 때마다 Servlet으로 변환되고 컴파일되어 실행되므로, 

 

각 요청에 따라 다른 내용의 HTML을 생성할 수 있습니다. 

이를 통해 사용자 맞춤형의 웹 서비스를 제공할 수 있습니다.

 

 

 

 

 

 

JSP 생명주기 Life cycle 이해

 

 

✨Life cycle  동작원리


Hello.jsp 호출

번역

Hello.jsp.java

컴파일

Hello.jsp.class 

로딩 및 초기화 Jspinit()

실행 jspService()

소멸 jspDestroy()

 

 

 

 

java se version과 java ee version 의 차이점은 무엇인가?

 

Java SE(Standard Edition)와 Java EE(Enterprise Edition)는 서로 다른 목적과 환경에서 사용하기 위해 설계된 두 가지 다른 Java 플랫폼입니다.

Java SE: 이는 Java의 표준 버전으로, 기본적인 Java 프로그래밍 기능을 제공합니다. 

Java SE는 객체 지향 프로그래밍, 네트워킹, 보안, 입출력, 동시성, JSON 처리 등의 기능을 포함하고 있습니다. 

또한, Java SE는 Java 런타임 환경(JRE)와 Java 개발 키트(JDK)를 제공하여, Java 애플리케이션의 개발과 실행을 지원합니다.


java

// Java SE 코드 예시
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

 


Java EE: 이는 Java SE 위에 구축되며, Java를 사용한 엔터프라이즈 수준의 애플리케이션 개발을 지원합니다.

 Java EE는 웹 애플리케이션 개발, 분산 컴퓨팅, 트랜잭션 관리, 보안 등의 고급 기능을 제공합니다

또한, Java EE는 Servlet, JSP, EJB, JPA 등의 여러 기술과 API를 포함하고 있습니다.


java

// Java EE 코드 예시 (Servlet)
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class HelloWorldServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        out.println("<html><body><h1>Hello, World!</h1></body></html>");
    }
}


이처럼, Java SE는 기본적인 Java 프로그래밍 기능을 제공하는 반면, 

Java EE는 엔터프라이즈 수준의 애플리케이션 개발을 지원하는 고급 기능을 제공합니다. 

따라서 개발하려는 애플리케이션의 요구 사항과 환경에 따라 적절한 플랫폼을 선택하여 사용할 수 있습니다.




 

 

 

 

 

JDK  - JRE  - JVM 의 관계는 무엇인가? 

 

JDK  - JRE  - JVM 의 관계는 무엇인가? 

 

✨ 이해하기

 

JDK
자바 개발 키트

JRE
자바 실행 환경

JVM
.class 컴파일러

 

 

#개발자취업 #개발자기초 #개발자 #개발자분야 #개발자분류 #개발자종류 #it개발자 #서버개발자 #개발자성장 #신입개발자 #ios개발자 #개발자노트북 #개발자 되는 법 #개발 #앱개발 #웹개발 #개발분야 #it개발 #개발공부 #코딩상식 #개발공부 #개발초보

 

#개발자취업 #개발자면접 #개발자채용 #백엔드개발자 #백엔드개발자 #백엔드개발자취업 #백엔드개발 #프런트엔드개발자 #개발자상담 #백엔드 #개발자 #앱개발자 #웹개발자 #개발자팁 #앱개발자 #백엔드취업 #백엔드공부 #백엔드강의 #백엔드독학

 

#전산직면접 #면접 #면접팁 #면접관 #공공기관전산직면접 #공사면접 #면접질문 #면접할 말 #면접준비 #면접준비 #면접답변 #면접질문 #면접기출 #전화면접 #면접복장 #면접답변 #면접꿀팁 #모의면접 #면접후기 #롯데면접 #면접후기 #임원면접 #최종면접 #면접꿀팁

 

 

 

 

 

반응형

댓글