[01-D1] 안드로이드의 개요, Eclipse ADT(Android Development Tools), AVD

[01] 안드로이드의 개요

1. 안드로이드 개요
   1) 초창기의 무선 인터넷: WAP --> WML(HDML, mHTML) Script 사용 --> 부족한 기능과 사용자 인터페이스 지원 사용자 확보에 실패.

   2) 업체별 독자적인 모바일 환경 구축: Brew, Palm OS(Garnet OS),
      RIM Blackberry OS, Sun J2ME, WIPI, Nokia Symbian OS, 2007년 이후부터 iPhone OS등이 등장함.
  
   3) 기존의 컨텐츠 유통방식은 이동통신사에 너무 종속적인 관계라 컨텐츠 개발자가 진입하는데
       많은 장벽이 발생하고 폐쇄적인 모바일 폰 정보, 까다로운 심사등으로 개발에 제한이 많았음, 판매하려면 이동통신사의 여러 요구조건을 수용해야하는 여러움이 많았음.
  
   4) 영업 이익을 일방적으로 이동통신사가 결정함으로 컨텐츠
      제공회사는 갑을 관계에 따라 수용할 수 밖에 없음.

   5) 장비 제조회사및 이동통신사에서 판매되는 폰은 기능상의 제약이 매우 많아 고수준의 컨텐츠
      구현에 어려움이 많았음, 일반 컨텐츠 개발자에게 핸드폰의 중요 기능을 제어할 수 있는 API 비공개.      

   6) Mac을 판매하는 애플은 아이폰을 통해 폐쇄적인 컨텐츠 유통 구조, 부족한 하드웨어 성능을 크게 개선함.

   7) 애플은 기존의 소프트웨어 컨텐츠 유통방식을 이동통신사 중심에서 개발자와 컨텐츠를
      판매하는 마켓 중심으로  변경하였고 간단한 승인만으로 Application을 마켓에 등록해 전세계를
      대상으로 판매하고 수익을 개발자가 7 애플이 3을 갖는 유통 혁명을 제공함. 
      따라서 기본의 KT, SK Telecom, LG Telecom 및 Samsung, LG는 컨텐츠 유통에 관려 할 수 없다.
     
   8) 애플은 소프트웨어 개발 킷, 장비 제조(일반적인 핸드폰 생산 회사), 판매(이동통신사)를 애플이
      지정한 업체만 가능하도록 폐쇄적인 정책을 진행하고 있음. 우리나라의 경우 KT만 판매 가능.

   9) 중요 API 비공개가 많아 스마트폰 App의 개발에 제약이 많음.
      이런 문제로 해킹과 탈옥이 많이 발생함.
   
   10) 2007년 11월 Google은 OHA(Open Handset Alliance)구성 하였으며 이 협회는
       Google(SDK 배포), 칩 제조사, 단말기 제조사(Samsung, Motorola, HTC, LG등),
       소프트웨어 개발사(Google 주도), 서비스 공급 업체등을 포함하는 전략적인 협력 기구로
       설립됨.

   11) 안드로이드 플렛폼은 아이폰과 다르게 장비제조 및 판매에 제약이 없음.
       마켓을 누구나 만들 수 있음.

   12) 안드로이드 OS를 변경하여 스마트폰 뿐만 아니라, 태블릿 PC, PMP, MP3, Navigation, TV 등
       영역을 가리지 않고 IT모든 분야에 응용할 수 있음.

   13) 안드로이드는 개발자가 자유롭게 개발하여 폰에서 아무 제약 없이 테스트가 가능하며,
       마켓에 올릴 수 있고 유통이 가능하다.

   14) Android는 아이폰에 비해 대부분의 폰과 관련된 모든 API를 전부 공개해 개발자가 App을
       개발하는데 API적인 제약이 거의 없고 WIFI 접속 기능과 고성능 하드웨어 장치(DB, GPS, Camera, Sensor...)가
       지원됨으로 개발자가 컨텐츠를 구현하는데 제한이 별로 없다.

   15) 정부 주도하에 폐쇄적인 모바일 정책은 우리나라에 IPhone, Android가 들어오는 것을
       막고 컨텐츠 유통을 기형적으로 만들어 많은 건전한 스마트폰 시장 발전하는데 많은
       장애가 됨.         


 

2. 안드로이도 아키텍쳐(플렛폼)

   안드로이드 Application
   ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
   DALVIK VM(SendBox 보안 모델)
   ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
   Android OS(Froyo 2.2등)
   ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
   Linux OS(Kernal 2.6.XX)
   ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
   Memory Management, Process Management, Network Stack, IO, Power, WIFI, Bluebooth
   Camera, Audio, Telephony, SD Card Flash Memory, Sensor, GPS, etc
   ----------------------------------------------------------------------------------------------------------------------------------------------------------------------

 


