티스토리 뷰

 

 

 

운영체제란?

 

운영체제란 오퍼레이팅 시스템(OS)라고도 불리며 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다.

시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공한다.

 

 

 

 

 

01. 웹과 JSP 프로그래밍 이해하기

 

 

 

1.1 인터넷과 웹의 개요

 

인터넷은 컴퓨터가 서로 연결되어서 통신 프로토콜(TCP/IP)을 이용하여 정보를 주고 받는 컴퓨터 네트워크이다.

인터넷을 통해 광범위한 정보와 서비스를 제공할 수 있다.

웹은 인터넷에 연결된 컴퓨터들을 통해 사람들이 정보를 공유할 수 잇는 정보 공간으로 월드 와이드 웹(www)의 줄임말이다.

 

 

 

 

1.2 웹의 동작 원리

 

웹은 기본적으로 클라이언트/서버 방식으로 동작한다.

클라이언트(웹 브라우저)가 특정 페이지를 웹 서버에 요청(request)하면 서버에서 처리한 후 그 결과를 클라이언트에게 보내 응답(response)한다. 이때 응답하여 HTML 페이지나 파일을 클라이언트에게 제공하는 장소가 웹이다.

 

 

쉽게 치킨 가게를 비유하여 설명을 할 수 있다.

고객이 치킨을 주문(요청)하면 치킨 가게가 치킨을 제공(응답)한다.

이때 요청을 한 고객은 클라이언트 응답을 제공 하는 치킨 가게는 웹 서버가 된다.

 

 

 

* 서버는 리소스를 서빙한다.

* 크롬은 웹 해석기로 HTML, CSS, JS를 해석한다.

 

 

 

 

 

1.3 정적 웹 페이지와 동적 웹 페이지

 

웹 페이지는 크게 정적(static) 페이지와 동적(dynamic) 페이지로 나눌 수 있다.

정적 웹 페이지는 컴퓨터에 저장된 텍스트 파일을 그대로 보는 것이고 동적 웹 페이지는 저장된 내용을 다른 변수로 가공 처리하여 본다.

정적 웹 페이지는 수동적이며 변수를 사용하지 않고 종류로는 HTML, CSS 등의 웹 언어를 사용하여 작성하고,

