SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
2 ███████████
2
이 명 진, 최 영 관
Powered by http://www.jabook.org
2nd
Edition
소설같은
JSP
2장 서블릿과 JSP 시작하기
2.1 톰캣 애플리케이션 만들기
2.1.1 톰캣의 웹 애플리케이션
▣ 웹 애플리케이션이란?
◈ 웹 환경에서 디렉터리는 애플리케이션의 의미를 담고 있다.
◈ webapps 디렉터리 밑에 존재하는 디렉터리들
– webapps 디렉터리
• 톰캣의 웹 애플리케이션들이 존재하는 디렉터리
▣ 웹 애플리케이션의 구성
◈ 웹 애플리케이션 디렉터리
– JSP(.jsp), HTML(.html) 파일들이 위치하는 곳
– 웹을 통해 공개되므로, 파일들을 직접 실행 가능하다.
◈ WEB-INF 디렉터리
– 클래스(.class) 파일과 web.xml 파일이 위치하는 곳
– 서블릿 파일이 위치하는 곳
– 웹을 통해 공개되지 않으므로, 직접 접근이 불가능하다.
◈ web.xml
– 웹 애플리케이션의 환경설정 파일
웹 애플리케
이션들
웹 애플리케이션이
되려면 WEB-INF
디렉터리와
web.xml 파일이 있
어야 한다.
2.1.2 웹 애플리케이션을 위한 파일들의 저장 위치
▣ HTML(.html, .htm)과 JSP(.jsp) 파일
◈ WEB-INF 상위에 작성해야 한다.
▣ web.xml 파일
◈ WEB-INF 디렉터리에 저장해야 한다.
▣ 클래스 파일
◈ WEB-INF/classes 디렉터리에 존재해야 한다.
◈ classes 폴더가 존재하지 않으면, 만들어서 사용하면 된다.
웹 애플리케이션을
위해 모든 파일들
은 특정 디렉터리
에 존재해야 한다.
2.1.3 ROOT 애플리케이션과 디폴트 웹 페이지
▣ ROOT 애플리케이션
◈ 톰캣의 홈 디렉터리
◈ 위치
– %CATALINA_HOME%webappsROOT
▣ 디폴트 웹 페이지란?
◈ 웹 애플리케이션에 접근할 때 가장 먼저 실행되는 파일
◈ index.jsp, index.html, index.htm
▣ ROOT 애플리케이션의 접근
◈ http://localhost:8080
◈ 디폴트 웹 페이지인
index.jsp가 자동 실행된다.
http://localhost:8080
ROOT 애플리케이
션에서 index.jsp 파
일이 디폴트 웹 페
이지이다.
2.1.4 ROOT 애플리케이션에 HTML 파일 만들기
▣ hello.html 소스코드
▣ hello.html 파일의 위치
◈ %CATALINA_HOME%webappsROOT
▣ hello.html 실행하기
◈ http://localhost:8080/hello.html
http://localhost:8080/hello.html
<html>
<body>
<h1>Hello! ROOT Application</h1>
</body>
</html>
2.1.5 사용자 정의 웹 애플리케이션
▣ 사용자 정의 웹 애플리케이션이란?
◈ ROOT 디렉터리와 같은 웹 애플리케이션을 사용자가 직접 새롭게 만든 웹
애플리케이션
◈ %CATALINA_HOME%webapps에 디렉터리 형태로 관리된다.
▣ 사용자 정의 웹 애플리케이션 작성 절차
webapps 디렉터리 하위에
웹 애플리케이션으로 사용할
디렉터리를 만든다.
작성된 디렉터리의 하위에
WEB-INF 디렉터리를 만든다.
WEB-INF 디렉터리 밑에
web.xml 파일을 작성한다.
클래스 파일(.class) 파일이
있을 경우
WEB-INF 디렉터리 밑에
classes 디렉터리를 만들고,
그곳에 위치시킨다.
HTML과 JSP 파일을
작성한다.
웹 애플리케이션을
실행한다.
2.1.6 새로운 웹 애플리케이션 만들기 (1)
1. %CATALINA_HOME%webapps 하위에 새로운 웹 애플리케이션을
위한 MySample 디렉터리를 만든다.
◈ 웹 애플리케이션은 하나의 디렉터리로 관리된다.
2. MySample 디렉터리 하위에 WEB-INF 디렉터리를 만든다.
▣ WEB-INF 디렉터리는 web.xml 파일과
클래스 파일들을 작성하기 위한
디렉터리이다.
새로운 웹 애플리케이션을
만들기 위해서는 webapps
디렉터리에 웹 애플리케이
션을 위한 디렉터리를 만
들고, 그 하위에 WEB-INF
디렉터리를 만든다.
2.1.7 새로운 웹 애플리케이션 만들기 (2)
3. WEB-INF 디렉터리 밑에 web.xml 파일을 작성한다.
◈ web.xml : 웹 애플리케이션을 실행하기 위한 환경설정 파일
◈ ROOTWEB-INF 디렉터리에 있는 web.xml 파일을 복사해서
MySampleWEB-INF 디렉터리에 붙여 넣는다.
4. 클래스 파일들을 저장하기 위한 디렉터리인 classes 디렉터리를 WEB-
INF 디렉터리 밑에 만든다.
복사
web.xml 파일은 WEB-
INF 디렉터리 밑에 작성
하며, 서블릿 파일과 클
래스 파일들은 WEB-
INFclasses 디렉터리에
작성한다.
web.xml 파일이
반드시 있어야
만 하나의 웹 어
플리케이션으
로써 동작한다.
2.1.8 새로운 웹 애플리케이션 만들기 (3)
5. MySample 디렉터리에 HTML 파일 작성
◈ myhello.html
◈ myhello.html 파일의 위치
– %CATALINA_HOME%webappsMySample
6. 웹 애플리케이션 실행
◈ http://localhost:8080/MySample/myhello.html
<html>
<body>
<h1>Hello! MySample Application</h1>
</body>
</html>
HTML과 JSP 파일
은 WEB-INF 디렉
터리 상위에 위치
해야 한다.
디렉터리 이름 HTML 파일 이름
사용자 정의 웹 애플리케이션은
[디렉터리 이름HTML 파일 이름]
형식으로 접근한다.
2.2 간단한 서블릿 만들기
2.2.1 톰캣의 환경 설정 (1)
▣ 톰캣의 환경 설정 파일 설정하기 (1)
◈ %CATALINA_HOME%conf 디렉터리의 web.xml 파일 수정
▣ web.xml 파일 변경 이유
◈ 톰캣에서 서블릿을 실행할 수 있도록 서블릿의 접근 방법을 지정해 주어야
만 서블릿을 실행할 수 있다.
톰캣에서 서블릿을
실행하기 위해서는
web.xml 파일을 수
정해야만 한다.
◈ 99번째 ~ 109번째 줄 주석 해제 ◈ 348번째 ~ 351번째 줄 주석 해제
두 군데 주석을
풀어주어야만 서
블릿을 실행할
수 있다.
2.2.1 톰캣의 환경 설정 (2)
▣ 톰캣의 환경 설정 파일 설정하기 (2)
◈ %CATALINA_HOME%conf 디렉터리의 context.xml 파일 수정
▣ context.xml 파일 수정
톰캣 6.0에서는 서블
릿을 실행하기 위해
web.xml 파일을 수정
한 후 context.xml 파
일도 수정해 주어야
한다.
2.2.2 간단한 서블릿 만들기
▣ 톰캣에서 서블릿을 만드는 절차
▣ 주의 사항
◈ 웹 애플리케이션의 WEB-INF 하위의 classes 디렉터리 내에서 작업
◈ classpath로 servlet-api.jar 파일이 잡혀 있어야 한다.
– 서블릿을 지원하는 클래스들을 프로그램적으로 이용하기 위해서 servlet-api.jar
파일을 클래스 패스에 추가해 주어야 한다.
– %CATALINA_HOME%commonlibservlet-api.jar
서블릿 코드(.java)를 작성한 후
classes 폴더 하위에 저장
서블릿 코드(.java) 컴파일
서블릿 실행
서블릿 또한 자바
코드(.java)이므로
컴파일 한 후 웹 브
라우저를 이용해서
실행할 수 있다.
2.2.3 HelloServlet 코드 작성
▣ 서블릿 클래스 import
▣ HttpServlet 클래스
◈ 서블릿을 만들기 위해서는 HttpServlet을 반드시 상속받아야 한다.
▣ doGet() 메소드
◈ 클라이언트의 Get 방식 호출을 처리하기 위해서는 doGet() 메소드를 재정의
하고 그곳에 코드를 작성하면 된다.
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloServlet extends HttpServlet {
...
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 서블릿 코드 작성
}
2.2.4 HelloServlet 코드 저장, 컴파일 및 실행
▣ HelloServlet 코드 저장 위치
◈ 파일명 : HelloServlet.java
◈ 디렉터리 : %CATALINA_HOME%webappsMySampleWEB-INFclasses
▣ HelloServlet.java 컴파일
▣ 웹 브라우저에서 HelloServlet 실행
◈ http://localhost:8080/MySample/servlet/HelloServlet
C:...MySampleWEB-INFclasses> javac HelloServlet.java
서블릿의 클래스
파일은 WEB-INF
의 classes 디렉터리
밑에 존재해야 한
다.
디렉터리 이름 URL 패턴 서블릿 이름
2.2.5 패키지 형태의 서블릿
▣ 패키지 형태의 서블릿
◈ 서블릿을 패키지(폴더)로 묶어서 관리하기 위해 사용
▣ 패키지로 묶는 이유
◈ 서블릿 페이지가 많아지면 한 곳에서 관리하기 어렵다.
◈ 프로젝트 관리가 가능하며 작업 분류가 쉽다.
▣ 패키지 형태의 HelloPackageServlet 만들기
1. 서블릿 코드 작성
2. 서블릿 코드 컴파일
3. 웹 브라우저를 이용해서 실행
2.2.6 HelloPackageServlet 코드 작성 및 저장
▣ 패키지 형태의 서블릿을 만드는 방법
◈ 소스 코드 첫 줄에 package 명령어를 붙여주면 된다.
◈ package org.jabook.myhello;
▣ 서블릿 코드 저장
◈ 파일명 : HelloPackageServlet.java
◈ 디렉터리 : %CATALINA_HOME%webappsMySampleWEB-INFclasses
명령어 패키지 이름
패키지는 package 명
령어와 함께 패키지의
이름을 적어주면 된다.
이때 "."은 디렉터리
구분자인 ""와 동일한
의미이다.
2.2.7 HelloPackageServlet 컴파일 및 실행
▣ HelloPackageServlet.java 컴파일
◈ -d 옵션
– -d 옵션을 이용해서 컴파일을 하면 패키지 디렉터리와 class 파일이 자동으로 생
성된다.
▣ 웹 브라우저에서 HelloPackageServlet 실행
◈ 패키지 형태의 서블릿 실행 시 서블릿 이름과 함께 패키지 명을 기술해 주
어야 한다.
C:...MySampleWEB-INFclasses> javac -d . HelloPackageServlet.java
-d 옵션 뒤의 "."은
현재 디렉터리를
기준으로 패키지
디렉터리를 생성하
겠다는 의미이다.
http://localhost:8080/MySample/servlet/org.jabook.myhello.HelloPackageServlet
디렉터리 이름 URL 패턴 패키지 이름 서블릿 이름
2.3 간단한 JSP 만들기
2.3.1 HelloJSP 코드 작성
▣ JSP 페이지의 한글 설정
◈ 한글 설정을 해 주어야만 한글을 제대로 출력할 수 있다.
▣ JSP 코드
◈ JSP는 페이지코드 안에 자바 코드와 HTML 코드가 섞여있다.
<%@page contentType="text/html; charset=euc-kr"%>
<html>
<head>
<title>Hello JSP</title>
</head>
<body>
<%
out.println("<h1> Hello World JSP Test!!</h1>");
%>
</body>
</html>
한글을 출력하기
위해서는 JSP 코드
의 맨 위에 한글 사
용을 위한 선언을
해주어야 한다.
2.3.2 HelloJSP 저장 및 실행
▣ JSP 코드 저장
◈ 파일명 : hello.jsp
◈ 디렉터리 : %CATALINA_HOME%webappsMySample
▣ HelloJSP 실행
http://localhost:8080/MySample/hello.jsp
디렉터리 이름 JSP 이름
JSP 코드는 컴
파일을 할 필
요가 없다.
처음 JSP 파일을
접속할 때 내부에
서 자동으로 컴파
일이 이루어진다.
2.4 간단한 자바빈즈 만들기
2.4.1 자바빈즈(JavaBeans)
▣ 자바빈즈란?
◈ 비즈니스 로직을 담고 있으며 자바빈즈 규약을 따르는 클래스
– http://java.sun.com/products/javabeans/docs/spec.html
◈ 특정 데이터를 관리하고 표현하기 위해 JSP에서 사용하는 특수한
형태의 클래스
▣ 자바빈즈의 구성
◈ 생성자
◈ 멤버 필드
◈ 데이터 저장을 위한 set~ 형태의 멤버 메소드
◈ 데이터 추출을 위한 get~ 형태의 멤버 메소드
자바빈즈는 특정
데이터나 데이터
집합을 관리하기
위해 JSP에서 사용
하는 특수한 형태
의 클래스를 일컫
는다.
2.4.2 HelloBean 코드 작성
▣ 패키지 선언
◈ 자바빈즈는 패키지 형태로 관리된다.
▣ 멤버 필드
▣ set~ 멤버 메소드
▣ get~ 멤버 메소드
package hello;
private String name;
public void setStatement(String name) {
this.name = name;
}
public String getStatement() {
return "Hello " + this.name;
}
용도에 따라 set~
메소드나 get~ 메소
드가 없는 형태의
자바빈즈도 있다.
2.4.3 JSP에서 자바빈즈 사용하기
▣ 자바 코드를 이용하는 방법
◈ JSP 내에서 자바 코드를 이용하여 자바빈즈 객체를 생성하고 이용
하는 방법
▣ JSP의 액션 태그(Action Tag)를 이용하는 방법
◈ JSP의 액션 태그 중 <jsp:useBean> 액션 태그를 이용해서 자바빈즈
객체를 생성하고 이용하는 방법
◈ 액션 태그(Action Tag)란?
– JSP 페이지에서 특별한 기능을 위해 정의된 XML 형태의 태그
◈ <jsp:useBean> 액션 태그
– JSP 페이지에서 자바빈즈를 이용하기 위한 태그
자바빈즈를 이
용하는 방법에
는 두 가지가 있
다.
2.4.4 자바 코드를 이용한 HelloBean 이용하기
▣ HelloBean을 사용하기 위한 클래스 임포트
◈ HelloBean 클래스를 임포트 해야지만 HelloBean 객체를 생성해서 사용할 수
있다.
▣ HelloBean 객체 생성
▣ HelloBean 객체 사용
<%@page import="hello.HelloBean"%>
HelloBean myHello = new HelloBean();
myHello.setStatement("Grace Byun!!");
str = myHello.getStatement();
자바 코드를 이용해서
자바빈즈를 사용하는
방법은 우리가 자바 프
로그래밍에서 일반적
으로 객체를 생성하는
것과 동일하다.
2.4.5 helloBean.jsp 저장과 실행
▣ JSP 코드 저장
◈ 파일명 : helloBean.jsp
◈ 디렉터리 : %CATALINA_HOME%webappsMySample
▣ helloBean 실행
http://localhost:8080/MySample/helloBean.jsp
디렉터리 이름 JSP 이름
2.4.6 액션 태그를 이용한 HelloBean 이용하기
▣ <jsp:useBean> 액션 태그
◈ 자바빈즈 클래스의 객체를 생성하기 위한 액션 태그
▣ <jsp:useBean> 액션 태그의 사용법
◈ id 어트리뷰트
– 객체의 이름
◈ class 어트리뷰트
– 사용하려는 자바빈즈 클래스 이름
– 패키지 명과 자바빈즈 클래스 이름을 함께 기술
◈ scope 어트리뷰트
– page 값을 가질 경우 자바빈즈의 유효범위를 현재 페이지로 제한
◈ 위 구문은 아래와 동일한 구문이다.
<jsp:useBean id="hello" class="HelloWorld" scope="page" />
객체의 이름 자바빈즈 클래스 이름 자바빈즈의 유효범위 지정
HelloWorld hello = new HelloWorld();
2.4.7 helloBeanTag.jsp 코드 작성
▣ <jsp:useBean> 액션 태그를 사용해서 객체 생성
▣ HelloBean 객체 사용
<jsp:useBean id="myHello" class="hello.HelloBean" scope="page" />
myHello.setStatement("MyungJin Lee!!");
str = myHello.getStatement();
<%@page import="hello.HelloBean"%>
<%
HelloBean myHello = new HelloBean();
%>
두 개는 동
일한 구문
이다.
2.4.8 helloBeanTag.jsp 저장과 실행
▣ JSP 코드 저장
◈ 파일명 : helloBeanTag.jsp
◈ 디렉터리 : %CATALINA_HOME%webappsMySample
▣ helloBeanTag 실행
http://localhost:8080/MySample/helloBeanTag.jsp
디렉터리 이름 JSP 이름
액션 태그를 이
용하면 코드를
간결화 시킬 수
있다.
End ███████████
End

