Lai_Khan
개발 & 공부 일지
Lai_Khan
전체 방문자
오늘
어제
  • 전체보기 (69)
    • 공부 (60)
      • 자료구조 & 알고리즘 (4)
      • 웹 (1)
      • JAVA (3)
      • Spring (8)
      • JPA (0)
      • 네트워크 (4)
      • Kubernetes (4)
      • Typescript (5)
      • React (1)
      • 기타 (3)
      • [부스트코스] 웹 프로그래밍 (13)
      • 정보처리기사 (1)
      • 백준 2020년 1~2월 알고리즘 (12)
    • 프로젝트 (0)
    • 취준 (1)
    • 책 (3)
    • 잡담 (5)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 백엔드
  • 코드리뷰
  • kubernetes
  • 객체
  • java
  • http
  • 클래스
  • 스프링
  • 브라우저
  • 웹
  • JPA
  • API
  • 네트워크
  • Spring
  • typescript
  • OutOfPath
  • 자바
  • 벡엔드
  • proxy
  • 부스트코스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Lai_Khan

개발 & 공부 일지

[부스트코스] 웹 프로그래밍 - JSP
공부/[부스트코스] 웹 프로그래밍

[부스트코스] 웹 프로그래밍 - JSP

2020. 3. 4. 14:13

JSP 등장배경

  • 마이크로소프트에서 ASP(Active Server Page)라는 쉽게 웹을 개발할 수 있는 스크립트(script) 엔진을 발표함 (1998년
  • 1997년에 발표된 서블릿은 ASP에 비하여 상대적으로 개발 방식이 불편함
  • ASP에 대항하기 위하여 1999년 썬마이크로시스템즈에서 JSP를 발표
  • JSP는 실제로 서블릿 기술을 사용. 모든 JSP는 서블릿으로 바뀌어서 동작한다.

 

JSP 라이프 사이클

  1. 브라우저가 웹서버에 JSP에 대한 요청 정보를 전달한다.
  2. 브라우저가 요청한 JSP가 최초로 요청했을 경우만 JSP로 작성된 코드가 서블릿으로 코드로 변환한다. (java 파일 생성)
  3. 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class 파일 생성)
  4. 서블릿 클래스를 로딩하고 인스턴스를 생성한다.
  5. 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다.

서블릿과 마찬가지로 JSP도 jspInit()과 jspDestroy() 함수가 존재한다. (같은 역할)

 

JSP 문법

JSP 페이지에서는 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression) 이라는 3가지의 스크립트 요소를 제공한다.

선언문

  • 선언문 : <%! %>
  • 선언문은 JSP 페이지 내에서 필요한 멤버변수나 메소드가 필요할 때 선언해 사용하는 요소
  • 선언문의 문법 : <%! 문장 %>

스크립트릿

  • 스크립트릿 : <% %>
  • 가장 일반적으로 많이 쓰이는 스크립트 요소
  • 주로 프로그래밍의 로직을 기술할 때 사용. 스크립트릿에는 자바 코드가 그대로 들어갈 수 있다.
  • 스크립트릿에서 선언된 변수는 지역변수
  • 스크립트릿의 문법 : <% 문장%>

표현식

  • 표현식 : <%=%>
  • JSP 페이지에서 웹 브라우저에 출력할 부분을 표현 (즉, 화면에 출력하기 위한 것)
  • 스크립트릿내에서 출력할 부분은 내장객체인 out 객체의 print() 또는 println() 메소드를 사용해서 출력
  • 표현식의 문법 : <%=문장%>

 

JSP 내장객체

JSP 내장객체란?

  • JSP를 실행하면 서블릿 소스가 생성되고 실행된다.
  • JSP에 입력한 대부분의 코드는 생성되는 서블릿 소스의 _jspService() 메소드 안에 삽입되는 코드로 생성된다.
  • _jspService()에 삽입된 코드의 윗부분에 미리 선언된 객체들이 있는데, 해당 객체들은 jsp에서도 사용 가능하다.
  • response, request, application, session, out과 같은 변수를 내장객체라고 한다.

내장 객체의 종류


이제 서블릿에서 JSP로 넘어갔다.

대강 자바 웹 공부 순서가 서블릿 - JSP - 스프링 인 걸로 알고있는데 이번 프로젝트에서 JSP를 배우면 다음 프로젝트에서는 스프링을 배우는 건가?

영상이 확실히 자세히 설명해 주니까 좋긴 하지만 뭔가 책보고 공부하는 거보다 속도가 느린거 같아 좀 답답하다.

아직까지 그냥 코드만 봐도 뭔지 감이 오기는 해서 이해하는데 문제는 없다.

책이랑 공부를 병행하고 있는데 난이도: 책>강의, 속도: 책>강의 인거 같다ㅋㅋ

 


저작자표시 비영리 변경금지

'공부 > [부스트코스] 웹 프로그래밍' 카테고리의 다른 글

[부스트코스] 웹 프로그래밍 - 2차 코드리뷰  (0) 2020.03.19
[부스트코스] 웹 프로그래밍 - REST API 와 WEB API  (0) 2020.03.12
[부스트코스] 웹 프로그래밍 - 1차 코드리뷰  (0) 2020.02.26
[부스트코스] 웹 프로그래밍 - Servlet  (0) 2020.02.21
[부스트코스] 웹 프로그래밍 - HTML  (0) 2020.02.10
    '공부/[부스트코스] 웹 프로그래밍' 카테고리의 다른 글
    • [부스트코스] 웹 프로그래밍 - 2차 코드리뷰
    • [부스트코스] 웹 프로그래밍 - REST API 와 WEB API
    • [부스트코스] 웹 프로그래밍 - 1차 코드리뷰
    • [부스트코스] 웹 프로그래밍 - Servlet
    Lai_Khan
    Lai_Khan

    티스토리툴바