JAVA WEB 공부 6일차

머리터지기 일보직전·2022년 9월 26일
0

JAVA WEB

목록 보기
7/8

JSP 등장

  • 서블릿으로 화면 구현 시 문제점
    • 기존 서블릿에서는 자바 코드를 기반으로 문자열을 사용해 HTML과 자바스크립트로 화면을 구현했음
    • JSP는 이와 반대로 HTML, CSS와 자바스크립트를 기반으로 JSP요소들을 사용해 화면을 구현함
    • 웹 프로그램의 화면 기능이 복잡해지므로 서블릿의 자바 기반으로 화면 기능 구현 시 어려움이 발생
    • 디자이너 입장에서 화면 구현시 자바 코드로 인해 작업을 어려워함
    • 서블릿에 비즈니스 로직과 화면 기능이 같이 있다 보니 개발 후 유지관리가 불편
  • 해결책
    • 서블릿의 비즈니스 로직과 결과를 보여주는 화면 기능을 분리
    • 비즈니스 로직과 화면을 분리함으로써 개발자는 비즈니스 로직 구현에 집중하고, 디자이너는 화면 기능에만 집중
    • 개발 후 재사용성과 유지관리가 훨씬 수월

JSP 구성 요소

  • HTML, CSS, JAVASCRIPT
  • JSP 기본 태그
  • JSP 액션 태그
  • 개발자가 직접 만들거나 프레임워크에서 제공하는 커스텀 태그

톰캣에서 JSP 변환 과정

  • 변환단계 : 컨테이너는 JSP 파일을 자바 파일로 변환
  • 컴파일단계 : 컨테이너는 변환된 자바파일을 클래스 파일로 컴파일
  • 실행단계 : 컨테이너는 클래스파일을 실행하여 그 결과를 브라우저로 전송해 출력

JSP 페이지 구성 요소

  • 디렉티브 태그(Directive Tag)
  • 스크립트 요소(Scriptring Element): 주석문, 스크립트릿(Scriptlet), 표현식, 선언식
  • 표현언어(Expression Language)
  • 내장 객체(내장 변수)
  • 액션 태그(Action Tag)
  • 커스텀 태그(Custom Tag)

디렉티브 태그 종류

  • 페이지 디렉티브 태그(Page Directive Tag) : JSP 페이지의 전반적인 정보를 설정할 때 사용
    • <%@ page 속성1="값1" 속성2="값2" 속성3="값3"... %>
  • 인클루드 디렉티브 태그(Include Directive Tag) : 공통으로 사용하는 JSP 페이지를 다른 JSP 페이지에 추가할 때 사용
    • 특징 : 재사용성이 높다 / JSP 페이지의 유지관리가 쉽다.
    • <%@ include file="example.jsp"%>
  • 태그라이브 디렉티브 태그(Taglib Directive Tag) : 개발자나 프레임워크에서 제공하는 태그를 사용할 때 사용

JSP 스크립트 요소 기능

  • JSP페이지에서 여러가지 동적인 처리를 제공하는 기능
  • <% %> 기호 안에 자바 코드로 구현
  • <% %> 기호를 스크립트릿(Scriptlet)이라고 부름
    • 스크립트릿 종류
    • 선언문(declaration tag) : JSP에서 변수나 메서드를 선언할 때 사용
      • <%! 멤버변수 or 멤버 메서드 %>
    • 스크립트릿(scriptlet) : JSP에서 자바 코드를 작성할 때 사용
      • <% 자바코드 %>
    • 표현식(expression tag) : JSP에서 변수의 값을 출력할 때 사용
      • <%= 값 or 자바변수 or 자바 식 %>
    • 스크립트릿 안에는 !! 자바코드만 사용가능 !!
  • 주석문
    • JSP 주석문
      • <%-- 내용 --%>
    • HTML주석문
      • <!-- 내용 --!>
    • 자바스크립트 주석문
      • /* 내용 */

내장 객체(내장 변수) 기능

  • JSP가 서블릿으로 변환 시 컨테이너가 자동으로 생성 시키는 서블릿 멤버 변수

0개의 댓글