Mintaka's log
[JSP] JSP 개요 본문
일단 JSP는 가지고 있는 교재인 '쉽게 배우는 JSP 웹 프로그래밍'을 기반으로 공부하려고 한다. 이제 거기에 플러스 학원 수업 내용. 그럼 시작!
1. 인터넷과 웹
- 인터넷 : 컴퓨터가 서로 연결되어 TCP/IP 라는 통신 프로토콜을 이용해 정보를 주고받는 전세계의 컴퓨터 네트워크
- 웹 : 인터넷에 연결된 컴퓨터들을 통해 사람들이 정보를 공유할 수 있는 정보공간
- 기본적으로 클라이언트/서버 방식을 동작
- 웹 서버 종류 - 아파치Apach, 톰캣Tomcat, IIS(Internet Information Server)
- 웹 페이지 종류 - 동적 / 정적 페이지
- 동적 페이지를 제공하는 언어 : PHP, ASP, JSP 등...
2. JSP(Java Server Pages)
- 웹 프로그래밍 언어는 클라이언트 측 실행 언어와 서버 측 실행 언어로 구분됨.
- 그 중 JSP 는 서버 측 웹 프로그래밍 언어.
- 서블릿과의 차이점?
- 서블릿은 자바 코드 안에 HTML 코드를 추가 한 것
- JSP는 HTML 코드 안에 자바 코드를 추가한 것.
- JSP의 특징
- 서블릿의 확장.
- 서블릿의 모든 기능 사용 가능.
- 서블릿의 확장.
-
- 유지 관리가 용이
- 프레젠테이션 로직과 비즈니스 로직이 분리 가능하다고 함.
- 비즈니스 로직 : 원하는 값을 얻기 위해 데이터 처리를 수행하는 소프트웨어 안의 프로그램 한 부분.
- 프레젠테이션 로직 : 비즈니스 로직을 실제 인터페이스화 하기 위한 로직.
- 프레젠테이션 로직과 비즈니스 로직이 분리 가능하다고 함.
- 빠른 개발이 가능
- 서블릿의 경우 코드 수정할때마다 업데이트하고 다시 컴파일 해야 함. JSP는 그럴 필요 없음.
- 코드 길이를 줄일 수 있음
- JSP는 다양한 태그와 표현 언어, 내장 객체등을 사용해 서블릿보다 코드 줄일 수 있음.
- 유지 관리가 용이
3. JSP 페이지 처리 과정
- 웹 브라우저가 웹 서버에 JSP 파일을 요청하면 웹 서버는 요청된 Hello.jsp 파일을 웹 서버의 jsp 컨테이너에 전달.
- jsp 컨테이너는 jsp 페이지를 서블릿 프로그램인 Hello_jsp.java로 변환
- jsp 컨테이너가 서블릿 프로그램을 컴파일해 Hello_jsp.class로 만들어 웹 서버에 전달
- 웹 서버는 class의 실행결과를 웹 브라우저에 전달하고 웹 브라우저는 HTML 페이지를 동적 처리한 결과를 보여줌.
- 웹 컨테이너?
- jsp와 서블릿을 실행할 수 있는 프로그램.
- 웹 서버와 분리해 설치할 수도 있고 웹 서버에 포함할 수도 있음 (tomcat은 jsp 웹 컨테이너가 포함된 웹서버)
4. JSP 생명주기
- 서블릿의 생명주기 :
- init( )
- service( ) - doGet( ) , doPost( ) 메소드가 있음
- destroy( )
- JSP 생명주기
- _jspInit( )
- _jspService( )
- _jspDestroy( )
- 좀더 포괄적인 JSP 생명주기
- 번역 translation
- jsp 컨테이너가 .jsp 파일을 _jsp.java로 변환함
- 컴파일 compilation
- jsp 컨테이너가 _jsp.java 파일을 컴파일해 _jsp.class 파일을 생성.
- 로딩 loading 및 초기화 initialization
- _jsp.class가 로딩
- jspInit( ) 을 호출해 인스턴스가 된 객체를 초기화 함
- 실행 execution
- _jspService( ) 메소드 실행 : 클라이언트의 요청에 대해 요청 및 응답 객체를 전달
- 소멸 destruction
- jsp 생명주기 완료
- jspDestroy( ) 메소드로 실행되고 있는 jsp를 제거.
- 번역 translation
'Servlet+JSP' 카테고리의 다른 글
Tomcat오류-The selection cannot be run on any server (0) | 2022.05.21 |
---|---|
[JSP] include 액션 태그 (0) | 2022.05.11 |
[JSP] CSS 코드 적용하기 (0) | 2022.05.11 |
localhost:8080이 안될 경우 (0) | 2022.05.08 |
[JSP] 환경설정-tomcat (0) | 2022.05.08 |