98..Etc/MyEclipse2009. 7. 7. 13:14
반응형
 설치목적
=> 이클립스 사용 시 각종 플러그인의 추가작업이 종종 발생하는데, 플러그인을 설치할 때 발생할 수 있는 위험도를 낮추고자 하는데 그 목적이 있다.


◎ 설치과정
ⅰ) 기본적인 설치조건
- 우선적으로 Eclipse가 깔려있어야 한다.
- 이전 버전의 MyEclipse는 삭제한다.

ⅱ) 원하는 이름의 폴더를 생성한 후, MyEclipse 압축을 만들어놓은 폴더에 푼다.
- 예) "C:MyEclipse" 아래에 압축을 푼다.

ⅲ) 정상적으로 압축이 풀렸다면, MyEclipse 폴더아래에는 아래그림의 좌측과 같은 구조의 폴더들이 자리 잡게 될 것이다. 그리고 그 중에 eclipse 폴더아래에는 아래그림의 우측과 같은 형태를 가질 것이다.

ⅳ) 다음 단계로 넘어가기 전에 먼저 이클립스를 실행시킨다.

ⅴ) 이클립스의 메뉴중에서 『Help > Software Updates > Manage Configuration』을 실행한다. 이는 다음 그림과 같다.

ⅵ) 아래그림과 같이 『Eclipse Platform』위에서 우측버튼을 클릭한 후, 나오는 메뉴에서 『New』→『Extension Location...』을 선택한다.

ⅶ) 위에서 압축을 풀어준 MyEclipse 가 깔린 폴더를 지정한 후, OK를 누른다. 그리고 다시 시작하겠느냐고 묻는데, 이 때 『Yes』를 눌러서 다시 시작을 한다.

ⅷ) 이클립스의 메뉴 중에서 『Window > Open Perspective > Other...』을 실행한다. 그런 다음에 MyEclipse를 선택하고 OK를 눌러서 설치를 마무리한다.

출처 : http://totomar79.egloos.com/586388
Posted by 1010
98..Etc/MyEclipse2009. 7. 7. 13:08
반응형

갈릴레오에 Spring IDE를 설치한 다음 MyEclipse로 작업하던 프로젝트를 갈릴레오 프로젝트로 변환했다. 다음은 간략하게 정리한 변환 과정이다.

  1. 먼저 프로젝트에 사용할 WAS를 등록한다.
    프로젝트를 먼저 생성해도 상관은 없으나 먼저 만드는 쪽이 프로젝트 설정에 편하다.

  2. 다음 동적 웹 프로젝트(Dynamic Web Project)를 새로 생성한다.
    원래는 기존 프로젝트의 /.project 파일을 수정하려 했으나 /.settings 디렉터리 아래의 설정 파일이 엉키는 바람에 깨끗한 빈 프로젝트에서 시작하기로 했다.
    프로젝트 생성 시 대상 런타임(target runtime)과 서블릿 버전 등을 설정한다. 마지막 페이지의 컨텐츠 디렉터리는 패키지 탐색기(Package Explorer) 에서 직접 설정이 안되므로 주의한다(실수한 경우/.settings/org.eclipse.wst.common.component 파일에서 직접 수정할 수 있다).

  3. 새 프로젝트에 스프링 빌더와 네이처를 추가한다.
    패키지 탐색기의 문맥 메뉴에 있는 설정(Configure)에는 스프링 프로젝트로 변환하기가 없으므로 /.project 파일을 직접 수정한다. 스프링 프로젝트는 동적 웹 프로젝트와 달리 부가 설정 파일이 없어서 편하다.
    아래는 각각 추가할 빌더와 네이처 코드다.

    <buildCommand>
        <name>org.springframework.ide.eclipse.core.springbuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
    
    <nature>org.springframework.ide.eclipse.core.springnature</nature>
    
  4. 소스 파일을 복사한다.
    이때 위에서 준비한 마침표로 시작하는 설정 파일 및 디렉터리를 덮어쓰지 않도록 주의하자.

  5. 마지막으로 빌드 설정을 한다.
    목표는 간단하지만, 실제 해보면 이런저런 문제가 발생했다.

  • 먼저 스프링 라이브러리가 없어 빌드 오류가 나는 경우가 있다. 이는 Spring IDE는 MyEclipse와 달리 관련 라이브러리가 내장되어 있지 않기 때문이다(이 때문에 Maven을 잠깐 고려했으나 배보다 배꼽이 커지는 관계로 포기했다). 해결책은 배치된 MyEclipse 내장 라이브러리를 복사한다. 대표적으로 스프링 라이브러리와 하이버네이트 라이브러리가 있다. 단, 해당 라이브러리만 복사하면 의존성 문제가 생기기 때문에 기존 MyEclipse 프로젝트가 배치(deploy)된 상태에서 /WEB-INF/lib디렉터리를 통째로 복사해 오는 게 속 편하다. 라이브러리를 추가한 다음 필요한 라이브러리는 빌드 패스에 추가한다. 패키지 탐색기에서 Web App Libraries라고 다른 참조 라이브러리와 같은 아이콘을 가진 라이브러리 묶음이 있는데 이는 빌드 패스와 다르다. Commons DHCP 등 소스 및 스프링 설정에서 직접 참조하는 라이브러리를 추가하자.

  • 또 동적 웹 프로젝트 생성 시 서버 런타임 라이브러리 설정에 1번과 2번 순서가 바뀌는 등 문제가 있으면 HttpServletRequest 등 서블릿 관련 라이브러리를 못 찾는 경우가 있다. 이때 프로젝트의 빌드 패스 설정에서 라이브러리 탭에 들어가 서버 런타임(Server Runtime) 라이브러리를 추가하면 된다.

위에서 언급하지 않은 자잘한 문제가 많았지만 대부분 위 단계만 거치면 프로젝트를 원활히 변환할 수 있을 것이다.

