[WEB] JSP

지수·2021년 9월 1일
0

플레이데이터

목록 보기
29/50
post-thumbnail

1. JSP란?

: Java Server Page의 약어
이전 [WEB] Servlet 제일 윗 부분에도 적어놓았듯이,

  • html/css/java script와 같은 브라우저 언어는 순수 자바 클래스와 소통 ❌
  • 서버와 연동하여 웹 요청/응답 처리를 하기 위해서는 자바 프로그램의 일종인 Servlet 혹은 서버 사이드 언어JSP 필요 ⭕
  • Servlet만으로도 브라우저와 서버를 연동할 수는 있지만 Servlet은 UI적 처리 한계를 가짐 (Servlet만으로 html/css/js를 적용한 UI처럼 만들 수 없음ㅠ)

ㄴ presentation용 웹 개발 스펙 JSP 탄생!




2. JSP 구성 요소

  • html tag
  • java 코드 제어 가능한(=자바 클래스 내부처럼 동작) jsp tag
  • 데이터 출력 전담 EL(Expression Language)
  • JSP의 효율적 개발을 위한 JSTL(Java Server Pages Standard Tag Library)



3. JSP의 특징

1) JSP 실행 과정

  • 최초의 클라이언트가 jsp 요청
  • 웹 컨테이너가 jsp를 servlet으로 변환
  • 컴파일
  • 컴파일 된 byte code를 메모리에 로딩
  • servlet 객체 생성 및 init()
  • service() 실행
  • 자원 반환 필요시 destroy()

2) JSP 내장 객체

JSP에는 Servlet과 달리 내장 객체가 존재함


내장 객체 : 객체를 새로 선언하여 사용하는 것이 아니라 (내부적으로 미리 선언, 정의되어 있어) 변수명만 호출하여 사용할 수 있는 객체

  • HttpServletRequest를 의미하는 request
  • HttpServletResponse를 의미하는 response
  • HtteSession을 의미하는 session
  • PrintWriter를 의미하는 out



4. JSP Tag

1) JSP Scripting Tag

1. <%-- --%>	: 주석

2. <%@    %>	: 지시자(directive), 인코딩 또는 외부 자바 소스 import

3. <%=    %>	: expression, 브라우저에 단순 데이터 출력

4. <%!    %>	: 선언자(declaration), 멤버 변수나 멤버 메소드 구현

5. <%     %>	: service() 구현

2) JSP Action Tag

<jsp: 자바 코드>

<jsp:forward page="playdata"/>
가급적 jsp 안에서 일반 자바 코드를 최소화하고자 하는 의도로 파생됨

3) EL(Expression Language)

${ }

{} 안의 내용을 브라우저에 출력
{} 내부에서 자바 코드 실행(연산, T/F 판단 가능 등)
{} 안에 null 값을 넣으면 브라우저에서는 아무것도 표현되지 않음(공백도 없음)

쿠키 객체로부터 데이터 획득해서 출력시에 유용
- servlet : 쿠키 객체 생성 - 쿠키 전체에서 반복문 돌려 특정 쿠키 추출 및 할당 - 출력
- JSP : ${cookie.name.value}

4) JSTL(JSP Standard Tag Library)

JSTL은 아직 배우지 않아서 다음 시간에-🖐

profile
사부작 사부작

0개의 댓글