3. 개발과 관련된 주요 기능들
   - 사용자 인터페이스 wedget(View, 콘트롤)
   - 사용자 인터페이스 레이아웃(Layout, View의 배치)
   - 보안(암호화), 네트워킹, 웹 브러우징(SSL, WebKit)
   - 구조적 저장소(Content Provider), 관계형 데이터베이스(SQLite)
   - 2D, 3D 그래픽 지원(SGL, OpenGL ES 1.0)
   - 동영상 포맷 지원(MPEG4, MP3, 정지 이미지)
   - 위치 기반 서비스(LBS, GPS), WiFi, Bluetooth등의 하드웨어 접근

 


4. 안드로이드 응용 프로그램의 요소.
   - Activity: 응용 프로그램이 수행하는 기능, 하나의 윈도우.
   - View    : 사용자 인터페이스를 구성하는 콘트롤.
   - Layout  : View의 그룹, 사용자 인터페이스를 구성하는 View의 배치.
   - Intent  : Activity를 실행하는 역활.
   - Service : demon process, thread등의 프로그램 가능.
   - notification: 전화가 오는등의 특정 상황 처리 가능

 


5. 안드로이드 개발 환경
   1) JDK 1.6 설치
   2) Eclipse WTP 3.5 Galileo 설치
   3) Android SDK 1.6, 2.1, 2.2 설치
   4) 시중 모든폰 가능, 폰이 없는 경우 에뮬레이터에서 테스트 가능.

  


6. Android는 자바를 기반으로하나 자바의 API외에 Android 전용 API가 많이
   추가되어 많은 부분에서 새로운 API에 대한 학습이 필요함.
   기존의 Web 개발과 많은 부분이 다른데 특히 JAVA IO/Network,
   XML, Algorithm과 관련된 지식이 중요합니다.

 

 

[02] jdk1.6.0 설정 - Windows 기반 설정

   - JAVA의 Version

     J2SE = J2SDK = JDK

     JAVA,                   
     J2SE 1.5.0(5.0)  <-- SDK 1.5 개발 기준 버전
     J2SE 1.6.0(6.0) 


   - 수업 관련 폴더 생성
     H:/201004_android
     H:/201004_android/install_backup
     H:/201004_android/workspace_android

 

1. 다운 로드
   - http://java.sun.com/

 


2. 자바의 삭제
   - 설치 확인: java -version
   - 자바 삭제시 관련 프로그램(인터넷 익스플로러등)을 전부 종료후 삭제합니다.
   - [제어판 >> 프로그램 추가/제거]에서 삭제합니다.

 


3. 설치시 환경 변수의 지정
   - 환경 변수의 설정 (내 컴퓨터 -> 고급 -> 환경변수)
     . 경로와 경로사이는 반드시 ";"으로 구분을 해주어야 합니다.
     . 일반적으로 환경변수명은 대문자를 사용합니다.


   ★ 설치 경로: C:\jdk1.6.0


   ⓐ 변수이름: PATH     
      값: C:\jdk1.6.0\bin; 기존의 값에 추가

      . 도스상에서 Windows가 프로그램 찾는 경로를 지정합니다.
      . 기존에 등록된 윈도우관련 경로를 삭제하면 안됩니다.
      . 오라클 9i설치된 경우 오라클에 내장된 j2sdk1.3.1, 1.1.8이 인식이 됨으로 이것을 PATH에서 지워야 합니다.
      . ';'의 의미: 경로가 여러게 등록될 경우 구분자의 역활을 합니다.

      기존의 경로를 지운 경우 =>
      %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\jdk1.6.0\bin;

 

   ⓑ 변수이름: CLASSPATH 
      값      : .;C:\jdk1.6.0\lib\tools.jar

      . JVM이 클래스를 찾는 경로를 지정합니다.
      . "."은 현재 폴더를 가르킵니다.
      . ".."상위 폴더를 가르킵니다.
      . tools.jar은 자바 유틸리티 프로그램이 필요한 클래스를 구현하여
        가지고 있습니다. C:\jdk1.6.0\bin폴더에 있는 실행 파일들이
사용하게 됩니다.

 

      - 설치 확인 :
        . 경로를 수정하면 도스창을 다시 열어 확인합니다.
        . C:\>echo %CLASSPATH%
        . C:\>echo %Path%

        . java -version, javac.exe

 

 


[03] Eclipse JAVA Compile environment setting - Windows 기반 설정