Weitere ähnliche Inhalte

Ähnlich wie JSP 프로그래밍 #02 서블릿과 JSP 시작하기

Spring@mvc웹호스팅
Spring@mvc웹호스팅Spring@mvc웹호스팅
Spring@mvc웹호스팅J.H Ahn
 
JSP 프로그래밍 #01 웹 프로그래밍
JSP 프로그래밍 #01 웹 프로그래밍JSP 프로그래밍 #01 웹 프로그래밍
JSP 프로그래밍 #01 웹 프로그래밍Myungjin Lee
 
자바 서블릿과 세션 (Java Servlet, Session)
자바 서블릿과 세션 (Java Servlet, Session)자바 서블릿과 세션 (Java Servlet, Session)
자바 서블릿과 세션 (Java Servlet, Session)Yu Yongwoo
 
Spring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodeSpring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodedpTablo
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기Ted Won
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기sung ki choi
 
React 튜토리얼 2차시
React 튜토리얼 2차시React 튜토리얼 2차시
React 튜토리얼 2차시태현 김
 
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...Jonghyun Park
 
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...Jonghyun Park
 
JSP 프로그래밍 #04 JSP 의 기본
JSP 프로그래밍 #04 JSP 의 기본JSP 프로그래밍 #04 JSP 의 기본
JSP 프로그래밍 #04 JSP 의 기본Myungjin Lee
 
