web developer

[java] jsp (JavaServer Pages ) 정의 본문

Language/Java

[java] jsp (JavaServer Pages ) 정의

trueman 2022. 1. 18. 17:25
728x90
728x90
JSP란?

JavaServer Pages 의 약자이며 HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다. JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환되며, 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고

그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.

 

IBM문서에는 다음과 같이 기술되어 있다.

JSP는 JSP(JavaServer Pages) 스펙에 코딩된 애플리케이션 컴포넌트입니다. JavaServer Pages는 웹 페이지의 비즈니스 로직에서 HTML(Hypertext Markup Language) 코드의 분리가 가능하게 하므로, HTML 프로그래머 및 Java 프로그래머가 페이지를 작성하고 유지보수하는 데 쉽게 공조할 수 있습니다.

출처 : https://www.ibm.com/docs/ko/was-zos/8.5.5?topic=applications-web 


* 웹(web)

웹이란 인터넷 기반의 정보기술로 World Wide Web 의 줄임말로 쓰이며 WWW 라고도 한다.

전세계에 거대한 네트워크 망을 통해 정보를 공유하며 정보의 흐름은 양방향성을 가진다.


* 웹 어플리케이션(Web Application)

웹어플리케이션은 웹에서 실행되는 응용프로그램을 뜻하며, 인터넷에서 하는 여러 서비스를 총칭한다. 

ex) 페이스북, 인스타, 온라인쇼핑몰 등

 

사용자가 필요한 요청(Request)을 하면? → 서버에서는 이에 해당하는 요청을 수행하고,  그 요청한 데이터를 응답(Response) 한다.

 

IBM문서에는 다음과 같이 기술되어 있다.

웹 애플리케이션은 한 개 이상의 관련 서블릿, JavaServer Pages 기술(JSP 파일) 및 한 단위로 관리할 수 있는 HTML(Hyper Text Markup Language) 파일로 구성됩니다. 웹 애플리케이션은 Java 서블릿 스펙에서 지원되는 개념입니다. 웹 애플리케이션은 일반적으로 .war 파일로 패키지됩니다.

 

[java] 웹 어플리케이션(Web Application) 정의

웹 어플리케이션(Web Application)이란? 웹어플리케이션은 웹에서 실행되는 응용프로그램을 뜻하며 인터넷에서 하는 여러 서비스를 총칭한다. ex) 은행앱, 온라인쇼핑몰 등 사용자가 필요한 요청(Requ

take-it-into-account.tistory.com


* 서블릿 (Servlet)

서블릿이란 웹페이지를 동적으로 생성하기 위해 서버측 프로그램을 말한다. 

이는 자바 언어를 기반으로 만들지며 웹 어플리케이션 서버 ( Web Application Sever ) 위에서 컴파일 되고 동작한다

 

IBM문서에는 다음과 같이 기술되어 있다.

서블릿은 Java 서블릿 API(Application Programming Interface)를 사용하는 Java 프로그램입니다. WAR(Web Application Archive) 파일 또는 웹 모듈의 서블릿을 패키지하여 애플리케이션 서버에 배치해야 합니다. 서블릿은 애플릿이 브라우저에서 실행되고 브라우저 성능을 확장하는 방법과 유사한 방법으로 Java 사용 가능 웹 서버에서 실행되며 웹 서버의 성능을 확장합니다.


결론

1. 클라이언트가 어떤 동작을 함으로써 hello.jsp 를 요청하였다.

2. JSP 컨테이너가 JSP 파일을 읽는다.

3. JSP 컨테이너가 Generete (변환) 작업을 통해 Servlet ( .java )  파일을 생성한다.

4. .java 파일은 다시 .class 파일로 컴파일된다.

5. Execute (실행) 을통해 HTML 파일을 생성하여 JSP 컨테이너에게 전달한다.

6. JSP 는 HTTP 프로토콜을 통해 HTML 페이지를 클라이언트에게 전달한다.



출처: https://javacpro.tistory.com/43 [버물리의 IT공부]

출처 : https://www.ibm.com/docs/ko/was-zos/8.5.5?topic=applications-web 

출처 : https://back-end-developer.tistory.com/81

728x90
728x90
Comments