프로그래밍/JSP

[JSP] JSP의 개요 - JSP가 뭐지?

aSpring 2021. 3. 23. 20:51
320x100
728x90

웹 프로그래밍

- 목적 : *동적 웹 애플리케이션 개발 ex) 웹 쇼핑몰

- 웹 언어 : ASP, PHP, 서블릿, JSP 등...

- 웹 프로그래밍 언어 : 클라이언트 측 실행 언어 / 서버 측 실행 언어

 

* 동적 웹 애플리케이션 : 저장된 내용을 다른 변수로 가공 처리하여 보는 것

- 사용자 기호에 맞게 능동적으로 변화하는 웹 페이지 -> 우리가 보는 대부분의 웹 페이지!

-> 사용자가 글을 작성하거나 환경 설정 등을 바꿈 -> 서버의 DB에 저장 -> 결과가 웹 페이지에 반영됨

 

cf) 정적 웹 페이지 : 컴퓨터에 저장된 텍스트 파일을 그대로 보는 것 -> 웹 언어 : HTML

-> 미리 만들어놓은 것만 보여줘서 변화에 적응X, 새로운 것 추가/수정/삭제 모두 수동으로 처리해야 함

 

서블릿

- 자바 언어 이용

- HTML + 자바 코드 섞임

- 자바 코드 안에 HTML 코드를 추가

 

JSP

- 자바 언어 이용

- 표현 언어, JSTL 등의 기능을 서블릿 보다 많이 제공(서블릿 기술의 확장 ?)

- HTML, 자바 코드 분리 -> 유지 보수 용이

- 서버 측 웹 프로그래밍 언어

- 자바 기반의 서블릿 --어려움--> HTML 코드 안에 자바 코드를 직접 삽입할 수 있도록 개발된 기술 : JSP

-> 실제로 웹 애플리케이션 서버에서 클라이언트에게 서비스될 때 서블릿으로 변경됨

- 서블릿의 모든 기능 사용 가능(JDBC, JNDI, EJB 등 자바 API 사용), 내장 객체, 미리 정의된 태그, 표현식 언어, 사용자  정의 태그 사용 -> 서블릿보다 코드 길이 줄일 수 있음

- 프레젠테이션 로직과 비즈니스 로직 분리 가능

- JSTL : JavaServer Pages Standard Tg Library

 

JSP 페이지 처리 과정

클라이언트

웹 브라우저    --> 서블릿 프로그램 --> 서블릿 클래스 --> 웹 서버 --> 응답 --> 다시 웹 브라우저

             Hello.jsp -> Hello_jsp.java -> Hello_jsp.class               가공된 HTML 문서

                      변환                 컴파일

 

- 하나의 서블릿 프로그램으로 변환되어 실행됨

 


웹 : 클라이언트/서버 방식으로 동작

- 클라이언트(웹 브라우저) --이 페이지 보여줘~ 요청--> 웹 서버 --처리/응답--> 클라이언트(웹 브라우저)

- 정적 웹 페이지 : 저장된 텍스트 파일 그대로 보는 것

- 동적 웹 페이지 : 저장된 내용을 다른 변수로 가공 처리하여 보는 것

- 웹 프로그래밍 언어

  • 클라이언트 측 실행 언어
  • 서버 측 실행 언어 : JSP(자바 기반의 서블릿 기술의 확장) -> 유지/관리/빠른 개발/코드 길이↓

JSP

- 하나의 서블릿 프로그램으로 변환되어 실행

번역 -> 컴파일 -> 로딩 및 초기화 -> 실행 -> 소멸

 

개발 환경

- JDK : 자바 개발 환경 -> HTML 코드 내에 자바 코드를 작성하기 때문에 필요

- 톰캣 : 웹 서버 -> JSP 웹 컨테이너

- 이클립스 : 통합 개발 환경(IDE) -> JSP 코드 컴파일, 오류 검사, 실행 결과 확인

 

예제 실습

728x90
728x90