정리노트

[JSP] JSP의 개요, 개발 환경 구축

망고고래 2023. 11. 28. 17:34

1장. JSP의 개요: 원리를 이해하고 개발 환경 구축하기

1-1. 웹과 JSP 프로그래밍의 이해

1-1-1. 정적 웹페이지와 동적 웹페이지

1) 정적 웹페이지

  • 미리 만들어진 정보만 보여줌. 추가, 수정, 삭제 작업 수동
  • 데이터베이스 불필요, 속도가 빠름

2) 동적 웹페이지

  • 사용자가 입력한 값이 서버에 있는 데이터베이스에 저장되고 결과가 웹 페이지에 반영됨
  • ex)로그인하면 개인 정보와 개인 화면이 구성되는 웹사이트

 

 

1-1-2. JSP의 특징

JSP: HTML에 서블릿을 직접 삽입할 수 있도록 개발된 기술. HTML+java

1)서블릿 기술의 확장

서블릿의 모든 기능을 사용 가능→자바 API 사용 가능

내장 객체, 미리 정이된 태그, 표현식 언어와 사용자 정의 태그 사용 가능

2)유지 관리 용이

프레젠테이션 로직과 비즈니스 로직 분리 가능→관리 쉬움

3)빠른 개발 가능

서블릿에서는 업데이트 후 다시 컴파일

JSP는 다시 컴파일하고 프로젝트 배포 필요 x

4)코드 단축 가능

액션 태그, JSTL, 사용자 정의 태그 등의 다양한 태그와 표현 언어, 내장 객체 등 사용 가능→코드 단축

 

 

1-1-3. JSP 페이지의 처리 과정

  1. 웹브라우저가 웹 서버에 JSP 요청
  2. 웹 서버가 요청된 Hello.jsp에서 jsp 확장자 발견해서 JSP 페이지임을 확인하고 JSP 컨테이너에 전달
  3. JSP 컨테이너가 JSP 페이지의 java 코드를 추출해 Hello_jsp.java로 변환
  4. JSP 컨테이너가 .java 파일을 컴파일해 .class 파일로 변환, 웹 서버에 전달
  5. 웹 서버가 웹 브라우저에 .class 파일 실행결과 전달
  6. 웹 브라우저가 결과 출력

 

 

1-1-4. JSP 생명 주기

.class 파일에는 jspInit()로딩 및 초기화, _jspService()실행, jspDestroy()소멸 메서드가 있음

 

 

 

 

1-2. JSP 개발 환경 구축

①JDK

②톰캣

Apache Tomcat® - Welcome!

 

Apache Tomcat® - Welcome!

The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the

tomcat.apache.org

사이트에서 좌측 메뉴→download→Tomcat 9→core→zip 파일 다운로드

압축 해제 후 c드라이브로 파일 이동

③이클립스

java 학습 시에는 이클립스 설치 화면에서 첫 번째를 선택했지만, JSP를 학습할 때는 두 번째인 Java and Web Developers를 선택한다.

 

 

프로젝트 생성

File - New - Dynamic Web Project

Project Name 입력, Target Runtime에 Apache Tomcat 선택

자동으로 생성되는 폴더에서 src→main→webapp에 jsp 파일 생성