1. Eclipse 프로젝트 진행 사이트
   http://www.eclipse.org
   http://www.eclipse.org/ganymede/에 접속하여 다운 받습니다.
   설치를 위해서는 1G 정도의 하드디스크 공간이 있어야 합니다.
   추가적인 Plugin을 설치하려면 계속적으로 공간이 필요합니다.
   다운이 다 되었으면 압축을 풀어 필요한 곳으로 복사를 하면 설치가 다 된것입니다.


※ SDK 1.6부터는 Eclipse Galileo 버전 지원
   

[참고] 이클립스 실행시 메모리 에러 해결: eclipse.ini 파일 수정

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m    <-- 256 으로 변경

 


2. Eclipse setting
   - workspace : workspace_android
   - Eclipse 3.X setting
     . Font       : Preference --> General --> Apperance --> Colors and Fonts -->
                    Basic --> Text Font에서 수정
     . Line Number: Preference --> General --> Editors --> Text Editors -->
                    "Insert spaces for Tabs, Show Line Number" Check
     . TAB        : Preference --> Java --> Code Style --> Formatter -->
                    New...Button click --> "android" 입력 후 확인 --> Tab policy를
                    "Spaces only"선택하고 확인 버튼을 클릭합니다.

 

 


[04] Android SDK Updater 설치 - Windows 기반 설정

1. Android SDK 2.1 download
   - Android open source 프로젝트 진행 사이트
     http://developer.android.com/sdk/index.html


   - 설치 폴더: H:/201005_android_6/android-sdk-windows

 


2. PATH 환경 변수 설정
   H:/201005_android_6/android-sdk-windows/tools

예)
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\jdk1.6.0\bin;H:/201005_android_6/android-sdk-windows/tools;

 

 

[05] Eclipse에 Android ADT(Android Development Tools) 설치 - Windows 기반 설정

1. ADT 설치
   [Eclipse --> Help --> Software Updates... --> Available Software --> Add Site]
   Location: https://dl-ssl.google.com/android/eclipse

   'Developer Tools'선택 --> Install

 


2. Eclipse 재 시작

 


3. Android SDK 설치
   1) [Windows --> Preferences --> Android --> SDK Location]
      H:/201004_android/android-sdk-windows 지정
  
   2) [Window --> Android SDK and AVD Manager] 실행

   3) Available Packages 선택후 설치
      □ SDK Platform Android 1.5, API 3, revision 3
      □ Google APIs by Google Inc., Android API 3, revision 3
      □ USB Driver package, revision 3

   4) License Accept화면에서 'All Accept' 전부 동의 하고 진행

   5) H:/201006_android_6/android-sdk-windows/platforms 폴더에서 설치된
      SDK 확인

 

 


[06] AVD(안드로이드 가상 장치, Android Virtual Device) - Windows 기반 설정
     - Emulator, 실제 폰과 비슷한 기능을 가지고 있으나 전화, 문자, 카메라,
       센서 같은 하드웨어 기능은 제공하지 않음.
    
1. 안드로이드폰 에뮬레이터의 설정
   [Window --> Android SDK and AVD Manager --> Virtual Devices]

   Name    : AVD21
   Target  : Google APIs (Google Inc.)- API Level 7: GPS 지원
             Android 2.1 API Level 7: GPS 지원 안함
   SD Card : 512
   Skin    : Default(HVGA) 320 X 480
   Hardward: Abstracted LCD density, GPS support, SD Card support
  

 

2. Emulator 테스트
   emulator는 많은 메모리를 사용하고 실행 속도가 느림으로 종료하지말고 할 것.
   그렇지 않으면 테스트폰을 USB로 연결하고 작업하면 작업 속도가 향상 될 수 있다.

 


3. Locale(지역) 설정
   [Emulator --> Menu --> Settings --> Locale & Text --> Korean]선택시 아이콘이
   한글로 출력됨.


 
4. 한글 키보드 설정
   1) http://www.androidpub.com/198992 에 접속하여 'HangulKeyboard.apk'파일을 다운받습니다.
   2) 핸드폰이 연결되어 있다면 연결을 해제하고 에뮬레이터를 실행합니다.
   3) H:
      cd H:/201006_android_6/install_backup
      dir
      adb install HangulKeyboard.apk
   4) Emulator: 설정 --> 로케일 & 텍스트 --> 한글 접촉식 키보드 선택
   5) 에뮬레이터에서 [?123]버튼을 길게 눌러 입력방식을 변경합니다.


※ apk 삭제
   adb uninstall HangulKeyboard.apk


※ apk 재설치
   adb install -r HangulKeyboard.apk

 


5. Android reference
   1) API Level: SDK1.0-1, SDK1.1-2, SDK1.5-3, SDK1.6-4, SDK2.0.1-6, SDK2.1-7
   2) URL: http://developer.android.com/reference/packages.html
  

 

 

 

Posted by ▶파이팅◀