Posted by 1010
98..Etc/MyEclipse2009. 7. 7. 13:07
반응형
Posted by 1010
98..Etc/MyEclipse2009. 7. 7. 13:06
반응형

MyEclipse을 활용한 효율적인 개발 방법

Table of Contents

이번 스터디에서 반드시 이해해야 할 부분

  • MyEclipse의 설치부터 사용법
    • MyEclipse 기반하에서 Struts 프레임워크 사용 방법.
    • MyEclipse 기반하에서 Hibernate 프레임워크 사용 방법.
    • MyEclipse 기반하에서 Database Explorer 사용 방법.
  • MyEclipse를 활용한 효율적인 애플리케이션 개발 방법.

About MyEclipse

Java 개발을 위한 Eclipse Plugin이다. open source에서 제공하는 일반적인 Plugin과의 차이점은 MyEclipse는 다양한 통합 plugin을 제공한다는 점이다. 마치 Eclipse를 위한 종합선물세트 같습니다.
MyEclipse는 2003년에 release 되어서 많은 다양한 plugin들을 제공하고 있습니다.

년간 29.95$를 지불하고 MyEclipse를 사용할 수 있습니다.
http://www.myeclipseide.com : MyEclipse Main 사이트

http://www.myeclipseide.com/ContentExpress-display-ceid-16.html : MyEclipse와 관련한 동영상 강좌를 볼 수 있는 곳입니다. 여기 있는거 보고 한번씩 따라해보면 MyEclipse에 관해서 쉽게 이해할 수 있을 겁니다.

http://www.myeclipseide.com/ContentExpress-display-ceid-15.html 문서 보시면 MyEclipse의 기능을 볼 수 있는데. 장난 아니게 많군요. 현재 개발중인 4.0에서는 Spring에 대한 통합 기능도 지원하는군요. 또한 마음에 드는 것이 MyEclipse에 포함될 기능들을 Forum을 통해서 선정한다는 것이 마음에 드네요. 여러분들도 MyEclipse Forum 가셔서 한표씩 행사하시기 바랍니다.

MyEclipse Install/Uninstall Quickstart

  1. Outline
  2. Preface
    MyEclipse 설치는 아래와 같은 상태에서 설치함을 원칙으로 합니다.
    SUN JDK 1.4.2
    Eclipse 3.0.1
    MyEclipse 3.8.2

Installing Eclipse

MyEclipse를 설치하기 위해서는 먼저 Eclipse가 설치되어 있어야만 합니다.
Eclips설치는 IDE:Eclipse 시작하기 문서를 참고하시기 바랍니다.

Installing MyEclipse

MyEclipse download는 MyEclipse 의 download site를 이용하여 local에 download합니다. 사이트에 등록을 해야 들어갈 download할 수 있기 때문에 되도록이면 등록하도록 합니다.
MyEclipse 설치는 아주 간단합니다. download 받은 파일을 실행시키고 미리 설치한 Eclipse 디렉토리만 지정하면 설치완료할 수 있습니다.
좀 더 자세한 내용은 MyEclipse 설치및 삭제하기를 참고하시기 바랍니다.

Struts Development Demo

Step1 : Create struts demo project

*Struts demo project을 생성합니다.


 

Step2 : Add Struts capabilities to struts demo web-project

*Struts demo project을 선택하고 오른쪽 버튼을 클릭하면 나오는 메뉴에서 MyEclipse | Add Struts Capabilities... 메뉴를 선택한다.


*Struts 개발환경을 설정한다.

Step3 : Create struts login application

#Workflow
*Create loginForm ActionForm
*Create login Action
*Create login.jsp
*Create success.jsp
#Create Login Actin and a corresponding Login ActionForm
struts-config.xml 파일을 열어봅시다.
이 xml 파일은 두 가지 방법으로 수정할 수 있습니다.
xml editor에서 직접 coding 하는 방법이 있고 outline view를 통하여 수정하는 방법이 있다. 우리는 후자를 택할 것입니다.
*Outline view에서 action-mappings 를 선택하고 오른쪽 클릭하면 나오는 메뉴에서 New Form, Action, and JSP 메뉴를 선택합니다.


*Form name은 loginForm 으로 Form property는 name을 설정합니다. Methods 탭에서는 validate와 reset 메소드의 체크를 해제합니다.


 


*Action class를 생성합니다. Default로 생성하고 forward는 뒤에서 추가하도록 합니다.


*struts-config.xml 의 Design view를 봅시다. login action을 더블클릭합니다. LoginAction class source가 나타나면 소스를 다음과 같이 수정합니다.


*아직 success target 에 대한 설정이 되어 있지 않습니다. 다음은 success forward에 대한 success.jsp를 생성하고 success forward도 설정하도록 하겠습니다.

Step4 : Create success forward and success.jsp

*Login을 성공한 사람의 이름을 보여주는 success.jsp 를 생성합니다.


*jsp의 body 소스를 아래와 같이 수정합니다.


*다음은 success forward를 설정합니다. struts-config.xml 로 갑시다.


 

Step5 : Deploy and test the application

*Deploy button을 클릭합시다.


 

Step6 : Start the application server

Step7 : Run the application


 

Configuring Database Explorer

MyEclipseIDE 에는 Database에 접속을 해서 query를 날리고 table를 살펴볼 수 있는 Database Explorer라는 기능을 제공합니다.
여기서는 Database Explorer를 설정하는 방법에 대해서 살펴봅시다. 이를 통하여 다음의 과정에서 좀 더 편하게 개발을 수행할 수 있습니다.

Database Explorer를 이용하여 Database에 접속하기 위해서는 3가지 단계의 process를 수행해야 합니다.
이 예제에서는 Database Server를 MySQL Server로 사용하고 이미 설치가 되어 있다고 가정하겠습니다.

