본문 바로가기

WEB_Programming/GWT

Creating a New Web Application

Web Application 위자드 런칭하기

새로운 프로젝트를 생성하는 것은  New Web Application Project버튼을 누르면 된다. 아니면  New 툴바 버튼을 누르고 Web Application Project 아이템을 선택한다. 혹은 File > New > Web Application Project. 을 선택하면된다. 

새로운 웹 애플리케이션 프로젝트 생성하기

New Web Application Project 위자드를 생성하고 다음과 같이 선택한다.:

위자드는 프로젝트의 이름과 루트 패키지를 선택하도록 할수 있다. 프로젝트 내에 클래스 이름을 다음과 같이 생성하도록 한다. 모든 클래스는 루트 패키지 안에 있다.

Google SDKs 그룹 박스에는 웹 애플리케이션에서 사용할수 있는 SDK을 설정할 수 있다. 좀더 자세한 내용을 보고자 한다면 다음을 확인해보자 Using SDKs.

Finish를 클릭하여 프로젝트를 생성한다.

프로젝트 구조 확인하기

샘플 애플리케이션을 생성하면 자바 소스를 생성하기 위해서 src/ 폴더를 생성하고, war/ 디렉토리에는 컴파일된 클래스 파일이 저장되고, 서버 런타임 라이브러리, 정적 컨텐츠, 설정파일등이 들어간다.

생성된 파일들은 GWT를 이용할때와 App Engine와 차이가 있다. 아래 섹션에서는 com.mytestproject의 루트 패키지에 MyTestProject 이름으로 된 샘플 소스 간에 나는 차이를 하일라이트 한것을 확인할 수 있다.

만약 war 디렉토리에 있는 핵심 소스를 지우는 실수를 한다면 걱정하지 말라. fix these problems을 이용하여 다시 고칠수 있다.

GWT

GWT 샘플을 위해 생성된 파일이 아래와 같다.

MyTestProject
  src/
    com/
      mytestproject/
        MyTestProject.gwt.xml        
        client/
          GreetingService.java
          GreetingServiceAsync.java
          MyTestProject.java      
        server/
          GreetingServiceImpl.java
  war/  
    MyTestProject.css
    MyTestProject.html
    WEB-INF/
      web.xml
      classes/
      lib/
       ...GWT JARs...         

GWT 샘플 애플리케이션은 single 버튼을 위한 사용자 인터페이스들로 구성되어 있다. 버튼을 누르면 Remote Procedure Call 을 통해 서버에 있는 처리를 수행하게 된다. 결과는 인터페이스를 통해서 디스플레이 된다. GWT의 문서를 보면 프로젝트의 내용에 대한 정보를 확인해 볼 수 있다.

App Engine

다음은 App Engine 샘플을 위해 생성된 파일이다.

MyTestProject
  src/
    log4j.properties
    META-INF/
      jdoconfig.xml
    com/
      mytestproject/
        MyTestProjectServlet.java
  war/  
    index.html
    WEB-INF/
      appengine-web.xml
      web.xml
      logging.properties
      classes/
      lib/
       ...App Engine JARs...            


App Engine 샘플 애플리케이션은 "Hello, World!"를 출력하고 있다. 애플리케이션은 몇가지 설정파일이 있으며 이것은 설치와 로깅에 관란 것이다. 또한 App Engine의 Getting Started Guide 을 보면 좀더 디렉토리 구조에 대한 내용을 좀더 자세히 볼 수 있다.

GWT + App Engine

GWT와 App Engine SDK 둘다 사용하는 경우에는 다음과 같은 파일이 생성된다.

MyTestProject
  src/
    log4j.properties
    META-INF/
      jdoconfig.xml
    com/
      mytestproject/
        MyTestProject.gwt.xml        
        client/
          GreetingService.java
          GreetingServiceAsync.java
          MyTestProject.java      
        server/
          GreetingServiceImpl.java
  war/  
    MyTestProject.css
    MyTestProject.html
    WEB-INF/
      appengine-web.xml
      web.xml
      logging.properties
      classes/
      lib/
        ...App Engine JARs...    
        ...GWT JARs... 

GWT + App Engine 샘플 애플리케이션은 GWT샘플 애플리케이션과 유사하다. 가장큰 차이는 App Engine을 수행하기 위한 몇가지 서버 컴포넌트가 있다는 것이다.