본문 바로가기

웹 어플리케이션 공부

jsp

반응형

WAS는 웹 브라우저로부터 JSP에 대한 요청을 받게 되면, JSP 코드를 서블릿 소스코드로 변환한 후 컴파일 하여 실행되게 됩니다.
서블릿으로 컴파일되어 실행될 때 상황에 따라서 어떤 메소드들이 실행되는지 잘 알아야, JSP를 알맞게 작성할 수 있다.

JSP란(java server page)

  • JSP는 서블릿 기술을 사용

JSP의 실행 순서(JSP 코드가 Servlet으로 변환될 때)--> Q. html부분만 변경되었다면?

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

스크립트 요소의 이해

  • 선언문(Declaration) - <%! %>: 전역변수 선언 및 메소드 선언에 사용
  • 스크립트릿(Scriptlet) - <% %>: 프로그래밍 코드 기술에 사용
  • 표현식(Expression) - <%=%>: 화면에 출력할 내용 기술에 사용

JSP 내장객체

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

redirect

  • 리다이렉트는 HTTP 프로토콜로 정해진 규칙
  • 서버는 클라이언트의 요청에 대해 특정 URL 로 이동을 요청할 수 있다.
  • 서버는 클라이언트에게 HTTP상태노드 302로 응답하는데 이 때, 헤더 내 Location 값에 이동할 URL을 추가.
  • 클라이언트는 리다이렉션 응답을 받게되면 헤더에 포함된 URL로 재요청을 보냄
  • 서블릿이나 JSP는 리다이렉트하기 위해 HttpServletResponse 클래스의 sendRedirect()메소드를 사용함

forward

  • WAS의 서블릿이나 JSP가 요청을 받은 후 그 요청을 처리하닥, 추가적인 처리를 같은 웹 어플리케이션안에 포함된 다른 서블릿이나 JSP에게 위힘하는 경우

과정

  • 웹 브라우저에서 서블릿1에게 요청을 보냄
  • 서블릿1은 요청을 처리한 후, 그 결과를 HttpServletRequest에 저장
  • 서블릿1은 결고가가 저장된 HttpServletRequest와 응답을 위한 HttpServletResponse를 같은 웹 어플리케이션 안에 있는 Servlet2에게 전송
  • 서블릿2는 서블릿1로부터 받은 rerqeust, response를 이용하여 요청을 처리한 후 웹브라우저에 결과 전송

scope

  • Application: 웹 애플리케이셔이 시작되고 종료될 때까지 변수가 유지되는 경우
  • Session: 웹 브라우저 별로 변수가 관리되는 경우
  • Request: http요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수가 유지되는 경우 사욛
  • Page: 페이지 내에서 지역변수처럼 사용

JSTL(JSP Standard Tag Library)

  • JSTL을 이용하면 태그형식으로 조건문, 반복문 등을 사용할 수 있음
반응형

'웹 어플리케이션 공부' 카테고리의 다른 글

API  (0) 2020.10.04
웹 개발 기본 지식  (0) 2020.09.28
서블릿이란  (0) 2019.08.14