공부/JSF2014. 10. 4. 02:53

JavaServer Faces 는 쉽고, 유저 친화적인(user-friendly) 방법으로 웹 어플리케이션 만들기를 지원합니다. JavaServer Faces 개발에는 일반적으로 다음의 절차가 꼭 필요하며 예제를 통해 살펴 보겠습니다.

  • 컴포넌트 태그를 이용하여 웹 페이지 만들기
  • 관리되는빈(managed beans) 개발하기
  • FacesServlet 매핑하기

HelloWorld!! 출력하기

모든 언어의 기본 출발점… HelloWorld!! 를 브라우저에 출력 해보겠습니다.

이클립스에서 웹서버를 신규로 등록합니다.

Dynamic Web Project를 hello 라는 이름으로 새로 만드세요.

프로젝트의 카테고리를 펼쳐 WebContent/WEB-INF/lib 폴더에 JSF 라이브러리 및 JSTL 라이브러리 파일을 복사해 넣어주세요.

web.xml 에 아래의 내용을 추가 해 주세요.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.xhtml</url-pattern>
	</servlet-mapping>
</web-app>

JavaBean 클래스를 Hello 라는 이름으로 새로 만들고 아래의 내용을 입력해주세요.

package hello;

import javax.faces.bean.ManagedBean;

@ManagedBean
public class Hello {

	private final String world = "Hello World!!";

	public String getWorld() {
		return world;
	}
}

WebContent 아래에 hello.xhtml 이라는 이름으로 view page 하나 만들고 내용을 아래와 같이 입력해주세요.

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html">
<h:head>
	<title>Hello World Example</title>
</h:head>
<h:body>
	#{hello.world}
</h:body>
</html>

모든 준비가 완료 되었습니다. 이제 이클립스에서 Tomcat 웹서버를 실행하고 브라우저에서 아래의 주소를 입력하여 HelloWorld!! 가 출력되는지 확인 해보세요.

http://localhost:8080/hello/hello.xhtml

동작 설명

JavaServer Faces 어플리케이션 뿐만 아니라 대부분의 웹 어플리케이션은 라이프사이클이 존재 합니다. 먼저 이번 예제가 실행될때 JavaServer Faces 컨테이너에서 일어나는 일에 대해 간단히 정리 하겠습니다.

  • 클라이언트로부터 서버로 요청이 시작됩니다.
  • JavaServer Faces 어플리케이션의 뷰가 생성되거나 복원을 합니다.
  • 요청 파라메터 값을 반영 합니다.
  • 컴포넌트 값에 대한 변환(conversion) 과 검증(validation) 이 수행됩니다.
  • 컴포넌트의 값을 가지고 Managed beans 가 업데이트 됩니다.
  • 어플리케이션의 로직이 호출 됩니다.

클라이언트로 부터 요청이 처음일 경우에는 뷰가 생성이 되며, 이후 부터는 동일한 요청에 대해서는 뷰를 복원하게 됩니다. 위와 같이 몇가지 작업이 일어난 후 최종적으로는 클라이언트가 해석 할 수 있는 HTML 이 만들어지게 됩니다.

이상으로 초간단 JavaServer Faces 어플리케이션을 만들어 보았습니다. 다음 블로그 글에서는 JavaServer Faces 에서 아주 중요하고 꼭 이해해야만 하는 라이프 사이클에 대해 알아 보겠습니다.

'공부 > JSF' 카테고리의 다른 글

JSF 라이프 사이클 상세  (0) 2014.10.06
JSF 라이프 사이클 개요  (0) 2014.10.05
JavaServer Faces 어플리케이션 개발 준비  (0) 2014.10.04
Facelets 란 무엇인가?  (0) 2014.10.02
JavaServer Faces 버전 히스토리  (0) 2014.10.02
Posted by #HanaLee