Model 2를 활용하라!

오정원의 『JSP 2.1 - MVC 패턴을 이용한 실전 프로젝트 완벽 공개』. JSP 2.0의 기초부터 활용까지 배울 수 있다. JSP의 기본적인 문법은 물론, 장바구니와 게시판, 회원관리와 관리자모드 등을 Model 2로 구현한 예를 수록하여 이해를 도와준다.

자바 웹 애플리케이션을 개발할 때 프레임워크 등에서 기본이 되는 MoDEL 2를 확실하게 활용하여, 그것을 통해 프로그래밍을 개발할 능력을 배양할 수 있도록 인도하고 있다. 특히 MVC 패턴을 이용하는 실전 프로젝트를 완벽하게 공개한다. 부록으로는 실전 프로젝트 예제 소스 코드가 수록된 CD 1장을 제공하고 있다.

저자소개

  • 저자 오정원

    동국대학교 대학원 컴퓨터 공학과 석사
    (주)INETS 개발팀 근무- 부동산 포탈 사이트 woohaha.com 등 다수의 웹솔루션개발
    EJB 기반 가전제품 원격시스템 개발 및 논문 발표
    (주)이팀 - 상품평가 주식시스템 개발
    자바 개발자 커뮤니티 richprogrammer 운영 (cafe.naver.com/richprogrammer)
    강남 국제 IT-자바 및 시스템 강의
    대신직업 전문학교 - 자바 프로그래밍 강의
    경영기술 개발원 - ERP 솔루션 과정 담당
    중앙일보 ITEA - 자바 일본 취업 과정 담당
    캐드뱅크(주) - 자바 일본 취업 과정 담당
    중앙정보처리 학원 - 자바 개발자 과정 담당
    현대 직업 전문학교 - 노동부 자바 취업 과정 담당
    사이텍스 정보기술(주)