(추천자마린교육)Xamarin.android에서 안드로이드 자바 라이브러리 바인딩 하는 방법_EmbeddedJar, 자바 JAR 파일을 자...
(추천자마린교육)Xamarin.android에서 안드로이드 자바 라이브러리 바인딩 하는 방법_EmbeddedJar, 자바 JAR 파일을 자...(추천자마린교육)Xamarin.android에서 안드로이드 자바 라이브러리 바인딩 하는 방법_EmbeddedJar, 자바 JAR 파일을 자...
(추천자마린교육)Xamarin.android에서 안드로이드 자바 라이브러리 바인딩 하는 방법_EmbeddedJar, 자바 JAR 파일을 자...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Jsp convert to Servlet
Jsp convert to ServletJsp convert to Servlet
Jsp convert to ServletJU Chae
 

Ähnlich wie JSP 프로그래밍 #02 서블릿과 JSP 시작하기 (20)

Final report201101
Final report201101Final report201101
Final report201101
 
Spring@mvc웹호스팅
Spring@mvc웹호스팅Spring@mvc웹호스팅
Spring@mvc웹호스팅
 
JSP 프로그래밍 #01 웹 프로그래밍
JSP 프로그래밍 #01 웹 프로그래밍JSP 프로그래밍 #01 웹 프로그래밍
JSP 프로그래밍 #01 웹 프로그래밍
 
