1 / 92

JSP 의 기초

7. JSP 의 기초. 학습 목표 JSP 기술에서는 웹 애플리케이션을 JSP 페이지 형태로 구현한다 . JSP 페이지를 작성하는데 필요한 여러 가지 기초 지식을 학습 . 내 용 JSP 페이지란 ? JSP 의 기초 문법 JSP 페이지의 내장 변수 파일 입출력 다른 JSP 페이지 호출하기. 1. JSP 페이지란 ?. JSP 기술에서 웹 애플리케이션을 구현할 때 작성하는 코드 HTML 문서의 사이에 JSP 문법의 코드가 삽입되는 형태로 작성

joanna
Download Presentation

JSP 의 기초

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 7 JSP의 기초

  2. 학습 목표 • JSP기술에서는 웹 애플리케이션을 JSP페이지 형태로 구현한다. • JSP페이지를 작성하는데 필요한 여러 가지 기초 지식을 학습. • 내 용 • JSP페이지란? • JSP의 기초 문법 • JSP페이지의 내장 변수 • 파일 입출력 • 다른 JSP페이지 호출하기

  3. 1. JSP 페이지란? • JSP기술에서 웹 애플리케이션을 구현할 때 작성하는 코드 • HTML문서의 사이에 JSP문법의 코드가 삽입되는 형태로 작성 • JSP페이지에 있는 HTML코드는 웹 브라우저로 그대로 전송되지만, JSP문법의 코드는 웹 컨테이너 쪽에서 실행되고 그 결과만 웹 브라우저로 전송된다. HTML 문서의 사이사이에 JSP 문법의 코드가 삽입됩니다 [그림 3-1] JSP 페이지의 형태

  4. 1. JSP 페이지란? • JSP페이지 실행 과정 • 웹 브라우저로부터 JSP에 대한 URL이 왔을 때 실행되는 것은 서블릿이다. 변 환 컴파일 인스턴스화 초기화 [그림 3-2] JSP페이지가 실행되기까지의 과정

  5. 1. JSP 페이지란? • JSP페이지 실행 과정 JSP 페이지의 변환 및 컴파일은 언제 발생하는가? JSP 페이지가처음 요청되었을 때에 한번 발생한다. JSP 페이지가변경되면 다시 변환과 컴파일이 실행됨.

  6. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP의 문법 요소 (1) • JSP의 문법에는 세가지 형태가 있다. • <%로 시작해서 %>로 끝나는 형태 • ${로시작해서}로 끝나는 형태 • <jsp:forward> 또는 <C:if>와 같은 XML태그 형태 • JSP 문법 요소 : 6 가지 요소 • 스크립트릿(Scriptlet) • 표현식(Expression) • 선언문(Declaration) • 지시자(Directive) • 표현식 언어(Expression Language) • 액션(Action) 스크립팅 요소

  7. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP의 문법 요소 (2) • 지시자와스크립팅 요소 -<%와 %> 사이에 표현되는 요소 지시자(directive) 스크립틀릿(scriptlet) 익스프레션(expression) [그림 3-3] JSP의 문법 – 지시자와스크립팅 요소

  8. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP의 문법 요소 (3) • 익스프레션 언어(EL: Expression Language) • 자바 코드를 대신할 새로운 언어 • ${ 로 시작해서 } 로 끝나고, 그 안에 데이터 이름이나 간단한 식을 쓸 수 있다. • 액션(Action) • XML태그 형태로 기술 • 자바의 if 문, for 문, switch 문에 해당하는 태그들이 있다.

  9. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP의 문법 요소 (4) 복잡한 데이터 처리 로직 익스프레션 언어(expression language) [그림 3-4] JSP문법 – 익스프레션 언어

  10. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP의 문법 요소 (5) 복잡한 데이터 처리 로직 액션(action)

  11. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법 • 스크립팅 요소(Scripting Elements) • 스크립틀릿(Scriptlet) • 익스프레션(Expression) • 선언부(Declaration)

  12. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법 • 스크립틀릿(Scriptlet) • JSP 페이지 내에 삽입되는 자바 코드 부분 • <%로시작해서 %> 로 끝나고, 그 사이 자바 명령문을 작성 • 이 명령문은 웹 브라우저로 전송되는 것이 아니라 웹 서버 쪽에 실행 된다. 자바 명령문들

  13. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법 • 표현식(Expression) • <%=로시작해서 %>로끝나고 그 사이에 자바 표현식이 들어갈 수 있다. • 이 식은 상수나 변수 이름 하나로 구성될 수도 있고, 연산자를 포함할 수도 있으며, 반환 값이 있는 메서드 호출식이 될 수도 있다. • 이 식은 웹 서버 쪽에서 실행되고 그 결과만 웹 브라우저로 전송된다. 자바 식 자바 식 자바 식

  14. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법 스크립틀릿 안에 있던 자바 명령문 익스프레션 안에 있던 자바 식 [그림 3-6] JSP페이지의 코드가 서블릿 클래스의 코드로 변환되는 방법

  15. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법 [그림 3-7] JSP페이지로부터 변환된 서블릿 클래스의 소스 코드

  16. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법

  17. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법 • JSP페이지의 스크립틀릿은 모두 _jspService메서드 안에 들어가는 명령문이 되므로, 한 스크립틀릿 안에서 선언한 변수를 그 뒤에 나오는 다른 스크립틀릿 안에 사용하는 것이 가능하다. total 변수를 선언한다 total 변수를 사용한다

  18. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법 • JSP페이지 설치 방법 • JSP페이지 실행 결과 ① brain03라는 이름의 웹 애플리케이션 디렉터리를 만드세요. ②[예제 3-1]을 그 디렉터리에 저장하세요 [그림 3-8] 예제 3-1의 설치 방법 [그림 3-9] 예제 3-1의 실행 결과

  19. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법 • 선언부(declaration) • <%!로 시작해서 %>로 끝나고, 그 사이에 변수 선언문이나 메서드 선언문을 작성 • 선언된 변수 또는 메서드는JSP페이지로부터 변환된 서블릿 클래스의 멤버가 되므로 final, public, private, protected, static 등의 키워드를 붙이는 것도 가능 • 변수를 선언 시에 주의할 점 • JSP페이지로부터 변환된 서블릿 클래스는 기본적으로 멀티–스래드 모델로 동작  서블릿 클래스 안에는 인스턴스 변수를 선언하면 안된다. 변수 선언 매서드 선언

  20. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법 • 선언부의 사용 예 선언부

  21. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법 • 선언부가 변환된 서블릿 클래스의 소스 코드

  22. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 스크립팅요소의 문법 • 선언부가 변환된 서블릿 클래스의 소스 코드

  23. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 지시자의 문법 • 지시자(directive) • 웹 컨테이너가 JSP페이지를 서블릿 클래스로 변환할 때 필요한 정보들을 정의 • 웹 브라우저의 요청에 의해 동적으로 실행되는 부분이 아님. • 지시자의 종류 • page지시자 • include지시자 • taglib지시자

  24. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 지시자의 문법 • 모든 지시자는<%@으로 시작하고 %>로 끝나야 한다. • <%@ 바로 다음에는 지시자 이름이 와야 하고, 지시자 이름 다음에는 여러 가지 애트리뷰트(속성)가 올 수 있다. • page지시자는JSP페이지 전체에 적용되는 정보를 기술하기 위해 사용된다. 지시자 이름

  25. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 지시자의 문법 – page 지시자의 애트리뷰트 [표 3-1] page 지시자의 애트리뷰트

  26. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 지시자의 문법 – page 지시자의 애트리뷰트 • contentType애트리뷰트 • JSP페이지가 생성하는 문서의 종류와 그 문서를 웹 브라우저로 전송할 때 사용할 인코딩 방식을 지정 • 두 값은 세미콜론(;)으로 구분 • JSP페이지를 이용하면 HTML문서뿐만 아니라 XML문서도 생성할 수 있다. 그럴 때는 contentType애트리뷰트에 문서의 종류를 text/xml로 써야 한다. 한글이 포함된 JSP 페이지일 경우 ASCII 코드로만 구성된 JSP 페이지일 경우 ‘text/html’은 contentType 애트리뷰트의 디폴트 값이므로 이 page 지시자는 생략할 수 있다

  27. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 지시자의 문법 – page 지시자의 애트리뷰트 • JSP페이지가 서블릿 클래스로 변환될 때 contentType애트리뷰트의 값은 setContentType메서드 호출문의 파라미터가 된다.

  28. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 지시자의 문법 – page 지시자의 애트리뷰트 • import애트리뷰트 • 자바의 import문과 마찬가지로 다른 패키지에 속하는 클래스나 인터페이스를 임포트하는 역할을 한다. java.util 패키지의 GregorianCalendar 클래스를 임포트한다. java.util 패키지의 모든 클래스와 인터페이스를 임포트한다 java.util.ArrayList 클래스와 java.io 패키지의 모든 클래스, 인터페이스를 임포트한다

  29. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 지시자의 문법 – page 지시자의 애트리뷰트 • import애트리뷰트의 사용 예

  30. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 지시자의 문법 – page 지시자의 애트리뷰트 • page지시자에 여러 종류의 애트리뷰트를 함께 쓸 수도 있다. 여러 종류의 애트리뷰트를 함께 쓸 수 있다

  31. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 지시자의 문법 – page 지시자의 애트리뷰트 • include 지시자 • 다른 JSP페이지 또는HTML문서를 불러다가 현재 JSP페이지의 일부로 만들기 위해 사용한다. • 불러올 대상은 file애트리뷰트를 이용해서 지정할 수 있으며, 이 애트리뷰트의 값은 지시자가 속하는 JSP페이지를 기준으로 한 상대적인 URL로 해석된다. 현재 디렉터리에 있는 Today.jsp를 include한다 sub1 디렉터리에 있는 Today.jsp를 include한다

  32. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 지시자의 문법 • include지시자의 사용 예 Today.jsp를 include한다

  33. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 지시자의 문법 • taglib지사자 • JSP문법 중 하나인 액션(action)을 사용할 때 필요 • 액션이 속한 라이브러리를 설치해야만 사용할 수 있다. 액션이 속하는 라이브러리를 지정하는 지시자

  34. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 주석(Comment) 작성 • JSP페이지에서 주석 작성 방법은 다양하다. • JSP페이지의HTML코드 부분 : <!--로 시작해서 -->로 끝나는 HTML주석을 쓸 수 있다. • JSP페이지의 스크립팅 요소 안 : 자바 문법을 따르는 주석을 쓸 수 있다. • JSP고유의 주석을 사용할 수 있다. 시작 표시 끝 표시 시작 표시 끝 표시 시작 표시 끝 표시 시작 표시

  35. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • 주석작성 • 여러 가지 주석의 사용 예 HTML 주석 JAVA 주석

  36. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP 페이지의 서블릿 클래스로의 변환 (1)

  37. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP 페이지의 서블릿 클래스로의 변환 (2)

  38. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP 페이지의 서블릿 클래스로의 변환 (3) • JSP 서블릿 클래스의 주요 메소드 • jspInit() • 서블릿의init() 메소드에서 호출 • jspDestroy() • 서블릿의destroy() 메소드에서 호출 • _jspService() • 서블릿의service() 메소드에서 호출

  39. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP 생명 주기 (1)

  40. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP 생명 주기 (2)

  41. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP 생명 주기 (3)

  42. 2. JSP의 기초 문법(스크립팅 요소, 지시자, 주석) • JSP 생명 주기 (4) • JSP 초기화 방법 • web.xml 파일엣JSP 초기화 파라미터 정의 • jspInit() 메소드 재정의

  43. 3. JSP 페이지의 내장 변수 • 내장 변수(Implicit Variables) • JSP페이지 안에선언을 하지 않고도 사용할 수 있는 변수 • request내장 변수는 서블릿 클래스의 doGet, doPost메서드의 첫 번째 파라미터와 동일한 역할을 한다. • out내장 변수는 서블릿 클래스에서 getWriter메서드를 호출해서 얻은 PrintWriter객체와 마찬가지의 역할을 한다. 내장 변수 내장 변수 [그림 3-15] JSP페이지의 내장 변수의 예

  44. 3. JSP 페이지의 내장 변수 • JSP페이지 안에서 내장 변수를 사용할 수 있는 이유는 웹 컨테이너가 JSP페이지를 서블릿 클래스로 변환할 때 자동으로 내장 변수를 선언하기 때문 • JSP페이지에서 사용할 수 있는 내장 변수들:

  45. 3. JSP 페이지의 내장 변수 • JSP 내장 객체

  46. 3. JSP 페이지의 내장 변수 • request내장 변수 • 서블릿 클래스에 있는 doGet, doPost메서드의 첫 번째 파라미터와 동일 • 타입도 동일하게 javax.serlet.http.HttpServletRequest이다. • 사용 예: • 웹 브라우저를 통해 입력된 데이터를 가져다가 처리하는 애플리케이션 데이터 이름 [그림 3-17] 인사말을출력하는 웹 애플리케이션의 화면 설계

  47. 3. JSP 페이지의 내장 변수 • request내장 변수 • 둘 이상의 화면으로 구성된 애플리케이션은 먼저 URL을 정한 뒤 각 URL에 해당하는 코드를 작성하는 것이 좋다. [그림3-17] 왼쪽 화면 URL [그림3-17] 오른쪽 화면 URL

  48. 3. JSP 페이지의 내장 변수 • request내장 변수 [그림 3-18] 예제 3-6, 예제 3-7의 실행 결과

  49. 3. JSP 페이지의 내장 변수 • out내장 변수 • JSP페이지에서는 HTML코드와 표현식만 가지고도 원하는 HTML문서를 만들어서 출력 가능 [그림 3-19] 1부터 10까지의 정수를 순서대로 출력하는 웹 페이지

  50. 3. JSP 페이지의 내장 변수 • out내장 변수 • 서블릿 클래스에서 getWriter메서드를 호출해서 얻은 PrintWriter객체와 비슷한 역할을 한다. • 표현식으로 표현 할 수 없는 내용을 출력하고자 할 때에 사용

More Related