*Configure the Database Explorer JDBC driver for your database
*Create a database connection profile
*Open a database connection

Configuring a JDBC Driver

*메뉴바에서 Window > Preferences > MyEclipse > Database Explorer > Drivers를 선택한다. dialog가 open되면 체크 표시가 있는 것이 있습니다. 이것은 이미 설정되었음을 의미합니다.
*MySQL 을 설정해야 되기 때문에 MySQL Connector / J Driver를 선택하고 Edit 버튼을 클릭합니다.
*Extra Classpath 탭을 클릭하고 New 버튼을 클릭합니다. MySQL JDBC driver를 선택합니다.


*OK button을 클릭합니다.
*이상과 같이 따라하게 되면 아래 그림과 같이 MySQL Connector / J Driver가 설정되었음을 나타내는 파란색 체크표시가 보입니다.

Creating a connection profile

Database에 대한 JDBC driver 설정이 끝나게 되면 Database에 대해 접속하기 위해서 Connection Profile을 생성해야 합니다. 이것은 Database에 접속하기 위한 기본적인 connection string을 정의하는 것으로 이해하면 됩니다.

Database Browser에 접근하기 위하여 Database Explorer Perspective를 open합니다.

*Window > Open Perspective > Other > MyEclipse Database Explorer 를 선택하고 OK button을 click합니다. Database Explorer Perspective가 open됩니다.


이제 Connection Profile을 생성하도록 합니다.
*Database Browser view에서 New Connection Profile icon을 클릭합니다. New Connection Profile dialog가 open됩니다.


 


*Profile Name은 LocalMySQL 을 입력합니다.
*Driver field에는 drop-down list에서 MySQL Connection/J Driver 를 선택합니다.
*URL 에는 jdbc:mysql://localhost:3306/homepagedb 를 입력합니다.
*UserName과 Password를 Database 설정에 맞게 입력합니다.
*Finish button을 클릭합니다.
새로운 Profile이 DB Browser view에 보이는 것을 확인할 수 있습니다.

Openning a Database connection

*Profile에서 right-click해서 Open connection... 메뉴를 선택합니다.


*Open Database Connection Wizard가 나타납니다.
*Ok button을 클릭합니다.


이제 Database 와의 접속이 되었으며 Database Browser에서 확인할 수 있습니다.

MyEclipse에서 Resin 설정

MyEclipse에 포함된 Application Server중 Resin 설정에 대해 살펴보겠습니다.
먼저, Resin을 다운받아 설치하시고, resin.conf 파일의 경로까지 모두 맞춰주십시요.
현 문서작성 기준은 Resin 2.1.6 입니다.

Resin 설정

  • Window > Preferences > MyEclipse > Application Servers 선택 ( Resin 버전에 맞게 선택 )
  • Resin Server : Enable 선택합니다.
  • Resin Home Directory : Resin 설치 디렉토리
  • Configuration File : resion.conf 파일
  • Resin JDK name : Resin 컴파일 jdk 버전을 선택합니다.
    JDK 버전 추가 및 변경은 Window > Preferences > Java > Installed JREs 에서 해줍니다.
  • Resin 에서 참조할 class path를 추가합니다.
    저도 이부분을 세팅 안해줘서 레진이 기동이 안됐었는데요..
    Resin/lib에 파일이 있다고 해도 여기서 추가해 주셔야 합니다.
  • Resin Start
    아래와 같이 Resin을 Start 합니다.
  • 콘솔창에서 Start된 상태를 확인합니다.

MyEclipse를 활용한 효율적인 애플리케이션 개발 방법.

이 절에서는 MyEclipse를 이용하여 애플리케이션을 개발할 때 개발 생산성을 위하여 바람직한 방향을 찾아보도록 하겠습니다. 또한 이미 MyEclipse를 사용하여 애플리케이션을 개발해본 개발자들의 의견들을 공유할 수 있었으면 합니다.

참고문헌

문서에 대하여

최초작성자 : 안용상
최초작성일 : 2005년 6월 28일
버전 : 1.0
문서이력 :

  • 2005년 6월 28일 안용상 문서 최초 작성
  • 2005년 7월 3일 Struts Demo project 추가
  • 2005년 7월 4일 Database Explorer 추가
  • 2005년 7월 12일 MyEclipseDemo project 추가

수정자: 이윤정
수정일: 2005년 8월 9일

Posted by 1010
98..Etc/MyEclipse2009. 7. 7. 13:05
반응형

Eclipse + myEclipse + Flex 를 이용해서 Flex 개발 환경을 설정한다.

1. Eclipse 3.2 를 설치한 후, myEclipse 5.5 를 설치한다. 마지막으로 Flex 2 builder 를 eclipse plug-in 버전으로 설치한다.(myEclipse랑 Flex 설치할 때 eclipse 폴더를 지정하는 것만 주의한다.)

2. 설치가 완료되면 New - Project 에서 'Web Project'를 선택한다.
※ Flex Project를 선택하지 않는다.

사용자 삽입 이미지

3. 프로젝트 명을 입력하고 [Finish]를 눌러서 프로젝트를 생성한다.
사용자 삽입 이미지
4. 퍼스펙티브를 마이이클립스로 바꾸라는 것인데, 그냥 바꿔준다.
사용자 삽입 이미지
5. 생성된 프로젝트는 아래와 같은 구조로 되어 있다.
프로젝트 이름이 Context root 가 되고, src 폴더와 WebRoot 폴더가 생성된다.
사용자 삽입 이미지

6. 프로젝트에 Flex Project 속성을 부여한다.
Flex Project Nature -> Add Flex Project Nature 선택
사용자 삽입 이미지

7. Flex Project 속성을 부여하면 프로젝트 구조가 아래 처럼 바뀐다.
사용자 삽입 이미지

