2 JSP v jsp include 8 2 jsp

  • Slides: 38
Download presentation

2. JSP 페이지의 모듈화에 사용되는 표준 액션 v <jsp: include> 표준 액션의 사용 방법

2. JSP 페이지의 모듈화에 사용되는 표준 액션 v <jsp: include> 표준 액션의 사용 방법 [예제 8 -2] <jsp: include> 액션의 사용 예를 보여주는 예제 (2) <%@page content. Type= “text/html; charset=euc-kr ”%> <HTML> <HEAD><TITLE>당첨자 명단</TITLE></HEAD> <BODY> <H 3>당첨자 명단</H 3> 14553 연흥부 <BR> 63563 심청 <BR> 73992 이몽룡 <BR> <jsp: include page= “Now. jsp ”/> </BODY> Now. jsp를 include합니 </HTML> 다 <%@page content. Type=“text/html; charset=euc-kr”%> <%@page import=“java. util. *”%> <% Gregorian. Calendar now = new Gregorian. Calendar(); String date = String. format(“%TY년 %Tm월 %Td일”, now, now); String time = String. format(“%Tp %TR”, now); %> [현재 시각] <%= date %> <%= time %> 시스템 시계로부터 현재 시각을 가져 다가 YY년 MM월 DD일 포맷의 날짜와 AM/PM hh: mm 포맷의 시각으로 편집합니다. 7/37

2. JSP 페이지의 모듈화에 사용되는 표준 액션 v <jsp: forward> 표준 액션의 사용 방법

2. JSP 페이지의 모듈화에 사용되는 표준 액션 v <jsp: forward> 표준 액션의 사용 방법 [예제 8 -3] <jsp: forward> 액션의 사용 예를 보여주는 예제 <% int sum = 0; for (int cnt = 1; cnt <= 100; cnt++) sum += cnt; request. set. Attribute( “RESULT ”, new Integer(sum)); %> <jsp: forward page= “Hundred. Result. jsp ” /> 실행의 제어를 넘긴다. <%@page content. Type= “text/html; charset=euc-kr ”%> <HTML> <HEAD><TITLE>1부터 100까지의 합</TITLE></HEAD> <BODY> 1부터 100까지 더한 결과는? ${RESULT} </BODY> </HTML> 앞 장에서 배운 익스프레션 언어를 이 용해서 결과를 출력한다 9/37

3. 자바빈의 호출에 사용되는 표준 액션 [예제 8 -4] 개인 정보를 표현하는 자바빈 클래스

3. 자바빈의 호출에 사용되는 표준 액션 [예제 8 -4] 개인 정보를 표현하는 자바빈 클래스 package mall; public class Personal. Info { private String name; // 이름 private char gender; // 성별 private int age; // 나이 public void set. Name(String name) { this. name = name; } public String get. Name() { return name; } public void set. Gender(char gender) { this. gender = gender; } public char get. Gender() { return gender; } public void set. Age(int age) { this. age = age; } public int get. Age() { return age; } } • 이 클래스에 있는 get-메서드와 set-메서드는 자바빈의 내부 데이터를 읽고 쓰는 기능을 제공한 다. 이런 메서드를 통해 읽고 쓸 수 있는 데이터를 자바빈의 프로퍼티(property)라고 한다. 10/37

3. 자바빈의 호출에 사용되는 표준 액션 v 자바빈 관련 표준 액션의 기초 사용 방법

3. 자바빈의 호출에 사용되는 표준 액션 v 자바빈 관련 표준 액션의 기초 사용 방법 자바빈 객체를 생성합니 다. [예제 8 -5] 표준 액션을 이용해서 자바빈 프로퍼티를 설정하고 가져오는 JSP 페이지 (1) <%@page content. Type= “text/html; charset=euc-kr ”%> <HTML> <HEAD><TITLE>회원 정보</TITLE></HEAD> <BODY> <jsp: use. Bean class= “mall. Personal. Info ” id= “pinfo ” /> <jsp: set. Property name= “pinfo ” property= “name ” value= “김연희 ” /> <jsp: set. Property name= “pinfo ” property= “gender ” value= “여 ” /> <jsp: set. Property name= “pinfo ” property= “age ” value= “ 29 ” /> 이름: <jsp: get. Property name= “pinfo ” property= “name ” /> <BR> 성별: <jsp: get. Property name= “pinfo ” property= “gender ” /> <BR> 나이: <jsp: get. Property name= “pinfo ” property= “age ” /> </BODY> </HTML> 자바빈 객체에 프로퍼티 값을 설정합니다 자바빈 객체로부터 프로퍼티 값을 가져다가 출력합니다 14/37

3. 자바빈의 호출에 사용되는 표준 액션 v 자바빈 관련 표준 액션의 기초 사용 방법

3. 자바빈의 호출에 사용되는 표준 액션 v 자바빈 관련 표준 액션의 기초 사용 방법 [예제 8 -6] 표준 액션을 이용해서 자바빈 프로퍼티를 설정하고 가져오는 JSP 페이지 (2) <%@page content. Type= “text/html; charset=euc-kr ”%> <jsp: use. Bean class= “mall. Personal. Info ” id= “pinfo ” scope= “request ” /> <jsp: set. Property name= “pinfo ” property= “name ” value= “김현수 ” /> <jsp: set. Property name= “pinfo ” property= “gender ” value= “남 ” /> <jsp: set. Property name= “pinfo ” property= “age ” value= “ 23 ” /> <jsp: forward page= “Customer. Info. Viewer. jsp ” /> 호 출 request 영역으로부터 자바빈 객 체를 가져옵니다 <%@page content. Type= “text/html; charset=euc-kr ”%> <HTML> <HEAD><TITLE>회원 정보</TITLE></HEAD> <BODY> <jsp: use. Bean class= “mall. Personal. Info ” id= “pinfo ” scope= “request ” /> 이름: <jsp: get. Property name= “pinfo ” property= “name ” /> <BR> 성별: <jsp: get. Property name= “pinfo ” property= “gender ” /> <BR> 나이: <jsp: get. Property name= “pinfo ” property= “age ” /> </BODY> </HTML> 16/37

3. 자바빈의 호출에 사용되는 표준 액션 [예제 8 -7] 서블릿 클래스가 JSP 페이지로 자바빈

3. 자바빈의 호출에 사용되는 표준 액션 [예제 8 -7] 서블릿 클래스가 JSP 페이지로 자바빈 객체를 넘겨주는 예 package mall; import javax. servlet. http. *; import javax. servlet. *; import java. io. *; public class Personal. Info. Servlet extends Http. Servlet { public void do. Get(Http. Servlet. Request request, Http. Servlet. Response response) throws IOException, Servlet. Exception { Personal. Info obj = new Personal. Info(); obj. set. Name( “이정호 ”); obj. set. Gender( ‘남 ’); obj. set. Age(24); request. set. Attribute( “pinfo ”, obj); Request. Dispatcher dispatcher = request. get. Request. Dispatcher( “Customer. Info. Viewer. jsp ”); dispatcher. forward(request, response); } } 자바빈 객체를 request 영역에 저장합니다 JSP 페이지를 호출합니 다. <%@page content. Type= “text/html; charset=euc-kr ”%> <HTML> <HEAD><TITLE>회원 정보</TITLE></HEAD> <BODY> <jsp: use. Bean class= “mall. Personal. Info ” id= “pinfo ” scope= “request ” /> 이름: <jsp: get. Property name= “pinfo ” property= “name ” /> <BR> 성별: <jsp: get. Property name= “pinfo ” property= “gender ” /> <BR> 나이: <jsp: get. Property name= “pinfo ” property= “age ” /> </BODY> </HTML> request 영역으로부터 자바빈 객체를 가져옵니 다 18/37

3. 자바빈의 호출에 사용되는 표준 액션 v 자바빈의 다형성을 활용하는 방법 [예제 8 -10]

3. 자바빈의 호출에 사용되는 표준 액션 v 자바빈의 다형성을 활용하는 방법 [예제 8 -10] 상속 관계를 갖는 3개의 자바빈 클래스 package mall; public class Product. Info { private String code; // 제품코드 private String name; // 제품명 private int price; // 가격 public void set. Code(String code) { this. code = code; } public void set. Name(String name) { this. name = name; } public void set. Price(int price) { this. price = price; } public String get. Code() { return code; } public String get. Name() { return name; } public int get. Price() { return price; } } 상 속 package mall; public class Book. Info extends Product. Info { private short page; // 페이지수 private String writer; // 저자 public void set. Page(short page) { this. page = page; } public void set. Writer(String writer) { this. writer = writer; } public short get. Page() { return page; } public String get. Writer() { return writer; } } package mall; public class Clothing. Info extends Product. Info { private char size; // 사이즈(L/M/S) private String color; // 색상 public void set. Size(char size) { this. size = size; } public void set. Color(String color) { this. color = color; } public char get. Size() { return size; } public String get. Color() { return color; } } 23/37

3. 자바빈의 호출에 사용되는 표준 액션 [예제 8 -11] 표준 액션을 이용해서 자바빈 클래스의

3. 자바빈의 호출에 사용되는 표준 액션 [예제 8 -11] 표준 액션을 이용해서 자바빈 클래스의 다형성을 활용하는 예 <%@page content. Type= “text/html; charset=euc-kr ”%> <jsp: use. Bean class= “mall. Book. Info ” id= “pinfo ” scope= “request ”/> <jsp: set. Property name= “pinfo ” property= “code ” value= “ 50001 ” /> <jsp: set. Property name= “pinfo ” property= “name ” value= “의뢰인 ” /> <jsp: set. Property name= “pinfo ” property= “price ” value= “ 9000 ” /> <jsp: set. Property name= “pinfo ” property= “writer ” value= “존 그리샴 ” /> <jsp: set. Property name= “pinfo ” property= “page ” value= “ 704 ” /> <HTML> <HEAD><TITLE>책 정보 관리</TITLE></HEAD> <BODY> 책 정보가 저장되었습니다. <BR> -------------<BR> <H 3>제품 개략 정보</H 3> <jsp: include page= “Product. Info. jsp ” /> </BODY> </HTML> <%@page content. Type= “text/html; charset=euc-kr ”%> <jsp: use. Bean class= “mall. Clothing. Info ” id= “pinfo ” scope= “request ”/> <jsp: set. Property name= “pinfo ” property= “code ” value= “ 70002 ” /> <jsp: set. Property name= “pinfo ” property= “name ” value= “반팔 티셔츠 ” /> <jsp: set. Property name= “pinfo ” property= “price ” value= “ 15000 ” /> <jsp: set. Property name= “pinfo ” property= “size ” value= “M ” /> <jsp: set. Property name= “pinfo ” property= “color ” value= “베이지 ” /> <HTML> <HEAD><TITLE>의류 정보 관리</TITLE></HEAD> <BODY> 의류 정보가 저장되었습니다. <BR> -------------<BR> <H 3>제품 개략 정보</H 3> <jsp: include page= “Product. Info. jsp ” /> </BODY> </HTML> Book. Info. Saver. jsp 포 함 Product. Info. jsp <%@page content. Type=“text/html; charset=euc-kr”%> <jsp: use. Bean class=“mall. Product. Info” id=“pinfo” scope=“request” /> 코드: <jsp: get. Property name=“pinfo” property=“code” /> <BR> 제품명: <jsp: get. Property name=“pinfo” property=“name” /> <BR> 가격: <jsp: get. Property name=“pinfo” property=“price” /> <BR> 포 함 Clothing. Info. Saver. jsp 25/37

4. 그 밖에 유용한 표준 액션들 v 애플릿을 불러오는 태그를 만드는 표준 액션 [예제

4. 그 밖에 유용한 표준 액션들 v 애플릿을 불러오는 태그를 만드는 표준 액션 [예제 8 -13] <jsp: plugin> 액션의 사용 예를 보여주는 JSP 페이지 <%@page content. Type= “text/html; charset=euc-kr ”%> <HTML> <HEAD><TITLE>헬로 자바 애플릿</TITLE></HEAD> <BODY> <jsp: plugin type= “applet ” code= “Hello. Java. Applet. class ” width= “ 200 ” height= “ 100 ” /> </BODY> </HTML> [그림 8 -15] 예제 8 -13의 실행 결과 33/37

4. 그 밖에 유용한 표준 액션들 v 애플릿을 불러오는 태그를 만드는 표준 액션 [예제

4. 그 밖에 유용한 표준 액션들 v 애플릿을 불러오는 태그를 만드는 표준 액션 [예제 8 -14] <jsp: plugin> 표준 액션에 애플릿의 초기화 파라미터를 설정하는 예 애플릿 클래 스 import java. awt. *; import javax. swing. *; public class Greeting. Applet extends JApplet { public void init() { String greeting = get. Parameter( “GREETING ”); String font = get. Parameter( “FONT ”); Container content. Pane = get. Content. Pane(); JLabel label = new JLabel(greeting, Swing. Constants. CENTER); label. set. Font(new Font(font, Font. PLAIN, 20)); content. Pane. add(label); } } 애플릿 클래스를 불러오는 JSP 페이지 <%@page content. Type= ”text/html; charset=euc-kr ”%> <HTML> <HEAD><TITLE>애플릿으로 인사하기</TITLE></HEAD> <BODY> <jsp: plugin type= “applet ” code= “Greeting. Applet. class ” width= “ 500 ” height= “ 200 ” > <jsp: params> <jsp: param name= “GREETING ” value= “기체후 일향 만강하시옵니까. ”/> <jsp: param name= “FONT ” value= “궁서체 ”/> </jsp: params> </jsp: plugin> </BODY> </HTML> 애플릿의 초기화 파라미터 값을 가져옵니다. 그 값을 이용해서 애플릿 안 에 라벨(텍스트 출력용 컴포넌트 )을 만듭니다 애플릿의 초기화 파라미터를 설정합니다 35/37