인터넷과 웹의 개요
- 인터넷 : 컴퓨터가 서로 연결되어 TCP/IP라는 통신 프로토콜을 이용하여 정보를 주고받는 전 세계의 컴퓨터 네트워크
- 웹 : 많은 사람들이 정보를 쉽게 공유하고 접근할 수 있도록 하는 것을 목적
- 월드 와이드 웹(World Wide web) 의 줄임말, 인터넷 서비스 중 하나
웹의 동작 원리
- 웹은 기본적으로 클라이언트/서버 방식으로 동작
- 가장 널리 쓰이는 웹 서버
- 아파치(Apache) 톰캣(Tomcat) : 작은 웹 서버 기능 + 자바 서블릿(Servlet)과 JSP(Java Server Page) 지원 IIS(Internet Information Server) : 윈도우 전용 웹 서버 - asp 윈도우전용
- Nginx : 최근 인기 있는 웹 서버
정적 웹 페이지와 동적 웹 페이지
- 정적 웹 페이지
- 컴퓨터에 저장된 텍스트 파일을 그대로 보는 것
- HTML(HyperText Markup Language)
- 미리 만들어 둔 정보만 보여준다
- 정적 웹 페이지 장단점
- 고객 취향이나 변화에 적응할 수 없다
- 추가,수정 삭제하는 작업을 모두 수동으로 처리해야 함 → 관리 어려움
- 동적인 요소가 없기에 데이터베이스도 필요 없고 구축 쉽다, 속도 빠르다
- 정적 웹 페이지의 동작 방식
- 클라이언트가 웹 페이지 요청
- 웹 서버가 *.html 파일 검색
- 이미 준비된(만들어져있는) HTML 문서를 그대로 클라이언트에게 전달
- 변하지 않는 = 정적
- 동적 웹 페이지
- 저장된 내용을 다른 변수로 가공 처리하여 보는 것
- PHP(Personal Home Page)
- 많은 함수를 기본적으로 제공하여 배우기가 쉽고 응용하기 편리
- 윈도우 운영체제, 리눅스, 유닉스 계열에서도 사용가능
- 웹 서버의 운영체제가 바뀌어도 소스 코드는 그대로 운용 가능
- ASP(Active Server Page)
- 주로 윈도우 운영체제에서 많이 사용
- 윈도우 운영체제에서 IIS 웹 서버 설정
- 윈도우에서만 사용 가능
- JSP(Java Server Pages)
- Java 기반으로 웹 환경에서 사용할 수 있도록 개발된 웹 언어
- 은행이나 대기업, 쇼핑몰 사이트 등에서 많이 사용
- 운영체제에 의존하지 않는 독립된 플랫폼 지원
- 객체지향을 주축으로 운영
- Java에 대한 사전 지식이 필요로한다.
- 동적 웹 페이지의 동작 방식
- 클라이언트가 웹 페이지 요청
- 웹 서버가 요청을 분석하여 처리
- 결과를 HTML 문서로 생성
- 요청에 맞게 정제된 HTML 문서를 전달
- 웹 브라우저가 HTML을 보여줌
- 웹 프로그래밍의 구동 순서
- 클라이언트 → 서버로 서비스 요청
- 웹 클라이언트 → URL 주소 입력
- 서버 접속
- DB 접속
- DB의 테이블 검색
- 관련 정보 발췌
- 서비스 전송
- 서버 → 클라이언트 서비스 제공
- 요청한 서비스 활용
웹서버와 JSP 프로그래밍
웹 서버(Apache)에서 JSP를 동작시키려면 Java 파일을 해석, 컴파일 해야되는데 이때 필요한게 톰캣 (웹 어플리케이션)이다.
HTML페이지를 기준으로해서 중간중간에 Java 언어를 이용하여 호출하여 쓰자
JSP → 서블릿으로 번역되고 서블릿이 컴파일되어 실행되는것
- 웹 프로그래밍 언어
- 클라이언트 측 실행 언어와 서버 측 실행 언어로 구분
- 자바를 기반으로 하는 서버 측 프로그래밍 방식인 서블릿을 먼저 개발
- 서블릿 개발 방식이 쉽지 않다.
- 서블릿
- 자바 코드 안에 HTML 코드를 추가하여 작성. 개발 방식 쉽지 않다
- HTML 코드에 자바 코드 추가 → JSP 개발
- JSP는 웹 어플리케이션 서버에서 클라이언트에게 서비스 될때 서블릿으로 변경됨
JSP → 서블릿 → 번역,실행 : tomcat = jsp 컨테이너, 서블릿 컨테이너(둘다 같은 뜻)
JSP를 사용할 때는 웹서버에서 사용되는것이니까 그냥 톰캣에 웹서버 기능도 넣으면? → 톰캣이 웹 서버 기능도 가능함
- JSP 페이지의 처리 과정
- JSP 페이지는 하나의 서블릿 프로그램으로 변환되어 실행됨
- 서블릿 프로그램과 *.class 생성하는 역할은 JSP 컨테이너(톰캣)이 담당
- 톰캣은 JSP 컨테이너가 포함된 웹 서버
- 기본 웹 서버 + JSP 컨테이너
JSP 컨테이너 = 톰캣
- 웹 브라우저가 웹 서버에 hello.jsp를 요청 → 웹 서버는 jsp 페이지임을 확인 → 웹 서버에 있는 jsp 컨테이너에 전달
-
- jsp 컨테이너는 jsp 페이지 서블릿으로 변환 및 컴파일하여 웹서버 전달
- 웹 서버는 정적 웹 페이지처럼 *.class 실행 결과 → 웹 브라우저 응답으로 전달 → 웹 브라우저는 가공된 html 페이지를 동적으로 처리한 결과를 출력
- 웹 서버(Web Server)
- HTTP 프로토콜을 이용하여 클라이언트의 요청을 받아 HTML나 오브젝트를 전송
- 클라이언트 요청 중 자체적으로 처리할 수 없는 것은 컨테이너에게 넘겨 처리
- 예 ) 아파치, 윈도우 IIS 등
- 웹 컨테이너(Web container) = 서블릿 컨테이너 = jsp 컨테이너
- jsp와 서블릿을 실행할 수 있는 프로그램
- jsp를 서블릿으로 변환, 컴파일하여 동적 페이지 생성
- 웹 애플리케이션 서버(WAS : Web Application Server)
- 웹 서버와 웹 컨테이너를 결합한 서버 → 톰캣
- JSP 생명 주기
→→→→→ 번역 →→→→→→→ 컴파일 →→→→→→→→ 로딩 및 초기화 - jspInit()
hello.jsp hello_jsp.java hello_jsp.class
→→ 실행 - _jspService() →→ 소멸 - jspDestroy()
- 번역 : jsp 소스 파일 → 자바 코드(서블릿) : 태그 검증
- 컴파일 단계 : 자바코드인 서블릿을 컴파일 → 클래스 파일 생성 : 자바 코드 구문 검사
- JSP 생명 주기 메서드 : 서블릿 컨테이너의 특정 상황에 따라서 자동으로 호출됨
- jspInit() 메서드 :
- 현재 서블릿 컨테이너가 처음 실행되었을 때 자동 실행. 초기화 작업
- jspService() 메서드 :
- 실제 사용자 요청에 대한 실제적인 서비스 담당
- 스레드 형태로 호출(여러 개의 흐름으로 병행적으로 처리)
- 다수의 클라이언트로부터 다수의 요청이 있어도 각각의 요청에 대한 처리 병행적으로 처리
- jspDestory() 메서드 :
- 컨테이너가 종료시 필요한 정리 작업 담당
- jspInit() 메서드 :
인터넷과 웹의 개요
- 인터넷 : 컴퓨터가 서로 연결되어 TCP/IP라는 통신 프로토콜을 이용하여 정보를 주고받는 전 세계의 컴퓨터 네트워크
- 웹 : 많은 사람들이 정보를 쉽게 공유하고 접근할 수 있도록 하는 것을 목적
- 월드 와이드 웹(World Wide web) 의 줄임말, 인터넷 서비스 중 하나
웹의 동작 원리
- 웹은 기본적으로 클라이언트/서버 방식으로 동작
- 가장 널리 쓰이는 웹 서버
- 아파치(Apache) 톰캣(Tomcat) : 작은 웹 서버 기능 + 자바 서블릿(Servlet)과 JSP(Java Server Page) 지원 IIS(Internet Information Server) : 윈도우 전용 웹 서버 - asp 윈도우전용
- Nginx : 최근 인기 있는 웹 서버
정적 웹 페이지와 동적 웹 페이지
- 정적 웹 페이지
- 컴퓨터에 저장된 텍스트 파일을 그대로 보는 것
- HTML(HyperText Markup Language)
- 미리 만들어 둔 정보만 보여준다
- 정적 웹 페이지 장단점
- 고객 취향이나 변화에 적응할 수 없다
- 추가,수정 삭제하는 작업을 모두 수동으로 처리해야 함 → 관리 어려움
- 동적인 요소가 없기에 데이터베이스도 필요 없고 구축 쉽다, 속도 빠르다
- 정적 웹 페이지의 동작 방식
- 클라이언트가 웹 페이지 요청
- 웹 서버가 *.html 파일 검색
- 이미 준비된(만들어져있는) HTML 문서를 그대로 클라이언트에게 전달
- 변하지 않는 = 정적
- 동적 웹 페이지
- 저장된 내용을 다른 변수로 가공 처리하여 보는 것
- PHP(Personal Home Page)
- 많은 함수를 기본적으로 제공하여 배우기가 쉽고 응용하기 편리
- 윈도우 운영체제, 리눅스, 유닉스 계열에서도 사용가능
- 웹 서버의 운영체제가 바뀌어도 소스 코드는 그대로 운용 가능
- ASP(Active Server Page)
- 주로 윈도우 운영체제에서 많이 사용
- 윈도우 운영체제에서 IIS 웹 서버 설정
- 윈도우에서만 사용 가능
- JSP(Java Server Pages)
- Java 기반으로 웹 환경에서 사용할 수 있도록 개발된 웹 언어
- 은행이나 대기업, 쇼핑몰 사이트 등에서 많이 사용
- 운영체제에 의존하지 않는 독립된 플랫폼 지원
- 객체지향을 주축으로 운영
- Java에 대한 사전 지식이 필요로한다.
- 동적 웹 페이지의 동작 방식
- 클라이언트가 웹 페이지 요청
- 웹 서버가 요청을 분석하여 처리
- 결과를 HTML 문서로 생성
- 요청에 맞게 정제된 HTML 문서를 전달
- 웹 브라우저가 HTML을 보여줌
- 웹 프로그래밍의 구동 순서
- 클라이언트 → 서버로 서비스 요청
- 웹 클라이언트 → URL 주소 입력
- 서버 접속
- DB 접속
- DB의 테이블 검색
- 관련 정보 발췌
- 서비스 전송
- 서버 → 클라이언트 서비스 제공
- 요청한 서비스 활용
웹서버와 JSP 프로그래밍
웹 서버(Apache)에서 JSP를 동작시키려면 Java 파일을 해석, 컴파일 해야되는데 이때 필요한게 톰캣 (웹 어플리케이션)이다.
HTML페이지를 기준으로해서 중간중간에 Java 언어를 이용하여 호출하여 쓰자
JSP → 서블릿으로 번역되고 서블릿이 컴파일되어 실행되는것
- 웹 프로그래밍 언어
- 클라이언트 측 실행 언어와 서버 측 실행 언어로 구분
- 자바를 기반으로 하는 서버 측 프로그래밍 방식인 서블릿을 먼저 개발
- 서블릿 개발 방식이 쉽지 않다.
- 서블릿
- 자바 코드 안에 HTML 코드를 추가하여 작성. 개발 방식 쉽지 않다
- HTML 코드에 자바 코드 추가 → JSP 개발
- JSP는 웹 어플리케이션 서버에서 클라이언트에게 서비스 될때 서블릿으로 변경됨
JSP → 서블릿 → 번역,실행 : tomcat = jsp 컨테이너, 서블릿 컨테이너(둘다 같은 뜻)
JSP를 사용할 때는 웹서버에서 사용되는것이니까 그냥 톰캣에 웹서버 기능도 넣으면? → 톰캣이 웹 서버 기능도 가능함
- JSP 페이지의 처리 과정
- JSP 페이지는 하나의 서블릿 프로그램으로 변환되어 실행됨
- 서블릿 프로그램과 *.class 생성하는 역할은 JSP 컨테이너(톰캣)이 담당
- 톰캣은 JSP 컨테이너가 포함된 웹 서버
- 기본 웹 서버 + JSP 컨테이너
JSP 컨테이너 = 톰캣
- 웹 브라우저가 웹 서버에 hello.jsp를 요청 → 웹 서버는 jsp 페이지임을 확인 → 웹 서버에 있는 jsp 컨테이너에 전달
-
- jsp 컨테이너는 jsp 페이지 서블릿으로 변환 및 컴파일하여 웹서버 전달
- 웹 서버는 정적 웹 페이지처럼 *.class 실행 결과 → 웹 브라우저 응답으로 전달 → 웹 브라우저는 가공된 html 페이지를 동적으로 처리한 결과를 출력
- 웹 서버(Web Server)
- HTTP 프로토콜을 이용하여 클라이언트의 요청을 받아 HTML나 오브젝트를 전송
- 클라이언트 요청 중 자체적으로 처리할 수 없는 것은 컨테이너에게 넘겨 처리
- 예 ) 아파치, 윈도우 IIS 등
- 웹 컨테이너(Web container) = 서블릿 컨테이너 = jsp 컨테이너
- jsp와 서블릿을 실행할 수 있는 프로그램
- jsp를 서블릿으로 변환, 컴파일하여 동적 페이지 생성
- 웹 애플리케이션 서버(WAS : Web Application Server)
- 웹 서버와 웹 컨테이너를 결합한 서버 → 톰캣
- JSP 생명 주기
→→→→→ 번역 →→→→→→→ 컴파일 →→→→→→→→ 로딩 및 초기화 - jspInit()
hello.jsp hello_jsp.java hello_jsp.class
→→ 실행 - _jspService() →→ 소멸 - jspDestroy()
- 번역 : jsp 소스 파일 → 자바 코드(서블릿) : 태그 검증
- 컴파일 단계 : 자바코드인 서블릿을 컴파일 → 클래스 파일 생성 : 자바 코드 구문 검사
- JSP 생명 주기 메서드 : 서블릿 컨테이너의 특정 상황에 따라서 자동으로 호출됨
- jspInit() 메서드 :
- 현재 서블릿 컨테이너가 처음 실행되었을 때 자동 실행. 초기화 작업
- jspService() 메서드 :
- 실제 사용자 요청에 대한 실제적인 서비스 담당
- 스레드 형태로 호출(여러 개의 흐름으로 병행적으로 처리)
- 다수의 클라이언트로부터 다수의 요청이 있어도 각각의 요청에 대한 처리 병행적으로 처리
- jspDestory() 메서드 :
- 컨테이너가 종료시 필요한 정리 작업 담당
- jspInit() 메서드 :