목차

  • Chapter 1 JSP 입문
    1. 웹 프로그래밍 개요
    1) 웹 프로그래밍이란? 016
    2) 웹 프로그래밍 언어 소개 017
    3) 웹 애플리케이션의 구조 020
    2. JSP와 서블릿(Servlet)
    1) JSP의 개요 023
    2) JSP의 특징 025
    3) 서블릿(Servlet)의 개요 027
    4) HTTP 프로토콜의 이해 028
    5) 웹 컨테이너란 031
    6) 서블릿의 동작 원리 031

    Chapter 2 개발 환경 설정
    1. J2SE(JDK 6.0) 설치
    1) JDK 6.0의 특징 034
    2) 다운로드 및 설치 035
    3) 환경변수 설정하기 039
    4) 설치 확인하기 042
    2. 웹 컨테이너(Apache Tomcat 6.0) 설치
    1) 아파치 톰캣 6.0의 특징 043
    2) 다운로드 및 설치 043
    3) 톰캣에서 ServletTest 서블릿과 JSP 파일 동작 확인 048
    3. 개발툴(이클립스) 설치
    1) 이클립스(Eclipse 3.4)의 특징 060
    2) 다운로드 및 설치 061
    3) 이클립스에서 웹서버 환경 설정 064
    4) 이클립스에서 서블릿/JSP 작성 및 실행 071

    Chapter 3 JSP 기본 요소
    1. JSP 주석
    1) 주석을 사용하는 이유 092
    2) HTML 주석 093
    3) JSP 주석 093
    4) 자바 스타일 주석 093
    2. JSP 지시어(Directive)
    1) 지시어의 개요 094
    2) page 지시어 094
    3) include 지시어 100
    4) taglib 지시어 102
    3. JSP 스크립트 요소
    1) 선언문(declarations) 103
    2) 스크립틀릿(scriptlets) 105
    3) 표현식(expressions) 111

    Chapter 4 내장 객체와 액션 태그
    1. 내장 객체
    1) 내장 객체의 개요 117
    2) request 객체 119
    3) response 객체 128
    4) pageContext 객체 130
    5) session 객체 132
    6) application 객체 135
    7) out 객체 137
    8) config 객체 139
    9) page 객체 141
    10) exception 객체 142
    2. 영역 객체와 속성
    1) 영역(Scope)과 속성(Attribute) 143
    2) 속성과 관련된 메소드들 144
    3. 액션 태그
    1) 액션 태그의 개요 151
    2) forward 액션 151
    3) include 액션 157
    4) plugin 액션 160

    Chapter 5 액션 태그를 활용한 템플릿 페이지 작성
    1. 템플릿 페이지
    1) 템플릿 페이지를 사용하는 이유 164
    2) 일반적인 웹 페이지의 구조 165
    3) 템플릿 페이지의 설계 166
    4) 액션 태그를 이용한 템플릿 페이지의 작성 166

    Chapter 6 자바빈(JavaBean)
    1. 자바빈의 개요
    1) 자바빈을 사용하는 이유 171
    2) 자바빈의 설계 규약 172
    3) 자바빈의 기본 작성 예제 173
    2. JSP에서 자바빈 사용하기
    1) 태그 174
    2) 태그 174
    3) 태그 176
    4) 자바빈의 영역 177
    3. 자바빈을 이용한 회원가입 폼 작성
    1) 자바빈의 작성 178
    2) 입력폼 페이지의 작성 179
    3) 입력 정보 확인 페이지의 작성 181

    Chapter 7 세션(Session)과 쿠키(Cookie)
    1. 세션(Session)
    1) HTTP 프로토콜의 특성 184
    2) 세션의 개요 185
    3) JSP에서의 세션 관리 185
    2. 쿠키(Cookie)
    1) 쿠키의 개요 189
    2) HTTP 헤더를 이용한 쿠키 설정 190
    3) 서블릿 API를 이용한 쿠키 설정 191
    3. 세션과 쿠키를 이용한 예제
    1) 세션을 이용한 로그인 정보 유지 194
    2) 쿠키를 이용한 사용자 화면 설정 정보 유지 197

    Chapter 8 파일 업로드
    1. 파일 업로드의 원리
    2. 가장 널리 쓰여지는 업로드 모듈 COS 라이브러리
    1) COS 라이브러리 소개 202
    2) COS 라이브러리 다운로드 및 설치하기 202
    3) MultipartRequest의 특징 205
    4) MultipartRequest의 생성자 205
    5) MultipartRequest의 메소드 206
    3. MultipartRequest를 이용한 파일 업로드 구현
    1) 파일 업로드 폼의 작성 207
    2) 업로드 페이지의 작성 208
    3) 업로드의 확인 및 다운로드 페이지 작성 211

    Chapter 9 썸네일 이미지
    1. 썸네일 이미지의 개요
    1) 자바빈을 사용하는 이유 214
    2. 썸네일 이미지 만들기
    1) JAI(Java Advanced Imaging) API 소개 214
    2) JAI(Java Advanced Imaging) API 다운로드 및 설치 215
    3) 썸네일 이미지 예제 작성 217

    Chapter 10 JavaMail
    1. 자바 메일의 개요
    2. 자바 메일의 구현
    1) 자바메일 API 다운로드 및 설치 222
    2) SMTP 서버의 설치 및 설정 225
    3) 자바메일 보내기 예제 작성 230
    Chapter 11 데이터베이스를 이용한 회원관리 시스템
    1. 데이터베이스의 개요 및 설치
    1) 데이터베이스와 DBMS 234
    2) MySQL DBMS의 설치 235
    3) Oracle10g의 설치 243
    2. SQL 쿼리
    1) SQL의 소개 250
    2) SQL 쿼리(Query)의 기본 문법 251
    3) 회원관리 시스템을 위한 테이블 작성 259
    3. JDBC
    1) JDBC의 개요 261
    2) JDBC 드라이버의 설치 261
    3) JDBC 프로그램의 작성 단계 263
    4) JDBC 연동 예제 264
    4. 커넥션 풀(Connection Pool)
    1) 커넥션 풀의 개요 267
    2) JNDI의 개요 268
    3) 자카르타 DBCP API를 이용한 커넥션 풀 268
    4) 트랜잭션(Transaction) 277
    5. JDBC의 실전 활용
    1) Statement와 PreparedStatement 278
    2) Stored Procedure와 CallableStatement 284
    3) ResultSet과 ResultSetMetaData 285
    4) ResultSet의 커서 자유롭게 움직이기 289
    5) CLOB 데이터 다루기 292
    6) 트랜잭션 관리 296
    6. 데이터베이스를 연동한 회원관리 시스템
    1) 회원관리 시스템의 설계 300
    2) 회원관리 시스템 페이지의 작성 301

    Chapter 12 JSP 태그 라이브러리와 JSTL
    (JSP Standard Tag Library)
    1. 커스텀 태그
    1) 커스텀 태그의 개요 315
    2) 커스텀 태그 사용의 장점 315
    3) 커스텀 태그의 구조 및 동작 원리 316
    4) TLD(Tag Library Descriptor) 파일 317
    5) 태그 핸들러 318
    2. JSTL(JSP Standard Tag Library)
    1) JSTL의 개요 320
    2) JSTL의 다운로드 및 설치 321
    3) EL(Expression Language)의 개요 324
    4) EL의 내장객체 325
    5) EL의 연산자 327
    6) JSTL의 기본 액션 - JSTL core 329
    7) JSTL의 국제화/형식화 액션 - JSTL fmt 336
    8) JSTL의 XML 액션 - JSTL xml 346
    9) JSTL의 SQL 액션 - JSTL sql 355
    Chapter 13 Model 2로 만드는 게시판 프로젝트
    1. 모델 2 개요
    1) 모델 1과 모델 2의 비교 361
    2) MVC 패턴의 개요 362
    3) MVC 패턴의 구성 및 흐름 362
    4) Controller (서블릿) 363
    5) View(JSP) 364
    6) Model(JavaBean) 364
    2. MVC 패턴을 사용한 간단한 게시판
    1) 왜 게시판인가 365
    2) 게시판의 흐름 365
    3) 게시판 페이지 및 Action 클래스 설계 366
    4) 데이터베이스 구조 설계 368
    5) 라이브러리 설정 및 커넥션 풀 작성 370
    6) 데이터 빈(DataBean) 클래스 작성 371
    7) DAO(Data Access Object) 클래스 작성 374
    8) FrontController(프론트 컨트롤러) 작성 383
    9) Action 인터페이스, ActionForward 클래스의 작성 387
    10) 게시판 Action 클래스의 작성 388
    11) View 페이지의 작성 400
    12) 게시판의 동작 확인 413
    3. 회원 시스템과 결합한 답변형 게시판 프로젝트
    1) 회원 시스템과 결합한 게시판의 개발 417
    2) 프로젝트의 흐름도 418
    3) View 페이지와 Action 클래스의 설계 419
    4) 데이터베이스 구조 설계 421
    5) 데이터 빈(DataBean) 클래스와 DAO 클래스의 작성 423
    6) FrontController(프론트 컨트롤러) 작성 440
    7) Action 클래스의 작성 446
    8) View 페이지 작성 467
    9) 프로젝트의 동작 확인 484

    Chapter 14 실전 예제
    1. 실전 예제의 개요
    1) 실전으로 구현하는 쇼핑몰 491
    2) 구현 방향 491
    3) 개발을 위한 설정사항 492
    2. 회원 시스템 구현
    1) 회원에 대한 DB 구조 494
    2) MemberDAO 클래스 구현 498
    3) 회원에 관련된 Action 클래스 구현 507
    4) View 페이지 작성 522
    5) 회원 시스템의 동작 확인 547
    3. 상품 관리 시스템 구현
    1) 상품에 대한 DB 구조 552
    2) AdminGoodsDAO 클래스 구현 554
    3) 상품 관리에 대한 Action 클래스 구현 561
    4) View 페이지 작성 571
    5) 상품 관리 시스템의 동작 확인 581
    4. 상품 관련 시스템 구현
    1) GoodsDAO 클래스 구현 584
    2) 상품 정보에 대한 Action 클래스 구현 597
    3) View 페이지 작성 606
    4) 상품 관련 시스템의 동작 확인 619
    5. 장바구니 시스템 구현
    1) 장바구니에 대한 DB 구조 623
    2) BasketDAO 클래스 구현 624
    3) 장바구니에 대한 Action 클래스 구현 630
    4) View 페이지 작성 637
    5) 장바구니 시스템의 동작 확인 640
    6. 주문 처리 시스템 구현
    1) 주문 처리에 대한 DB 구조 644
    2) OrderDAO 클래스 구현 646
    3) 주문 처리에 대한 Action 클래스 구현 654
    4) View 페이지 작성 664
    5) 주문 처리 시스템의 동작 확인 675
    7. 주문 관리 시스템 구현
    1) AdminOrderDAO 클래스 구현 678
    2) 주문 관리에 대한 Action 클래스 구현 683
    3) View 페이지 작성 691
    4) 주문 관리 시스템의 동작 확인 700

    Index 702