동적 웹 페이지는 능동적이며 변수를 사용하여 변화에 적응하기 쉽다 종류로는 PHP, ASP(C#), JSP(HTML+JAVA)를 사용하여 작성한다.

 

 

 

 

정적 페이지 절차

1. 클라이언트가 웹 페이지 요청

2. 웹 서버가 *.html 파일 검색

3. 이미 준비된 HTML 문서를 그대로 전달

4. 웹 브라우저가 HTML 문서를 보여준다.

 

 

동적 페이지 절차

1.클라이언트가 웹 페이지 요청

2. 웹 서버가 요청을 분석하여 처리

3. 결과를 HTML 문서로 생성

4. 요청에 맞게 정제된 HTML 문서를 전달

5. 웹 브라우저가 HTML을 보여준다.

 

 

 

 

 

 

1.4 웹 프로그래밍과 JSP

 

웹 프로그래밍 언어는 클라이언트(HTML, CSS ,JS) 측 실행 언어와 서버(JAVA,Python, C#...) 측 실행 언어로 구분된다.

JSP 또한 서버 측 웹 프로그래밍 언어 중 하나이다.

원래는 자바를 기반으로 하는 서버 측 프로그래밍 방식은 서블릿을 개발하여 사용했으나 HTML 코드에 직접 삽입할 수 있도록 개발된 기술인 JSP가 개발되었다.

 

서블릿과 JSP의 차이점은 서블릿이 자바 코드 안에 HTML 코드를 추가하고 JSP는 HTML 코드 안에 자바 코드를 추가한다.

 

 

 

* 서블릿 : 자바 객체, 기본적으로 제공된다.

 

 

 

JSP의 특징

 

1. JSP는 서블릿 기술의 확장이다.

: JSP에서는 서블릿의 모든 기능을 사용할 수 있다. 서블릿의 기능과 같이 JDBC,JNDI 등을 포함하는 자바 API를 사용할 수 있다. 또한 쉽게 개발할 수 있도록 내장 객체, 미리 정의된 탵그, 펴햔식 언어와 사용자 정의 태그를 사용할 수 있다.

(JSP=HTML+JAVA 이기 때문에 HTML에서 사용하는 태그와 JAVA에서 사용하는 객체를 사용한다.)

 

 

2. JSP는 유지 관리가 용이하다.

 

 

3. JSP는 빠른 개발이 가능하다.

:컴파일 하고 프로젝트를 배포하는 과정이 필요 없기 때문에 빠른 개발이 가능하다.

 

 

4. JSP로 개발하면 코드 길이를 줄일 수 있다.

 

 

 

 

 

 

1.5 JSP 페이지의 처리 과정

 

 

JSP페이지는 하나의 서블릿 프로그램으로 변환되어 실행된다.

 

 

JSP 페이지의 처리과정

 

 

 

 

1. 웹 브라우저가 웹 서버에 JSP 를 요청한다. 웹 서버는 요청된 Hello.jsp 에서 jsp확장자를 발견하여 JSP 페이지인 것을 확인하고 웹 서버에 있는 JSP 컨테이너에 전달한다.

 

2. JSp 컨테이너는 JSp 페이지를 서블릿 프로그램인 Hello_jsp.java로 변환한다.

 

3. JSp 컨테이너가 서블릿 프로그램을 컴파일하여 Hello_jsp.class로 만들고 이를 웹 서버에 전달한다.

 

4. 웹 서버는 정적 웹 페이지처럼 *.class의 실행 결과를 웹 브라우저에 응답으로 전달하므로 웹 브라우저는 새로 가공된 HTML 페이지를 동적으로 처리한 결과를 보여준다.

 

 

 

 

 

 

- 웹 서버, 웹 컨테이터, 웹 애플리케이션 서버의 차이 

 

- 웹 서버(Web server)

HTTP 프로토콜을 이용하여 클라이언트(웹 브라우저)의 요청을 받아 html이나 오브젝트를 전송한다. 

클라이언트의 요청 중 웹 서버 자체적으로 처리할 수 업슨ㄴ 것은 컨테이너처럼 처리할 수 있는 곳으로 넘겨 처리할 수 있다.

웹 서버만으로 구축된 서버는 웹 페이지, 이미지 등 정적 페이지를 생성한다.

ex) 아파치, llS 등

 

 

- 웹 컨테이너(web container)

웹 컨테이너는 JSP와 서블릿을 실행 할 수 있는 프로그램이다.

서블리 ㅅ컨테이너라고도 한다.

웹 서버에서 JSP를 요청하면 톰캣에서는 JSp 파일을 서블릿으로 변환하여 컴파일을 수행하고 서블릿의 수행 결과를 웹 서버에 전달한다.

WAS는 JSP 페이지를 컴파일하여 동적 페이지를 생성한다.

 

 

- 웹 애플리케이션 서버(web application server)

웹에서 사용하는 컴포넌트를 올려 놓고 사용하는 서버이다.

웹 서버와 웹 컨테이너를 결합한 서버이다.

WAS 서버는 톰캣, BEA는 웹로직 등을 많이 사용한다.

 

 

 

 

 

1.6 JSP 생명 주기

 

JSP 페이지를 컴파일한 *.class에는 jspInit(), _jspService(), jspDestroy() 메소드가 존재한다.

 

 

JSP 생명주기

 

 

 

1. 번역 단계

JSP 컨테이너가 JSP 소스 파일을 자바 코드(서블릿)로 변환한다.

(JAVA 추출해서 코드로 변환)

 

 

2. 컴파일 단계

번역 단계에서 생성된 서블릿을 컴파일하여 클래스 파일을 생성한다.

Hello_jsp.java 파일이 컴파일 되어 Hello_jsp.class 파일이 생성된다.

컴파일 단계에서는 자바 코드의 모든 구문을 검사한다. 즉, JSP 페이지 내의 선언문,처리문, 표현문 등의 스크립트 태그를 사용하여 삽입된 자바 코드이 구문 오류를 검사한다.

 

 

3. 로딩 및 치기화 단계

서블릿의 init() 메서드인 jspInit()를 호출하여인스턴스가 된 객체를 초기화한다.

 

 

 

 

4. 실행 단계

각 클라이언트의 요청에 대해 JSP 컨테이너가 용청 및 응답 객체를 전달하는 _jspService() 메소드를 실행한다. 우엡 브라우저가 JSP 페이지를 요청하여 페이지가 로딩 및 초기화될 떄마다 JSP 컨테이너는 JSP 에서 _jspService() 메소드를 호출하영 응답 객체를 전달한다.

 

 

 

 

5. 소멸 단계

JSP 생명 주기를 완료한다.

JSP 컨테이너는 실행되고 있는 JSP를 jspDestroy() 메소드를 사용하여 제거한다.

 jspDestroy() 메소드는 서블릿의 destroy() 메소드에 해당한다.

 

 

 

 

 

* jspInit() , jstDestroy() 메소드는 컨테이너가 기본 기능을 제공하기 떄문에 오버라이딩이 선택 사항이지만, 기본적으로 _jspService() 메소드는 컨테이너가 추가하기 때문에 오버라이딩 할 수 없다.

 

 

 

2. JSP 개발 환경 구축하기

 

 

이미 JDK와 이클립스가 설치되어 있으므로 과정을 생략하겠다.

(이클립스는 Web developer로 설치를 다시 진행해야한다.)

 

 

 

 

- 톰캣 설치

 

 

아파치 사이트에 접속하여 tomcat 9버전을 선택하여 다운로드한다.

(각자의 window 버전에 맞는 버전을 설치한다.)

 

 

 

 

 

 

모두 설치가 완료되었다면 이클립스와 톰캣 서버를 연동한다.

 

1. Servers 프로젝트를 생성한다.

(File → New  Dynamic web porject)

 

 

2. 웹 서버 유형 설정

server를 선책하여 apache   tomcat v9.0 server를 선택한 후 설정 완료한다.

 

 

 

 

3. 웹 서버 위치와 JRE 설정

tomcat server 창에서 browse를 클릭하여 톰캣을 설치한 경로를 설정한 후 finish 한다.

 

 

 

4. 연동 확인

아래의 그림과 같이 서버가 연동된 것을 확인할 수 있다.

 

 

 

 

'코딩 > JSP' 카테고리의 다른 글

웹쇼핑몰  (0) 2023.12.01
[8주 5일차] 액션 태그  (1) 2023.12.01
[8주 4일차] 액션 태그  (1) 2023.11.30
[8주 3일차] 디렉티브 태그  (0) 2023.11.29
[8주 3일차] 스크립트 태그  (0) 2023.11.29
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday