티스토리 뷰

정리 노트/JSP

8주차-2일

eyoadgkn 2023. 11. 28. 17:34

JSP

1.인터넷과 웹의 개요

-인터넷과 웹은 서로 다른 개념으로 웹은 월드 와이드 웹의 줄임말로써 인터넷은 정보를 주고받는 전 세계의 컴퓨터 네트워크로 광범위한 정보와 서비스를 제공할 수 있는데, 이 중 하나로 포함된 것이 웹입니다. 인터넷의 활용에서 웹의 비중이 절대적 위치를 차지해서 흔히 사람들이 웹과 인터넷을 같은 의미로 사용하는 것입니다.

2.웹의 동작 원리.

-웹은 기본적으로 클라이언트/서버 방식으로 동작을 하는데, 이때 클라이언트가 페이지를 웹서버에 요청을 보내면 서버는 그것을 처리 한 뒤에 그 결과를 response(응답)하는 것입니다. 요청하는 쪽이 클라이언트(사용자)이고, 응답하는 쪽이 서버(제공자)입니다. 

즉, 클라이언트가 서버에 HTML 페이지나 파일을 요청을 할 때, 서버가 여기에 응답을 해서 HTML 페이지나 파일 등을 클라이언트에게 제공하는 장소가 바로 웹입니다.

3.정적 웹페이지와 동적 웹페이지

-웹 페이지를 정적(static)페이지와 동적(dynamic)페이지로 나눌 수가 있습니다.

정적 웹 페이지 : 컴퓨터에 저장된 텍스트 파일을 그대로 보는 것이고, HTML과 같은 웹 언어로 작성을 합니다. 정적 웹 페이지는 HTML,CSS 등으로 미리 만들어 놓은 정보만 보여주기 때문에 고객의 취향이나 변화에 적응할 수가 없고, 새로운 것을 추가, 수정, 삭제하는 작업을 모두 수동으로 처리해야 하므로 관리하기가 어렵습니다. 그러나 동적인 요소가 없으므로 데이터베이스가 필요없으며 구축하기도 쉬워서 단순 문서로만 이루어져 서버 간의 통신이 거의 없고 속도가 빠릅니다. 또한, 정적 문서로만 이루어져 있기 때문에 호스팅 서버에서도 동작할 수 있다는 것이 장점입니다. 추후에 사용자 기호에 맞도록 능동적으로 변화를 줄 수 있는 언어 PHP,ASP,JSP가 개발이 되었습니다.

동적 웹 페이지 : 저장된 내용을 다른 변수로 가공 처리해서 보는 것을 말합니다. 그리고 PHP, ASP, JSP와 같은 웹 언어로 작성을 합니다. 사용자가 웹 페이지의 글을 작성하거나 환경 설정 등을 바꾸면 그 내용이 서버에 있는 데이터 베이스에 저장되고 결과가 웹 페이지에 반영이 되는 형태로 동작을 합니다.  

즉, 동적 웹페이지의 작동 방식은

1. 클라이언트가 웹 페이지를 요청 
2.웹서버가 요청을 분석해 처리 한 뒤 결과를 HTML문서로 생성
3.요청에 맞게끔 정지된 HTML문서를 전달 
4. 웹 브라우저가 해당 HTML을 보여주는 형태의 순서를 가집니다.


4.웹프로그래밍과 JSP

-웹 프로그래밍 언어는 클라이언트 측 언어(HTML,CSS,JS)와 서버 측의 실행 언어(Java,Python,C#,C++/C..등)로 구분이 되어 있습니다. 여기서 자바를 기반으로 하는 서버측 웹 프로그래밍 언어 중 하나가 JSP입니다. 이는 HTML코드에 직접 삽입을 할 수 있도록 개발된 기술의 프로그래밍 언어입니다. 이전에 개발된 서블릿과의 차이는 서블릿은 자바안에 HTML을 추가하여 구현하는 반면에 JSP는 HTML안에 자바 코드를 추가해 구현을 합니다.

-JSP는 자바의 API를 사용할 수 있으며, 쉽게 개발 할 수 있도록 내장 객체, 미리 정의된 태그, 표현식 언어와 사용자 정의 태그를 사용할 수 있습니다.

-JSP기술은 프레젠테이션 로직과 비즈니스 로직을 분리할 수 있기 때문에 유지 관리가 용이합니다. 또한, 다시 컴파일하고, 프로젝트를 배포할 필요가 없기 때문에 빠른 개발이 가능하도록 되어 있으며 앞서 얘기한 내장 객체나 태그 등을 사용 함으로써 코드의 중복이나 길이 또한 줄일 수가 있습니다.

5.JSP 페이지의 처리 과정

1.클라이언트 측에서 JSP를 요청. [hello.jsp->전달]
2.웹 서버는 JSP확장자를 발견 후 JSP페이지인 것을 확인 후 웹 서버에 있는 JSP 컨테이너로 전달.
3.JSP 컨테이너에서 JSP페이지를 서블릿 프로그램인 hello_jsp.java로 변환.
4.JSP 컨테이너가 서블릿 프로그램을 컴파일 해서 hello_jsp.class로 만든 뒤 이를 웹 서버에 전달.
5.웹 서버는 정적 웹페이지처럼 .class의 실행결과를 웹브라우저에 응답으로 전달.
6.웹 브라우저는 받은 해당 HTML페이지를 동적으로 처리한 결과를 보여줌.


*웹 서버 : 웹 서버만으로 구축된 서버는 웹 페이지, 이미지 등 정적 페이지를 생성.
 웹 컨테이너 : JSP를 웹 서버에서 요청을 하면 톰캣에서는 JSP 파일을 서블릿으로 변환해 컴파일을 수행하고, 서블릿의 수행 결과를 웹 서버에 전달.
 웹 애플리케이션 서버 : 웹 서버와 웹 컨테이너를 결합한 서버. WAS서버는 톰캣, BEA의 웹로직 등입니다.

6. JSP 생명 주기

-JSP페이지를 컴파일한 .class에서는 jspInit(),_jspService(),jspDestroy() 메서드가 존재하며, JSP의 생성부터 파괴까지의 과정을 수행합니다.

hello.jsp 전달 요청.
1.번역
hello_jsp.java
2.컴파일
hello_jsp.class
3.로딩 및 초기화 jspInit() - 초기화
4.실행 _jspService() - main()
5.소멸 jspDestroy() - 삭제.


 

'정리 노트 > JSP' 카테고리의 다른 글

9주차-2일  (0) 2023.12.05
9주차-1일  (0) 2023.12.04
8주차-5일  (0) 2023.12.01
8주차-4일  (0) 2023.11.30
8주차-3일 스크립트 태그,디렉티브 태그  (0) 2023.11.29
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함