출판사서평

  • 이 책은 JSP의 기본적인 문법에 대한 상세한 설명은 물론 프로젝트에서 직접 참조할 수 있는
    장바구니 , 게시판 , 회원관리, 관리자 모드 등을 Model2로 구현한 예를 수록해 놓았습니다.
    이 책을 통해서 Model2로 프로그래밍을 개발할 능력을 배양하고 Model2의 개념을 정확이
    익힌다면 아키텍쳐가 변형이 되어도 그리 무리가 따르지는 않을 것입니다.
    또한, 프로젝트 프로그램 소스를 공개하여 독자여러분들께서 직접 프로그래밍할 때 많은 도움이 될 것입니다.


    구성

    Chapter 1 JSP 입문
    Chapter 2 개발 환경 설정
    Chapter 3 JSP 기본 요소
    Chapter 4 내장 객체와 액션 태그
    Chapter 5 액션 태그를 활용한 템플릿 페이지 작성
    Chapter 6 자바빈(JavaBean)
    Chapter 7 세션(Session)과 쿠키(Cookie)
    Chapter 8 파일 업로드
    Chapter 9 썸네일 이미지
    Chapter 10 ......
Posted by ▶파이팅◀

스프링 프레임워크 3 기초 원리부터 고급 실전활용까지 완벽 가이드

『토비의 스프링 3』은 대한민국 전자정부 표준 프레임워크 기술로 선정된 스프링의 국내 최고 권위자 토비 이일민의 스프링 프레임워크 3 프로그래밍 바이블이다. 스프링의 3대 핵심 기술인 IoC/DI, PSA, AOP를 빠르고 효과적으로 배울 수 있는 실전 예제를 중심으로 설명하며, 자바 언어와 JDBC만 알면 누구라도 따라할 수 있는 52단계의 상세한 스프링 애플리케이션 핵심 코드 개발 과정을 담았다. 스프링 3.0의 최신 기술을 소개하며, 스프링 기술 선택을 위한 상세한 기술 비교, 선택 기준을 제시한다. 이 책은 스프링 애플리케이션 아키텍쳐 설계와 스프링 기반 프레임워크 제작을 위한 가이드북이다.

  • 저자 이일민
    호주의 IT서비스 기업인 이프릴의 대표 컨설턴트다. 엔터프라이즈 오픈소스 커뮤니티인 오픈시드의 대표와 한국스프링사용자모임(KSUG)의 공동설립자이기도 하다. 8비트 컴퓨터 시절 프로그래밍의 매력에 빠져 10여 년간 취미로 프로그래밍을 즐겨오다 전문 개발자의 길로 들어서서 17년째 소프트웨어 개발과 교육, 컨설팅 일을 해오고 있다. 2004년부터 스프링을 이용해서 기업과 학교, 인터넷 서비스 업체의 시스템을 개발해왔고 스프링을 기반으로 한 애플리케이션 프레임워크 제작 컨설팅과 스프링 개발자 교육을 해오고 있다. JCO 컨퍼런스에서 세 차례 스프링을 주제로 발표했고 기묘, 이프릴, KSUG 등을 통해 스프링 세미나를 진행하기도 했다. 스프링과 오픈소스 기술에 관련된 정보와 경험을 공유하는 블로그(toby.epril.com)를 운영하고 있다.
    • 1장 오브젝트와 의존관계
      ___1.1 초난감 DAO
      ___1.2 DAO의 분리
      ___1.3 DAO의 확장
      ___1.4 제어의 역전(IoC)
      ___1.5 스프링의 IoC
      ___1.6 싱글톤 레지스트리와 오브젝트 스코프
      ___1.7 의존관계 주입(DI)
      ___1.8______XML을 이용한 설정
      ___1.9 정리

      2장 테스트
      ___2.1 UserDaoTest 다시 보기
      ___2.2 UserDaoTest 개선
      ___2.3 개발자를 위한 테스팅 프레임워크 JUnit
      ___2.4 스프링 테스트 적용
      ___2.5 학습 테스트로 배우는 스프링
      ___2.6 정리

      3장 템플릿
      ___3.1 다시 보는 초난감 DAO
      ___3.2 변하는 것과 변하지 않는 것
      ___3.3 JDBC 전략 패턴의 최적화
      ___3.4 컨텍스트와 DI
      ___3.5 템플릿과 콜백
      ___3.6 스프링의 JdbcTemplate
      ___3.7 정리

      4장 예외
      ___4.1 사라진 SQLException
      ___4.2 예외 전환
      ______4.3 정리

      5장 서비스 추상화
      ___5.1 사용자 레벨 관리 기능 추가
      ___5.2 트랜잭션 서비스 추상화
      ___5.3 서비스 추상화와 단일 책임 원칙
      ___5.4 메일 서비스 추상화
      ___5.5 정리

      6장 AOP
      ___6.1 트랜잭션 코드의 분리
      ___6.2 고립된 단위 테스트
      ___6.3 다이내믹 프록시와 팩토리 빈
      ___6.4 스프링의 프록시 팩토리 빈
      ___6.5 스프링 AOP
      ___6.6 트랜잭션 속성
      ___6.7 애노테이션 트랜잭션 속성과 포인트컷
      ___6.8 트랜잭션 지원 테스트
      ___6.9 정리

      7장 스프링 핵심 기술의 응용
      ___7.1 SQL과 DAO의 분리
      ___7.2 인터페이스의 분리와 자기 참조 빈
      ___7.3 서비스 추상화 적용
      ___7.4 인터페이스 상속을 통한 안전한 기능확장
      ___7.5 DI를 이용해 다양한 구현 방법 적용하기
      ___7.6 정리

      8장 스프링이란 무엇인가?
      ___8.1 스프링의 정의
      ___8.2 스프링의 목적
      ___8.3 POJO 프로그래밍
      ___8.4 스프링의 기술
      ___8.5 요약

      9장 스프링 프로젝트 시작하기
      ___9.1 자바 엔터프라이즈 플랫폼과 스프링 애플리케이션
      ___9.2 개발도구와 환경
      ___9.3 애플리케이션 아키텍처
      ___9.4 정리

      10장 IoC 컨테이너와 DI
      ___10.1 IoC 컨테이너: 빈 팩토리와 애플리케이션 컨텍스트
      ___10.2 IoC/DI를 위한 빈 설정 메타정보 작성
      ___10.3 프로토타입과 스코프
      ___10.4 기타 빈 설정 메타정보
      ___10.5 정리

      11장 데이터 액세스 기술
      ___11.1 공통 개념
      ___11.2 JDBC
      ___11.3 iBatis SqlMaps
      ___11.4 JPA
      ___11.5 하이버네이트
      ___11.6 트랜잭션
      ___11.7 정리

      12장 스프링 웹 기술과 스프링 MVC
      ___12.1 스프링의 웹 프레젠테이션 계층 기술
      ___12.2 스프링 웹 애플리케이션 환경 구성
      ___12.3 컨트롤러
      ___12.4 뷰
      ___12.5 기타 전략
      ___12.6 정리

      13장 스프링 @MVC
      ___13.1 @RequestMapping 핸들러 매핑
      ___13.2 @Controller
      ___13.3 모델 바인딩과 검증
      ___13.4 JSP 뷰와 form 태그
      ___13.5 메시지 컨버터와 AJAX
      ___13.6 mvc 네임스페이스
      ___13.7 @MVC 확장 포인트
      ___13.8 정리

      14장 AOP와 LTW
      ___14.1 애스펙트 AOP
      ___14.2 AspectJ와 @Configurable
      ___14.3 로드타임 위버(LTW)

      15장 컨텍스트 테스트 프레임워크
      ___15.1 컨텍스트 테스트 프레임워크
      ___15.2 트랜잭션 지원 테스트
      ___15.3 정리

      16장 스프링의 기타 기술과 효과적인 학습 방법
      ___16.1 스프링 기술과 API를 효과적으로 학습하는 방법
      ___16.2 IoC 컨테이너 DI
      ___16.3 SpEL
      ___16.4 OXM
      ___16.5 리모팅과 웹 서비스, EJB
      ___16.6 태스크 실행과 스케줄링
      ___16.7 정리

      부록 A 스프링 모듈
      ___A.1 스프링 모듈의 종류와 특징
      ___A.2 스프링 모듈의 의존관계

      부록 B 스프링 의존 라이브러리
      ___B.1 의존 라이브러리의 종류와 특징
      ___B.2 모듈별 의존 라이브러리 의존관계

    출판사서평

    • 대한민국 전자정부 표준 프레임워크 기술로 선정된 스프링의 국내 최고 권위자 토비 이일민이 저술한 스프링 프레임워크 3 프로그래밍 완벽 바이블. 스프링의 핵심 프로그래밍 모델인 IoC/DI, PSA, AOP의 동작원리와 이를 다양한 방식으로 응용한 예제을 통해서 스프링을 빠르게 이해할 수 있고 엔터프라이즈 개발에 효과적으로 적용할 수 있는 접근방법을 소개한다. 또한 스프링 3.0의 최신 기술을 상세하게 소개하고 그 중에서 자신에게 맞는 최적의 기술을 선택하고 조합할 수 있는 기준과 전략을 다룬다. 스프링을 처음 접하거나 스프링을 경험했지만 스프링이 어렵게 느껴지는 개발자부터 스프링을 활용한 아키텍처를 설계하고 프레임워크를 개발하려고 하는 아키텍트에 이르기까지 모두 참고할 수 있는 스프링 종합 안내서다.

      ★ 스프링의 3대 핵심 기술인 IoC/DI, PSA, AOP를 빠르고 효과적으로 배울 수 있는 실전 예제 중심의 설명
      개발 현장에서 매일 만나는 평범한 자바코드를 스프링의 핵심 기술을 적용해서 깔끔하고 스프링다운 코드로 개선해나가는 과정을 상세하게 보여줌으로써 스프링의 핵심 원리와 적용 방법을 이해할 수 있게 해준다. ......
    Posted by ▶파이팅◀

    블로그 이미지
    Let's start carefully from the beginning
    ▶파이팅◀

    태그목록

    공지사항

    Yesterday
    Today
    Total

    달력

     « |  » 2024.5
    1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31

    최근에 올라온 글

    최근에 달린 댓글

    글 보관함