8. 에러를 해결하기 위해 에러 윈도우에서 에러를 선택한 후 마우스 오른쪽 버튼을 클릭해서 'Recreate HTML Templates'를 누른다.
사용자 삽입 이미지

9. 에러를 해결하면 아래처럼 템플릿이 추가된다.
사용자 삽입 이미지

10. 사용하지 않을 폴더를 제거한다. bin 폴더는 불필요하니 제거한다.
사용자 삽입 이미지


11. 소스 폴더를 생성한다.(프로젝트 아래에 생성하며, 이름은 자유롭게 정한다.)
사용자 삽입 이미지


12. output 폴더를 생성한다.(WebRoot 밑에 '소스 폴더 이름\bin'으로 정한다.)
사용자 삽입 이미지

13. flex build path를 추가한다.
( 퍼스펙티브를 Flex Development로 바꾼 후, 프로젝트를 선택하고 오른쪽 버튼을 눌러 Properties를 누른다. Flex Build Path를 선택한다. )
사용자 삽입 이미지

14. Main source folder에는 방금 생성한 소스 폴더를(flex) 지정하고, Output folder에는 방금 생성한 output 폴더(WebRoot\flex\bin)를 지정한다.
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

15. 설정이 다 되었으면 이제 애플리케이션을 Tomcat 서버에 deploy한다.
먼저 마이이클립스의 deploy 버튼을 눌러서(아래 그림 화살표 위치) deploy 창을 띄우고
deploy할 프로젝트를 선택한 후 [Add] 버튼을 누른다.
사용자 삽입 이미지
창이 뜨면 현재 설치해 둔 서버를 선택한다.(여기서는 Tomcat 5.x 버전 선택)
※ Deploy Location이 애플리케이션이 deploy되는 위치다.
사용자 삽입 이미지
[OK] 버튼을 눌러서 적용한 후, deploy를 한다.

16. deploy를 마쳤으면, [서버] 버튼(아래 그림 왼쪽 위)을 눌러서 Tomcat 서버를 띄운다.
사용자 삽입 이미지

17. 서버가 뜨고 나면, http://localhost:8080/FlexTest/ 로 접근해서 정상 동작 중인지 확인한다.
사용자 삽입 이미지

18. Flex Development 퍼스펙티브에서 Flex 화면을 디자인한다.
먼저 퍼스펙티브가 Flex Development인지 확인한 후 소스 폴더를 선택하고, 마우스 오른쪽 버튼을 누른다. new 를 선택한 뒤, MXML application을 선택한다. 이름을 지정한 뒤(mainTest.mxml) 생성되면 더블 클릭한다. 편집 창이 뜨면 'Design' 텝을 눌러서 GUI 환경으로 바꾼다. Components 텝에서 component를 가져다가 화면을 편집하고 저장한다.
사용자 삽입 이미지

19. 서버를 내리고, 다시 deploy를 해준다.
사용자 삽입 이미지

20. 서버를 기동시킨 후, http://localhost:8080/FlexTest/flex/bin/mainTest.html/ 로 접속해서 확인한다.
사용자 삽입 이미지

여기까지 되면 Flex Project 생성 끝!!!



출처 : http://digicom.tistory.com/180
Posted by 1010
98..Etc/MyEclipse2009. 7. 7. 13:04
반응형

기본적인 struts 어플리케이션 개발의 Quick Start

최종갱신:   번역: April 27, 2007

목차


1. 머리말

이 문서는 Sun JDK 1.4.2. Eclipse 3.2 및 MyEclipse 5.1.1을 이용해 작성되고 있습니다. 모든 스크린 샷은 Eclipse, MyEclipse Enterprise Workbench 및 Windows XP의 Default User Interface 설정에 근거하고 있습니다. 이 문서의 설명으로 불명한 점이 있는 경우 「사용자 피드백」 섹션으로 MyEclipse Document 팀에 피드백하는 방법을 참조해 주세요.




2. 처음

이 튜톨리얼에서는 MyEclipse Enterprise Workbench 를 사용해 단순한 샘플 Struts 어플리게이션의 개발 및 테스트에 대해 설명합니다. Struts 나 MyEclipse 의 사전 지식은 필요없습니다.

체제와 기능 범위가 유사하기 때문에, 이 튜토리얼은「JSF 튜토리얼」과 비슷합니다. 이 두개의 같은 프로젝트 목표 및 개요를 가지기 때문에, MyEclipse에서의 Struts 툴의 사용방법을 이해하면, JSF 와 Struts 를 다음에 비교할 수 있습니다.




3. 요건

아래는 이 가이드로 사용하는 소프트웨어의 리스트입니다.

Sun Java(TM) Development Kit(JDK)5.0

http://java.sun.com/javase/downloads/previous.jsp

Eclipse Platform 3.2.2

http://www.eclipse.org/downloads/index.php

Eclipse Platform 3.2.1 NLpack1

http://download.eclipse.org/eclipse/downloads/drops/L-3.2.1_Language_Packs-200609210945/index.php

Eclipse Java Development Tools 3.2.2

http://www.eclipse.org/downloads/index.php

Eclipse Java Development Tools 3.2.1 NLpack1

http://download.eclipse.org/eclipse/downloads/drops/L-3.2.1_Language_Packs-200609210945/index.php

MyEclipse 5.1.1

https://www.myeclipseide.jp

Tomcat 5.0.x ( 5.0.28 이 바람직하다. 또는 다른 벤더의 서블릿/EJB 컨테이너)

http://tomcat.apache.org/download-55.cgi

이 데모에서는 유저명과 패스워드는「myeclipse」입니다.