자바 서블릿과 세션 (Java Servlet, Session)
자바 서블릿과 세션 (Java Servlet, Session)자바 서블릿과 세션 (Java Servlet, Session)
자바 서블릿과 세션 (Java Servlet, Session)
 
Spring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodeSpring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCode
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 
Webpack&babel
Webpack&babelWebpack&babel
Webpack&babel
 
WIPI.ppt
WIPI.pptWIPI.ppt
WIPI.ppt
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
 
React 튜토리얼 2차시
React 튜토리얼 2차시React 튜토리얼 2차시
React 튜토리얼 2차시
 
3.Spring IoC&DI(spring ioc실습, XML기반)
3.Spring IoC&DI(spring ioc실습, XML기반)3.Spring IoC&DI(spring ioc실습, XML기반)
3.Spring IoC&DI(spring ioc실습, XML기반)
 
Springmvc
SpringmvcSpringmvc
Springmvc
 
Spring boot DI
Spring boot DISpring boot DI
Spring boot DI
 
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...
 
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...
Ibm rational application developer 및 dojo를 사용하여 ajax 웹 애플리케이...
 
JSP 프로그래밍 #04 JSP 의 기본
JSP 프로그래밍 #04 JSP 의 기본JSP 프로그래밍 #04 JSP 의 기본
JSP 프로그래밍 #04 JSP 의 기본
 
(추천자마린교육)Xamarin.android에서 안드로이드 자바 라이브러리 바인딩 하는 방법_EmbeddedJar, 자바 JAR 파일을 자...
(추천자마린교육)Xamarin.android에서 안드로이드 자바 라이브러리 바인딩 하는 방법_EmbeddedJar, 자바 JAR 파일을 자...(추천자마린교육)Xamarin.android에서 안드로이드 자바 라이브러리 바인딩 하는 방법_EmbeddedJar, 자바 JAR 파일을 자...
(추천자마린교육)Xamarin.android에서 안드로이드 자바 라이브러리 바인딩 하는 방법_EmbeddedJar, 자바 JAR 파일을 자...
 
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
 
okspring3x
okspring3xokspring3x
okspring3x
 
Jsp convert to Servlet
Jsp convert to ServletJsp convert to Servlet
Jsp convert to Servlet
 

Mehr von Myungjin Lee

지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)
지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)
지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)Myungjin Lee
 
JSP 프로그래밍 #05 HTML과 JSP
JSP 프로그래밍 #05 HTML과 JSPJSP 프로그래밍 #05 HTML과 JSP
JSP 프로그래밍 #05 HTML과 JSPMyungjin Lee
 
관광 지식베이스와 스마트 관광 서비스 (Knowledge base and Smart Tourism)
관광 지식베이스와 스마트 관광 서비스 (Knowledge base and Smart Tourism)관광 지식베이스와 스마트 관광 서비스 (Knowledge base and Smart Tourism)
관광 지식베이스와 스마트 관광 서비스 (Knowledge base and Smart Tourism)Myungjin Lee
 
오픈 데이터와 인공지능
오픈 데이터와 인공지능오픈 데이터와 인공지능
오픈 데이터와 인공지능Myungjin Lee
 
법령 온톨로지의 구축 및 검색
법령 온톨로지의 구축 및 검색법령 온톨로지의 구축 및 검색
법령 온톨로지의 구축 및 검색Myungjin Lee
 
도서관과 Linked Data
도서관과 Linked Data도서관과 Linked Data
도서관과 Linked DataMyungjin Lee
 
공공데이터, 현재 우리는?
공공데이터, 현재 우리는?공공데이터, 현재 우리는?
공공데이터, 현재 우리는?Myungjin Lee
 
LODAC 2017 Linked Open Data Workshop
LODAC 2017 Linked Open Data WorkshopLODAC 2017 Linked Open Data Workshop
LODAC 2017 Linked Open Data WorkshopMyungjin Lee
 
Introduction of Deep Learning
Introduction of Deep LearningIntroduction of Deep Learning
Introduction of Deep LearningMyungjin Lee
 
쉽게 이해하는 LOD
쉽게 이해하는 LOD쉽게 이해하는 LOD
쉽게 이해하는 LODMyungjin Lee
 
서울시 열린데이터 광장 문화관광 분야 LOD 서비스
서울시 열린데이터 광장 문화관광 분야 LOD 서비스서울시 열린데이터 광장 문화관광 분야 LOD 서비스
서울시 열린데이터 광장 문화관광 분야 LOD 서비스Myungjin Lee
 
LOD(Linked Open Data) Recommendations
LOD(Linked Open Data) RecommendationsLOD(Linked Open Data) Recommendations
LOD(Linked Open Data) RecommendationsMyungjin Lee
 
Interlinking for Linked Data
Interlinking for Linked DataInterlinking for Linked Data
Interlinking for Linked DataMyungjin Lee
 
Linked Open Data Tutorial
Linked Open Data TutorialLinked Open Data Tutorial
Linked Open Data TutorialMyungjin Lee
 
Linked Data Usecases
Linked Data UsecasesLinked Data Usecases
Linked Data UsecasesMyungjin Lee
 
공공데이터와 Linked open data
공공데이터와 Linked open data공공데이터와 Linked open data
공공데이터와 Linked open dataMyungjin Lee
 
공공데이터와 Linked open data
공공데이터와 Linked open data공공데이터와 Linked open data
공공데이터와 Linked open dataMyungjin Lee
 
Linked Data Modeling for Beginner
Linked Data Modeling for BeginnerLinked Data Modeling for Beginner
Linked Data Modeling for BeginnerMyungjin Lee
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLMyungjin Lee
 
Development of Twitter Application #8 - Streaming API
Development of Twitter Application #8 - Streaming APIDevelopment of Twitter Application #8 - Streaming API
Development of Twitter Application #8 - Streaming APIMyungjin Lee
 

Mehr von Myungjin Lee (20)

지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)
지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)
지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)
 
JSP 프로그래밍 #05 HTML과 JSP
JSP 프로그래밍 #05 HTML과 JSPJSP 프로그래밍 #05 HTML과 JSP
JSP 프로그래밍 #05 HTML과 JSP
 
관광 지식베이스와 스마트 관광 서비스 (Knowledge base and Smart Tourism)
관광 지식베이스와 스마트 관광 서비스 (Knowledge base and Smart Tourism)관광 지식베이스와 스마트 관광 서비스 (Knowledge base and Smart Tourism)
관광 지식베이스와 스마트 관광 서비스 (Knowledge base and Smart Tourism)
 
오픈 데이터와 인공지능
오픈 데이터와 인공지능오픈 데이터와 인공지능
오픈 데이터와 인공지능
 
법령 온톨로지의 구축 및 검색
법령 온톨로지의 구축 및 검색법령 온톨로지의 구축 및 검색
법령 온톨로지의 구축 및 검색
 
도서관과 Linked Data
도서관과 Linked Data도서관과 Linked Data
도서관과 Linked Data
 
공공데이터, 현재 우리는?
공공데이터, 현재 우리는?공공데이터, 현재 우리는?
공공데이터, 현재 우리는?
 
LODAC 2017 Linked Open Data Workshop
LODAC 2017 Linked Open Data WorkshopLODAC 2017 Linked Open Data Workshop
LODAC 2017 Linked Open Data Workshop
 
Introduction of Deep Learning
Introduction of Deep LearningIntroduction of Deep Learning
Introduction of Deep Learning
 
쉽게 이해하는 LOD
쉽게 이해하는 LOD쉽게 이해하는 LOD
쉽게 이해하는 LOD
 
서울시 열린데이터 광장 문화관광 분야 LOD 서비스
서울시 열린데이터 광장 문화관광 분야 LOD 서비스서울시 열린데이터 광장 문화관광 분야 LOD 서비스
서울시 열린데이터 광장 문화관광 분야 LOD 서비스
 
LOD(Linked Open Data) Recommendations
LOD(Linked Open Data) RecommendationsLOD(Linked Open Data) Recommendations
LOD(Linked Open Data) Recommendations
 
Interlinking for Linked Data
Interlinking for Linked DataInterlinking for Linked Data
Interlinking for Linked Data
 
Linked Open Data Tutorial
Linked Open Data TutorialLinked Open Data Tutorial
Linked Open Data Tutorial
 
Linked Data Usecases
Linked Data UsecasesLinked Data Usecases
Linked Data Usecases
 
공공데이터와 Linked open data
공공데이터와 Linked open data공공데이터와 Linked open data
공공데이터와 Linked open data
 
공공데이터와 Linked open data
공공데이터와 Linked open data공공데이터와 Linked open data
공공데이터와 Linked open data
 
Linked Data Modeling for Beginner
Linked Data Modeling for BeginnerLinked Data Modeling for Beginner
Linked Data Modeling for Beginner
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQL
 
Development of Twitter Application #8 - Streaming API
Development of Twitter Application #8 - Streaming APIDevelopment of Twitter Application #8 - Streaming API
Development of Twitter Application #8 - Streaming API
 

JSP 프로그래밍 #02 서블릿과 JSP 시작하기

  • 2. 이 명 진, 최 영 관 Powered by http://www.jabook.org 2nd Edition 소설같은 JSP 2장 서블릿과 JSP 시작하기
  • 4. 2.1.1 톰캣의 웹 애플리케이션 ▣ 웹 애플리케이션이란? ◈ 웹 환경에서 디렉터리는 애플리케이션의 의미를 담고 있다. ◈ webapps 디렉터리 밑에 존재하는 디렉터리들 – webapps 디렉터리 • 톰캣의 웹 애플리케이션들이 존재하는 디렉터리 ▣ 웹 애플리케이션의 구성 ◈ 웹 애플리케이션 디렉터리 – JSP(.jsp), HTML(.html) 파일들이 위치하는 곳 – 웹을 통해 공개되므로, 파일들을 직접 실행 가능하다. ◈ WEB-INF 디렉터리 – 클래스(.class) 파일과 web.xml 파일이 위치하는 곳 – 서블릿 파일이 위치하는 곳 – 웹을 통해 공개되지 않으므로, 직접 접근이 불가능하다. ◈ web.xml – 웹 애플리케이션의 환경설정 파일 웹 애플리케 이션들 웹 애플리케이션이 되려면 WEB-INF 디렉터리와 web.xml 파일이 있 어야 한다.
  • 5. 2.1.2 웹 애플리케이션을 위한 파일들의 저장 위치 ▣ HTML(.html, .htm)과 JSP(.jsp) 파일 ◈ WEB-INF 상위에 작성해야 한다. ▣ web.xml 파일 ◈ WEB-INF 디렉터리에 저장해야 한다. ▣ 클래스 파일 ◈ WEB-INF/classes 디렉터리에 존재해야 한다. ◈ classes 폴더가 존재하지 않으면, 만들어서 사용하면 된다. 웹 애플리케이션을 위해 모든 파일들 은 특정 디렉터리 에 존재해야 한다.
  • 6. 2.1.3 ROOT 애플리케이션과 디폴트 웹 페이지 ▣ ROOT 애플리케이션 ◈ 톰캣의 홈 디렉터리 ◈ 위치 – %CATALINA_HOME%webappsROOT ▣ 디폴트 웹 페이지란? ◈ 웹 애플리케이션에 접근할 때 가장 먼저 실행되는 파일 ◈ index.jsp, index.html, index.htm ▣ ROOT 애플리케이션의 접근 ◈ http://localhost:8080 ◈ 디폴트 웹 페이지인 index.jsp가 자동 실행된다. http://localhost:8080 ROOT 애플리케이 션에서 index.jsp 파 일이 디폴트 웹 페 이지이다.
  • 7. 2.1.4 ROOT 애플리케이션에 HTML 파일 만들기 ▣ hello.html 소스코드 ▣ hello.html 파일의 위치 ◈ %CATALINA_HOME%webappsROOT ▣ hello.html 실행하기 ◈ http://localhost:8080/hello.html http://localhost:8080/hello.html <html> <body> <h1>Hello! ROOT Application</h1> </body> </html>
  • 8. 2.1.5 사용자 정의 웹 애플리케이션 ▣ 사용자 정의 웹 애플리케이션이란? ◈ ROOT 디렉터리와 같은 웹 애플리케이션을 사용자가 직접 새롭게 만든 웹 애플리케이션 ◈ %CATALINA_HOME%webapps에 디렉터리 형태로 관리된다. ▣ 사용자 정의 웹 애플리케이션 작성 절차 webapps 디렉터리 하위에 웹 애플리케이션으로 사용할 디렉터리를 만든다. 작성된 디렉터리의 하위에 WEB-INF 디렉터리를 만든다. WEB-INF 디렉터리 밑에 web.xml 파일을 작성한다. 클래스 파일(.class) 파일이 있을 경우 WEB-INF 디렉터리 밑에 classes 디렉터리를 만들고, 그곳에 위치시킨다. HTML과 JSP 파일을 작성한다. 웹 애플리케이션을 실행한다.
  • 9. 2.1.6 새로운 웹 애플리케이션 만들기 (1) 1. %CATALINA_HOME%webapps 하위에 새로운 웹 애플리케이션을 위한 MySample 디렉터리를 만든다. ◈ 웹 애플리케이션은 하나의 디렉터리로 관리된다. 2. MySample 디렉터리 하위에 WEB-INF 디렉터리를 만든다. ▣ WEB-INF 디렉터리는 web.xml 파일과 클래스 파일들을 작성하기 위한 디렉터리이다. 새로운 웹 애플리케이션을 만들기 위해서는 webapps 디렉터리에 웹 애플리케이 션을 위한 디렉터리를 만 들고, 그 하위에 WEB-INF 디렉터리를 만든다.
  • 10. 2.1.7 새로운 웹 애플리케이션 만들기 (2) 3. WEB-INF 디렉터리 밑에 web.xml 파일을 작성한다. ◈ web.xml : 웹 애플리케이션을 실행하기 위한 환경설정 파일 ◈ ROOTWEB-INF 디렉터리에 있는 web.xml 파일을 복사해서 MySampleWEB-INF 디렉터리에 붙여 넣는다. 4. 클래스 파일들을 저장하기 위한 디렉터리인 classes 디렉터리를 WEB- INF 디렉터리 밑에 만든다. 복사 web.xml 파일은 WEB- INF 디렉터리 밑에 작성 하며, 서블릿 파일과 클 래스 파일들은 WEB- INFclasses 디렉터리에 작성한다. web.xml 파일이 반드시 있어야 만 하나의 웹 어 플리케이션으 로써 동작한다.
  • 11. 2.1.8 새로운 웹 애플리케이션 만들기 (3) 5. MySample 디렉터리에 HTML 파일 작성 ◈ myhello.html ◈ myhello.html 파일의 위치 – %CATALINA_HOME%webappsMySample 6. 웹 애플리케이션 실행 ◈ http://localhost:8080/MySample/myhello.html <html> <body> <h1>Hello! MySample Application</h1> </body> </html> HTML과 JSP 파일 은 WEB-INF 디렉 터리 상위에 위치 해야 한다. 디렉터리 이름 HTML 파일 이름 사용자 정의 웹 애플리케이션은 [디렉터리 이름HTML 파일 이름] 형식으로 접근한다.
  • 13. 2.2.1 톰캣의 환경 설정 (1) ▣ 톰캣의 환경 설정 파일 설정하기 (1) ◈ %CATALINA_HOME%conf 디렉터리의 web.xml 파일 수정 ▣ web.xml 파일 변경 이유 ◈ 톰캣에서 서블릿을 실행할 수 있도록 서블릿의 접근 방법을 지정해 주어야 만 서블릿을 실행할 수 있다. 톰캣에서 서블릿을 실행하기 위해서는 web.xml 파일을 수 정해야만 한다. ◈ 99번째 ~ 109번째 줄 주석 해제 ◈ 348번째 ~ 351번째 줄 주석 해제 두 군데 주석을 풀어주어야만 서 블릿을 실행할 수 있다.
  • 14. 2.2.1 톰캣의 환경 설정 (2) ▣ 톰캣의 환경 설정 파일 설정하기 (2) ◈ %CATALINA_HOME%conf 디렉터리의 context.xml 파일 수정 ▣ context.xml 파일 수정 톰캣 6.0에서는 서블 릿을 실행하기 위해 web.xml 파일을 수정 한 후 context.xml 파 일도 수정해 주어야 한다.
  • 15. 2.2.2 간단한 서블릿 만들기 ▣ 톰캣에서 서블릿을 만드는 절차 ▣ 주의 사항 ◈ 웹 애플리케이션의 WEB-INF 하위의 classes 디렉터리 내에서 작업 ◈ classpath로 servlet-api.jar 파일이 잡혀 있어야 한다. – 서블릿을 지원하는 클래스들을 프로그램적으로 이용하기 위해서 servlet-api.jar 파일을 클래스 패스에 추가해 주어야 한다. – %CATALINA_HOME%commonlibservlet-api.jar 서블릿 코드(.java)를 작성한 후 classes 폴더 하위에 저장 서블릿 코드(.java) 컴파일 서블릿 실행 서블릿 또한 자바 코드(.java)이므로 컴파일 한 후 웹 브 라우저를 이용해서 실행할 수 있다.
  • 16. 2.2.3 HelloServlet 코드 작성 ▣ 서블릿 클래스 import ▣ HttpServlet 클래스 ◈ 서블릿을 만들기 위해서는 HttpServlet을 반드시 상속받아야 한다. ▣ doGet() 메소드 ◈ 클라이언트의 Get 방식 호출을 처리하기 위해서는 doGet() 메소드를 재정의 하고 그곳에 코드를 작성하면 된다. import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { ... } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 서블릿 코드 작성 }
  • 17. 2.2.4 HelloServlet 코드 저장, 컴파일 및 실행 ▣ HelloServlet 코드 저장 위치 ◈ 파일명 : HelloServlet.java ◈ 디렉터리 : %CATALINA_HOME%webappsMySampleWEB-INFclasses ▣ HelloServlet.java 컴파일 ▣ 웹 브라우저에서 HelloServlet 실행 ◈ http://localhost:8080/MySample/servlet/HelloServlet C:...MySampleWEB-INFclasses> javac HelloServlet.java 서블릿의 클래스 파일은 WEB-INF 의 classes 디렉터리 밑에 존재해야 한 다. 디렉터리 이름 URL 패턴 서블릿 이름
  • 18. 2.2.5 패키지 형태의 서블릿 ▣ 패키지 형태의 서블릿 ◈ 서블릿을 패키지(폴더)로 묶어서 관리하기 위해 사용 ▣ 패키지로 묶는 이유 ◈ 서블릿 페이지가 많아지면 한 곳에서 관리하기 어렵다. ◈ 프로젝트 관리가 가능하며 작업 분류가 쉽다. ▣ 패키지 형태의 HelloPackageServlet 만들기 1. 서블릿 코드 작성 2. 서블릿 코드 컴파일 3. 웹 브라우저를 이용해서 실행
  • 19. 2.2.6 HelloPackageServlet 코드 작성 및 저장 ▣ 패키지 형태의 서블릿을 만드는 방법 ◈ 소스 코드 첫 줄에 package 명령어를 붙여주면 된다. ◈ package org.jabook.myhello; ▣ 서블릿 코드 저장 ◈ 파일명 : HelloPackageServlet.java ◈ 디렉터리 : %CATALINA_HOME%webappsMySampleWEB-INFclasses 명령어 패키지 이름 패키지는 package 명 령어와 함께 패키지의 이름을 적어주면 된다. 이때 "."은 디렉터리 구분자인 ""와 동일한 의미이다.
  • 20. 2.2.7 HelloPackageServlet 컴파일 및 실행 ▣ HelloPackageServlet.java 컴파일 ◈ -d 옵션 – -d 옵션을 이용해서 컴파일을 하면 패키지 디렉터리와 class 파일이 자동으로 생 성된다. ▣ 웹 브라우저에서 HelloPackageServlet 실행 ◈ 패키지 형태의 서블릿 실행 시 서블릿 이름과 함께 패키지 명을 기술해 주 어야 한다. C:...MySampleWEB-INFclasses> javac -d . HelloPackageServlet.java -d 옵션 뒤의 "."은 현재 디렉터리를 기준으로 패키지 디렉터리를 생성하 겠다는 의미이다. http://localhost:8080/MySample/servlet/org.jabook.myhello.HelloPackageServlet 디렉터리 이름 URL 패턴 패키지 이름 서블릿 이름
  • 21. 2.3 간단한 JSP 만들기
  • 22. 2.3.1 HelloJSP 코드 작성 ▣ JSP 페이지의 한글 설정 ◈ 한글 설정을 해 주어야만 한글을 제대로 출력할 수 있다. ▣ JSP 코드 ◈ JSP는 페이지코드 안에 자바 코드와 HTML 코드가 섞여있다. <%@page contentType="text/html; charset=euc-kr"%> <html> <head> <title>Hello JSP</title> </head> <body> <% out.println("<h1> Hello World JSP Test!!</h1>"); %> </body> </html> 한글을 출력하기 위해서는 JSP 코드 의 맨 위에 한글 사 용을 위한 선언을 해주어야 한다.
  • 23. 2.3.2 HelloJSP 저장 및 실행 ▣ JSP 코드 저장 ◈ 파일명 : hello.jsp ◈ 디렉터리 : %CATALINA_HOME%webappsMySample ▣ HelloJSP 실행 http://localhost:8080/MySample/hello.jsp 디렉터리 이름 JSP 이름 JSP 코드는 컴 파일을 할 필 요가 없다. 처음 JSP 파일을 접속할 때 내부에 서 자동으로 컴파 일이 이루어진다.
  • 25. 2.4.1 자바빈즈(JavaBeans) ▣ 자바빈즈란? ◈ 비즈니스 로직을 담고 있으며 자바빈즈 규약을 따르는 클래스 – http://java.sun.com/products/javabeans/docs/spec.html ◈ 특정 데이터를 관리하고 표현하기 위해 JSP에서 사용하는 특수한 형태의 클래스 ▣ 자바빈즈의 구성 ◈ 생성자 ◈ 멤버 필드 ◈ 데이터 저장을 위한 set~ 형태의 멤버 메소드 ◈ 데이터 추출을 위한 get~ 형태의 멤버 메소드 자바빈즈는 특정 데이터나 데이터 집합을 관리하기 위해 JSP에서 사용 하는 특수한 형태 의 클래스를 일컫 는다.
  • 26. 2.4.2 HelloBean 코드 작성 ▣ 패키지 선언 ◈ 자바빈즈는 패키지 형태로 관리된다. ▣ 멤버 필드 ▣ set~ 멤버 메소드 ▣ get~ 멤버 메소드 package hello; private String name; public void setStatement(String name) { this.name = name; } public String getStatement() { return "Hello " + this.name; } 용도에 따라 set~ 메소드나 get~ 메소 드가 없는 형태의 자바빈즈도 있다.
  • 27. 2.4.3 JSP에서 자바빈즈 사용하기 ▣ 자바 코드를 이용하는 방법 ◈ JSP 내에서 자바 코드를 이용하여 자바빈즈 객체를 생성하고 이용 하는 방법 ▣ JSP의 액션 태그(Action Tag)를 이용하는 방법 ◈ JSP의 액션 태그 중 <jsp:useBean> 액션 태그를 이용해서 자바빈즈 객체를 생성하고 이용하는 방법 ◈ 액션 태그(Action Tag)란? – JSP 페이지에서 특별한 기능을 위해 정의된 XML 형태의 태그 ◈ <jsp:useBean> 액션 태그 – JSP 페이지에서 자바빈즈를 이용하기 위한 태그 자바빈즈를 이 용하는 방법에 는 두 가지가 있 다.
  • 28. 2.4.4 자바 코드를 이용한 HelloBean 이용하기 ▣ HelloBean을 사용하기 위한 클래스 임포트 ◈ HelloBean 클래스를 임포트 해야지만 HelloBean 객체를 생성해서 사용할 수 있다. ▣ HelloBean 객체 생성 ▣ HelloBean 객체 사용 <%@page import="hello.HelloBean"%> HelloBean myHello = new HelloBean(); myHello.setStatement("Grace Byun!!"); str = myHello.getStatement(); 자바 코드를 이용해서 자바빈즈를 사용하는 방법은 우리가 자바 프 로그래밍에서 일반적 으로 객체를 생성하는 것과 동일하다.
  • 29. 2.4.5 helloBean.jsp 저장과 실행 ▣ JSP 코드 저장 ◈ 파일명 : helloBean.jsp ◈ 디렉터리 : %CATALINA_HOME%webappsMySample ▣ helloBean 실행 http://localhost:8080/MySample/helloBean.jsp 디렉터리 이름 JSP 이름
  • 30. 2.4.6 액션 태그를 이용한 HelloBean 이용하기 ▣ <jsp:useBean> 액션 태그 ◈ 자바빈즈 클래스의 객체를 생성하기 위한 액션 태그 ▣ <jsp:useBean> 액션 태그의 사용법 ◈ id 어트리뷰트 – 객체의 이름 ◈ class 어트리뷰트 – 사용하려는 자바빈즈 클래스 이름 – 패키지 명과 자바빈즈 클래스 이름을 함께 기술 ◈ scope 어트리뷰트 – page 값을 가질 경우 자바빈즈의 유효범위를 현재 페이지로 제한 ◈ 위 구문은 아래와 동일한 구문이다. <jsp:useBean id="hello" class="HelloWorld" scope="page" /> 객체의 이름 자바빈즈 클래스 이름 자바빈즈의 유효범위 지정 HelloWorld hello = new HelloWorld();
  • 31. 2.4.7 helloBeanTag.jsp 코드 작성 ▣ <jsp:useBean> 액션 태그를 사용해서 객체 생성 ▣ HelloBean 객체 사용 <jsp:useBean id="myHello" class="hello.HelloBean" scope="page" /> myHello.setStatement("MyungJin Lee!!"); str = myHello.getStatement(); <%@page import="hello.HelloBean"%> <% HelloBean myHello = new HelloBean(); %> 두 개는 동 일한 구문 이다.
  • 32. 2.4.8 helloBeanTag.jsp 저장과 실행 ▣ JSP 코드 저장 ◈ 파일명 : helloBeanTag.jsp ◈ 디렉터리 : %CATALINA_HOME%webappsMySample ▣ helloBeanTag 실행 http://localhost:8080/MySample/helloBeanTag.jsp 디렉터리 이름 JSP 이름 액션 태그를 이 용하면 코드를 간결화 시킬 수 있다.