주: JDK 를 인스톨해 컴퓨터를 재기동한 후 Eclipse, MyEclipse 및 Tomcat 을 인스톨 해주세요. MyEclipse 의 인스톨에 대한 자세한 것은「MyEclipse 인스톨/언인스톨 퀵 스타트」를 참조해주세요. 모든 소프트웨어를 인스톨하면「어플리케이션 디플로이먼트 및 서버 관리 퀵 스타트」로 설명되고 있듯이, MyEclipse로 Tomcat 5 컨넥터를 셋업하지 않으면, 셈플 어플리케이션을 디플로이 및 실행할 수 없습니다.



4. 신규 프로젝트의 셋업 및 구성

개발물을 작성하려면, MyEclipse로 Struts기능이 추가된 신규 Web프로젝트를 작성해야합니다. Web 프로젝트를 작성하려면, 아래의 그림1에 보이듯이「파일」>「신규」>「프로젝트」>「MyEclipse」>「J2EE 프로젝트」>「Web 프로젝트」의 위저드를 사용합니다.


그림 1 - 「신규 J2EE Web 프로젝트」위저드


그림 2 처럼 신규 프로젝트의 정보를 모두 입력합니다.


그림 2 - Web 프로젝트 설정


Web 프로젝트를 설정하면, Struts 기능을 추가해야 합니다. 이것을 실행하려면, 「패키지 익스플로어」뷰에서 프로젝트의 루트를 오른쪽 클릭하고, 그림 3 처럼「MyEclipse」>「Struts 기능추가」를 선택합니다.



그림 3 - Web 프로젝트에 Struts 기능추가


「MyEclipse Web 프로젝트의 Struts Support」다이얼로그에는, 적절한 Default가 설정되어 있습니다. 다만「신규 클래스용 Base 패키지」를 변경해서, 희망하는 로케이션을 변경시킬 수도 있습니다. 아래의 그림 4 에서는 단순히 Default로 놔둡니다.



그림 4 - Struts 기능 구성


위저드가 완료되면, 프로젝트 구조는 그림 5 처럼 나타나게 됩니다.


그림 5 - 구성 후의 프로젝트 레이아웃


프로젝트를 작성하면, 다음 섹션에서 설명하듯이 Web컨텐츠의 작성을 개시할 수 있습니다.




5. Struts 프로젝트의 개시

이 섹션에서는 단순한 Web사이트 로그인 화면을 닮은 샘플 Struts 어플리케이션을 작성하는 것에 초점을 맞추었습니다. 그래서, 필요한건 유저에게 로그인을 재촉하는 페이지와 로그인이 성공한 것을 나타내는 페이지의 2개 JSP페이지 뿐 입니다. 이러한 페이지는 각각 userLogic.jsp 및 userLoginSuccess.jsp 입니다. 단순화한것이기 때문에, 로그인 시행중 허가 에러가 발생했을 경우, 유저를 userLogin.jsp 페이지에 리다이렉트해 에러 멧세지를 표시합니다.


Struts 프로젝트를 개시할 때는 일반적으로 어플리케이션 전체의 프로우를 레이아웃하는 것이 유용합니다. 개발 팀은 어플리케이션의 개개의 부품을 얼마나 조합하면 좋은가를 충분히 검토할 수 있겠지요. 플로우를 잘라내는 가장 용이한 방법은, Struts 구성 편집자의 그래픽컬 디자인 모드를 사용해 그래픽컬하게 작성하는 방법입니다. Struts구성 편집자에게는 드러그 앤 드롭 툴의 팔레트가 있어서 유저는 디자인 실물모형으로 부터 페이지 플로우를 재빠르게 복사하는 것으로 어플리케이션의 작성을 시작할 수 있습니다. 셈플 로그인 어플리케이션의 플로우는 아래의 그림 6과 같이 됩니다.


주: 어플리케이션 플로우의 스크린샷은 Struts 디자이너를 사용해 작성되었습니다.

    Struts 디자이너의 액세스 방법 및 사용방법에 대해서는 다음 섹션에서 설명합니다.


그림 6 - 셈플 어플리케이션 플로우


이 디자인 레이아웃으로부터 userLogin.jsp 페이지를 표시하는 것으로 어플리케이션은 시작하는 것을 압니다. 로그인 페이지는 userLogin 액션을 호출해 로그인 조작을 실행합니다. 검증에러 또는 문제가 발생했을 경우 userLogin액션은 userLogin.jsp 페이지에 되돌립니다. 다만, 로그인이 성공했을 경우 어플리케이션은 userLoginSuccess.jsp 페이지로 진행됩니다.




5.1 Struts 프로젝트의 컴포넌트

일반적인 Struts 프로젝트는 이하의 개발 결과물의 카테고리로 구성됩니다.

  • JSP
  • Action
  • ActionForward *
  • ActionForm **
  • Struts 디플로이먼트 기술자 : struts-config.xml

* ActionForward 는 struts-config.xml 파일내의 <forward> 엔트리이며, 액션이 완료했을 때에 실행하는 패스를 정의합니다. ActionForward 클래스의 커스텀 임플리멘테이션에 대해서는 말하지 않습니다만, 이것은 가능하고, 확정 유저를 위한 툴로 서포트되고 있습니다.


** ActionForm 는 유저가 구체적인 ActionForm 임플리멘테이션을 작성해 페이지를 랩하는 것을 원하지 않는 경우에 DynaForm의 사용에 옮겨놓을 수 있습니다.


MyEclipse 에서는 이러한 컴포넌트의 언젠가 또는 모든것 (struts-config.xml 파일은 제외하다)을 3가직 방법으로 작성할 수 있습니다.

방법 1

아래의 그림 7 에 보이듯이「파일」>「신규」>「그 외」>「MyEclipse」>「Web-Struts」>「Struts 1.1 (또는 1.0)」메뉴를 사용해 Struts위저드를 선택합니다.


그림 7 - 모든 사용가능한 Struts 위저드


위저드는 단순하고, 지정된 Struts 컴포넌트가 서포트하는 모든값에 대해 prompt를 냅니다. 다만 다른 위저드보다 복잡한 위저드도 있습니다. 예를 들면, 아래의 그림 8 에 보이는「Struts Action」위저드에서는 Struts Action 으로 서포트되는 모든 기능의 포괄적인 범위가 표시됩니다.


그림 8 - 「신규 Struts Action」위저드

방법 2

「아웃라인」뷰를 사용합니다. 이 뷰는 Struts 구성 편집자의 소스 뷰 표시가 액티브한 편집 문맥일 때 사용 가능합니다.「아웃라인」뷰로부터 위저드를 액티브하게 하는 임의의 루트레벨의 노드를 오른쪽 클릭해서 그 타입의 신규 컴포넌트를 작성하는 일도 위저드를 사용해 기존은 컴포넌트를 편집할 수 도 있습니다. 그림 9 는 이러한 문맥의 위저드를 사용하는 예를 나타냅니다.



그림 9 - 「아웃라인」뷰로부터의 Struts 위저드의 기동


이 스크린샷이 주목할 만한 점은 일부의 액션이 실제로 논리적으로 관련한 위저드이며, 플로우 전체의 작성을 가능하게 하는 것입니다. 위저드는 함께 링크되어, 공통의 값을 심리스에 재이용해 수동의 재입력을 최소한으로 합니다.

방법 3

그림 10 에 나타내는 Struts 구성 편집자의 디자인 페이지의 사용도, Struts 성과물을 작성하기 위한 매우 편리한 방법입니다. 디자이너에는, struts-config.xml 파일을 열어 액세스 합니다. 편집자의 하부에서 「디자인」탭을 클릭하면, 디자이너를 실행할 수 있습니다.


그림 10 - Struts 디자이너에의 액세스


디자이너로 전환하면, 아래의 그림 11 과 같은 뷰가 표시됩니다.


그림 11 - Struts 디자이너의 개요


Struts 프로젝트의 다양한 컴퍼넌트의 작성 방법에 대해 설명했습니다. 다음의 섹션에서는, 로그인 데모 어플리케이션의 다양한 부분을 작성합니다.



5.2 어플리케이션의 구축

데모 어플리케이션의 구축은, 우선 JSP 페이지의 작성을 중심으로 실시합니다. 데모 어플리케이션을 Web 사이트의 로그인 화면과 같이 하므로, userLogin.jspuserLoginSuccess.jsp 라고 하는 2 개의 JSP 페이지만 필요하게 됩니다. 대부분의 Struts 어플리케이션과 같게, 로그인중에 문제가 발생했을 경우, 유저를 userLogin.jsp 페이지에 되돌려, 에러를 표시합니다 (loginUserFailure.jsp 페이지를 작성할 필요가 없는 것은 이 때문에입니다).


우선, userLoginSuccess.jsp 페이지를 작성합니다. 최초로 마지막 페이지를 작성하므로 순서가 역과 같이 생각됩니다만, 이렇게 하는 것으로, 「신규 Form, Action 및 JSP」위저드를 사용해 최초의 JSP 페이지를 작성함과 함께, 관련하는 Action 및 ActionForm 를 작성할 수 있습니다.


디자이너 뷰로부터 userLoginSuccess.jsp JSP 페이지를 작성하려면 , "JSP" 팔레트 툴을 사용합니다. 우선 이 툴을 클릭하고 나서, 캔버스를 클릭합니다. 아래의 그림 12 의 설명에 따라 주세요.



그림 12 - 디자이너의 사용에 의한 JSP 의 작성


캔버스를 클릭하면, 그림 13 에 나타내는 것 같은 「신규 JSP 페이지」다이얼로그가 표시됩니다.


:「Struts 1.1 을 사용하는 표준 JSP」템플릿을 선택해 주세요.


그림 13 - JSP 위저드의 구성


종료」버튼을 클릭하면, 그림 14 에 나타나듯이, 디자인 뷰에 신규에 작성된 페이지가 표시됩니다.


: 「위저드 완료 후 파일을 연다」체크 박스를 선택했을 경우, 신규의 JSP 페이지를 추가하면, MyEclipse 는 JSP 편집자내에 신규 JSP 페이지를 엽니다. 아래의 스크린샷에서는, 어플리케이션이 어떻게 표시되는지를 나타내기 위해서 클릭해 디자이너에 돌아오고 있습니다. 이것은 JSP 페이지를 작성할 경우에 표시되는 플로우가 아니기 때문에 잘못되지 않게 해 주세요.


그림 14 - JSP 페이지가 표시된 Struts 디자이너


JSP 페이지를 완성시키기 위한 나머지의 작업은, 유저에게 로그인이 성공한 것을 알리는 메세지의 출력입니다. 완성한 페이지의 소스 코드를, 아래의 그림 14a 에 나타냅니다.


주: 이 가이드를 이해하기 쉽게 하기 위해서 (또, 코드 순이 펫을 짧게하기 위해 ), 이하의 JSP 페이지는, 파일을 처음으로 열었을 때에 표시되는 디폴트의 JSP 템플릿과는 닮지 않았습니다. 여기에 있는 코드를 그대로 카피하거나 신규 JSP 파일의 작성 후에 이 코드를 디폴트의 JSP 템플릿 코드에 거두어 들이거나 해도 상관하지 않습니다.


userLoginSuccess.jsp

<%@ page language= "java"%>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html locale="true">
  <head>
    <title>My Struts 'userLoginSuccess.jsp' ending page</title>
  </head>
 
  <body>
    Hello <bean:write name="userName" scope="request" />, you successfully logged in!
  </body>
</html:html>

그림 14a - userLoginSuccess.jsp 의 코드


이 페이지는 매우 단순합니다. 여기서의 작업으로 중요한 것은 <body> 태그의 내용뿐이어, 어플리케이션의 request 스코프에 보관되고 있는 변수 userName 의 값을 출력합니다. 따라서, 다음에 작성하는 Action 로, request 스코프내의 userName 의 이름에 의해 속성을 지정할 필요가 있습니다.


여기에서도,userLogin.jsp 페이지, ActionForm, 및 Action 를 작성할 필요가 있습니다. 작업이 많이 있는 것처럼 생각됩니다만, MyEclipse 에서는 「신규 Form」 및 「신규 Form, Action 및 JSP」위저드를 사용하는 것으로, 이 작업을 큰폭으로 간소화합니다.


userLogin.jsp 페이지를 작성할 때는, 이 페이지에 표시하는 필드를 검토해, 그러한 필드를 각각의 ActionForm 에 맵 할 필요가 있습니다. Form 에는 값이 보관되어 적절한 Action 에게 건네집니다. Form 를 생성할 때, 앞서 얘기한 2 개의 MyEclipse 위저드는, Form 와 함께 JSP 페이지를 작성하는 기능을 제공합니다. 이 기능에서는 Form 의 모든 자산이 사용되어 이러한 모든 Form 필드가 이미 존재해 사용 가능한 JSP 페이지가 생성됩니다. 이러한 상황으로, 로그인을 처리하기 위한 Action 도 작성하기 때문에, 단순한「Form」위저드는 아니고「Form, Action 및 JSP」위저드를 사용합니다.


어플리케이션의 작성을 속행하려면 , 그림 15 에 나타나듯이, Struts 디자이너의 흰 캔버스 에리어를 오른쪽 클릭해,「신규」> 「Form, Action 및 JSP」위저드의 순서에 선택합니다.


그림 15 - 디자이너로부터의 「Form, Action 및 JSP」위저드의 기동


최초로「Struts 1.1 Form 선언」위저드가 표시됩니다. 이것이 3 스텝 위저드의 최초의 위저드입니다. 위저드가 적절한 디폴트치를 설정할 수 있도록(듯이), 유스케이스명을 입력해 주세요. 그림 16 에,유스케이스를 입력하면 어떻게 값이 설정되는지를 나타냅니다.



그림 16 - 「Struts 1.1 Form 선언」위저드


다음에, 2 개의 Form 자산, userNamepassword 를 추가할 필요가 있습니다. 「패스워드」필드를 추가하는 경우, 그림 17 에 나타나듯이「JSP 입력 타입」필드의 「password」를 선택합니다.


그림 17 - Form 에의 자산의 추가


그림 18 - Form 자산


「다음」버튼을 선택하기 전에, 「JSP」탭을 클릭해, MyEclipse 로 이러한 값이 설정된 Form 를 가지는 양식 JSP 페이지를 생성하는 것을 위저드에 나타납니다. 아래의 그림 19 에 이것을 나타냅니다.

: 위저드의 디폴트의 행동에서는, 생성된 JSP 는 "/form" 서브 디렉토리에 배치됩니다만, 이 데모 어플리케이션에서는, 모든 JSP 를 webroot 에 배치합니다.


그림 19 - Form 용의 JSP 페이지의 생성을 유효하게 한다


마지막에 「메소드」탭을 클릭해, 위저드가 신규 Form 에 자동 생성할 수 있는 모든 메소드의 체크를 제외합니다. 아래의 그림 20 에 이 구성을 나타냅니다.


: 이 데모를 단순한 것으로 하기위해, reset 메소드나 validate 메소드를 생성합니다만, 일반적으로는 독자적인 어플리케이션을 코딩 할 경우에 이러한 메소드를 사용하는 것은 유리한 계책입니다.


그림 20 - 메소드 생성을 무효로 한다


「다음」버튼을 클릭하면,「Struts 1.1 Action 선언」위저드에 진행됩니다. 이 위저드에서는, 거의 모든 값이 이미 입력되고 있습니다. 여기에서는, 작성 끝난 Form 와 신규 Action 를 묶는 것에 의해 시간이 절약됩니다. 변경은 자유롭게 가 상관하지 않습니다만, 대부분의 경우 (물론 이 데모 어플리케이션에서도), 여기서 유일 주의할 필요가 있는 것은, Action 를 사용할 수 있는 「Forward」를 입력하는 것입니다. 그림 21 에 위저드의 스크린샷를 나타냅니다.


그림 21 - 「Struts 1.1 Action 선언」위저드


「ActionForward」를 지정하려면 , 그림 22 에 나타내도록(듯이)「Forward」탭을 클릭합니다.



그림 22 - Action Forwards 의 셋업


이 Action 에의 Forward 의 추가 후, 「종료」버튼을 클릭하면(자), MyEclipse 로 모든 신규 정보를 사용해 모든 자원을 작성하거나struts-config.xml 파일 ( 및 디자이너)을 갱신하거나 할 수 있습니다. 그림 23 에 갱신된 레이아웃 및 어플리케이션 구조를 나타냅니다.


: 작은 스크린샷에 다이어그램의 모든 엘리먼트를 명시할 수 있도록, 일부가 수동으로 레이아웃 되고 있습니다. 다이어그램을 수동으로 레이아웃 할 때, 변경 내용은 장래의 편집을 위해서 보존됩니다.


그림 23 - Struts 디자이너 및 어플리케이션의 개요


이것으로 어플리케이션 플로우가 정의되었기 때문에, Action 에 논리를 추가해, 이 데모·어플리케이션의 "login" 순서를 처리할 필요가 있습니다. 그림 24 에 나타내도록(듯이), 디자인을 더블 클릭 하면 자원으로 점프 할 수 있습니다.


그림 24 - 디자이너·자원을 더블 클릭 해 편집자를 연다


UserLoginAction.java 파일을 처음으로 열었을 경우,execute 메소드용으로 생성된 코드는 그림 24a 와 같이 됩니다.


UserLoginAction.java
public ActionForward execute(
  ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response) {
  UserLoginForm userLoginForm = (UserLoginForm) form;
  // TODO Auto-generated method stub
  return null;
 }

그림 24a - 생성된 execute 메소드


디폴트의 임플리멘테이션에서는 단지 null 를 돌려주고 있을 뿐입니다만, 이것을 제거해, 그림 24b 에 나타내는 것 같은 단순한 로그인 Logic에 옮겨놓습니다.

UserLoginAction.java
 public ActionForward execute(
  ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response) {
  UserLoginForm userLoginForm = (UserLoginForm) form;
 
  if(userLoginForm.getUserName().equals("myeclipse") && userLoginForm.getPassword().equals("myeclipse"))
  {
   request.setAttribute("userName", userLoginForm.getUserName());
   return mapping.findForward("success");
  }
 
  return mapping.findForward("failure");
 }

그림 24b - 수정된 execute 메소드


여기에서는 매우 단순하게,userNamepassword 의 값이 함께 "myeclipse" 일지 어떨지를 체크합니다. "myeclipse" 인 경우,userName 를 request 스코프에 보관해,success forward 를 돌려주므로, userLoginSuccess.jsp 페이지에 사용자 정의의 메세지를 표시할 수 있습니다. 그렇지 않은 경우, 문제가 있으면, failure forward 를 돌려줍니다. 일반적으로 실제의 어플리케이션에서는, 발생한 문제를 설명하기 위해, failure forward 를 되돌리기 전에 ActionMessages 또는 ActionErrors 콜렉션을 request 스코프에 추가합니다.



6. 데모의 실행

이것으로 어플리케이션이 완성했습니다. 「데프로이먼트 관리」다이얼로그를 열어, 이 프로젝트의 신규 데프로이먼트를 셋업 하는 것으로, Tomcat 5 에 데프로이 할 수 있습니다. 그림 25 에 나타내는 관리 다이얼로그를 열려면 , 「패키지 익스플로어」뷰로 프로젝트를 오른쪽 클릭해,「MyEclipse」> 「프로젝트 데프로이먼트의 추가와 제거」를 선택하는지, 툴바의「MyEclipse J2EE 프로젝트를 서버에 데프로이」아이콘을 클릭합니다.


주: MyEclipse 로 Tomcat 5 (또는 그 외의) 어플리케이션 서버 컨넥터를 이미 셋업 하고 있는 것이 전제가 되고 있습니다. 아직 셋업 하고 있지 않고, help가 필요한 경우는,「어플리케이션의 데프로이먼트 및 서버 관리의 퀵 스타트」가이드를 참조해 주세요.



그림 25 - 신규 데프로이먼트의 작성


데프로이먼트의 완료 후에 데프로이먼트 상황을 체크해, 에러가 발생하고 있지 않는 것을 확인하는 것을 추천합니다. 이것을 실시하려면 , 그림 26 의 설명에 따릅니다.



그림 26 - 데프로이먼트가 성공한 것의 확인


마지막으로, 그림 27 에 나타내는 어플리케이션 서버의 시작 버튼을 사용해 Tomcat 를 기동합니다.



그림 27 - 어플리케이션·서버의 개시


서버가 시작되면, 출력이 Eclipse 의 「콘솔」뷰에 송신됩니다. 그림 28 에, 이하의 2 개를 확인할 수 있도록 통상의 Tomcat 의 기동을 나타냅니다.
 1) Tomcat 가 Web 어플리케이션을 정상적으로 데프로이 했다
 2) Tomcat 가 정상적으로 기동했다



그림 28 - 어플리케이션과 서버가 올바르게 기동한 것의 확인


Tomcat 5 가 실행되면(자), 「MyEclipse Web 브라우저」뷰를 열어 테스트할 수 있습니다. 이것을 실시하려면 ,「윈도우」> 「뷰의 표시」> 「그 외...」(을)를 선택해, 「뷰의 표시」다이얼로그에 액세스 해, 「MyEclipse Enterprise Workbench」> 「Web 브라우저」뷰를 선택합니다.


Open
그림 29 - 「Web 브라우저」뷰의 오픈


그림 30 에 나타나듯이 브라우저의 주소·바에 http://localhost:8080/StrutsLoginDemo/userLogin.jsp 라고 입력해, 샘플 어플리케이션을 액티브하게 합니다.


그림 30 - 데모 어플리케이션에의 로그인


이와 같이, 어플리케이션은 사용 가능하다라고 하는 것을 알수있습니다. 이것으로, 유저명과 패스워드를 입력할 수 있습니다.


주: 이 데모의 유저명과 패스워드는, 어느쪽이나 'myeclipse'입니다.


로그인 후, Form 가 검증되어 어플리케이션은 유저를 로그인 성공 페이지에 진행합니다. 그림 31 은, Action 에 의해 유저가 올바르게 진행된 userLoginSuccess.jsp 페이지를 나타내고 있습니다.



그림 31 - 성공한 로그인


주:본 샘플 어플리케이션에의 액세스때는, HTTP 포토로서 8080 을 지정하고 있습니다만, 포토 번호는 사용하시는 서버 설정에 맞추어 적당히 변경해 주세요.




7. 통계

이 데모에서는, MyEclipse Enterprise Workbench 로 사용 가능한 Struts 툴을 사용해, 단순한 Struts 어플리케이션을 작성했습니다.


이것으로, Struts 의 설명은 종료됩니다. Web 프로젝트에서의 작업, 어플리케이션의 데프로이먼트 및 서버 관리에 대한 개요는, 그 외의 퀵 스타트 문서로 입수할 수 있습니다. 자세하게는, 메인 메뉴의문서에 액세스 해 주세요.


8. 사용자 피디백

이 문서에 대해 의견, 제안이 있으면, 서포트 포럼으로 보내 주세요. 

Posted by 1010
98..Etc/MyEclipse2009. 7. 7. 13:03
반응형
Posted by 1010