목차
Part 0. JSP, 도대체 어떻게 시작해야 하지? (기초 학습편) ... 24
   Section 1. 도전하세요! JSP 세상 ... 26
      01. 뿌리를 찾자! JSP와 자바의 관계 ... 27
        1] 변화의 물결! 자바(Java) 프로그래밍 언어의 도래 ... 27
        2] 웹(Web)의 보금에 의해 발생된 새로운 프로그래밍 기법 ... 28
        3] ASP, JSP의 등장 ... 29
      02. 약방의 감초! JSP의 특징을 알아보자 ... 30
        1] JSP의 강력한 확장성 ... 31
        2] 프리컴파일(PreCompile) ... 32
        3] 서블릿의 통합 ... 32
   Section 2. 꼭 알고 가자! JSP 동작 원리 및 개발 환경 설정 ... 36
      01. JSP의 동작 원리를 알아보자 ... 37
      02. 실제로 개발 환경을 설정해보자 ... 39
        1] 윈도우 환경의 설정 ... 39
        2] 리눅스 환경의 설정 ... 46
        웹 서버와 톰캣의 연결 모듈 설치 ... 47
        환경 설정 파일의 편집 ... 52
        3] 톰캣 및 데이터베이스 ... 54
        톰캣의 디렉토리 구조 ... 54
        데이터베이스의 설치 및 사용 ... 55
        4] 반드시 알고 넘어가야 할 JSP 속성 ... 61
        일반 계정(리눅스&유닉스)으로 JSP 사용하기 ... 61
        톰캣에서 한글의 처리 ... 63
   Section 3. 실전을 위한 출발! 웹에 사용되는 JSP 문서의 작성 ... 68
      01. 기본 문서를 분석해보자 ... 69
      02. JSP의 엘리먼트를 살펴보자 ... 70
        1] 지시어 엘리먼트 ... 70
        2] 액션 엘리먼트 ... 72
        3] 스크립트 엘리먼트 ... 74
      03. 변수와 메소드를 이용해보자 ... 76
      04. JSP의 라이프사이클에 대해 알아보자 ... 79
      05. 객체 지향 언어로서의 JSP에 접근해보자 ... 81
        1] 꼭 필요한 자바(JAVA)의 기본적 개념 ... 81
        객체와 클래스 ... 81
        기본 데이터 타입 ... 82
        메소드와 객체의 사용 ... 83
        상속과 다형성 ... 85
        제한자의 기타 키워드 ... 87
        중요한 키워드들 ... 87
        JSP에서 이용되는 자바의 데이터 구조 ... 88
        2] JSP의 내장 객체를 이용해보자 ... 93
        Request 객체 ... 93
        Response 객체 ... 95
        Out 객체 ... 96
        Application 객체 ... 97
        Session 객체 ... 99
        기타 객체 ... 102
   Section 4. JSP의 고단백 테크닉 훔쳐쓰기 ... 104
      01. 자바빈즈(JavaBeans)를 이용해보자 ... 105
        1] 자바빈즈(JavaBeans)란? ... 105
        2] 자바빈즈(JavaBeans)의 실제 사용 ... 107
        자바빈즈의 제작(JSP 페이지에 삽입) ... 108
      02. 커스텀 태그(Custom Tag)를 사용해보자 ... 111
        1] 커스텀 태그의 구성 ... 112
        Tag Handler Class(태그 핸들러 클래스) ... 112
        Tag Library Descriptor File(태그 라이브러리 설명 파일) ... 113
        taglib 지시자의 사용 ... 115
        2] 커스텀 태그에 속성을 추가해보자 ... 116
        3] 몸체(Body) 태그의 작성 ... 118
      03. 데이터베이스와 연결해보자 ... 121
        1] JDBC의 이용 ... 121
        JDBC의 4가지 형태 ... 122
        JDBC를 이용한 데이터베이스 프로그램의 구조 ... 123
        2] JSP와의 연동 ... 126
        스크립틀릿을 이용하는 방법 ... 126
        자바빈즈를 이용하는 방법 ... 129
        커스텀 태그를 이용하는 방법 ... 132
        3] 커넥션 풀(Connection Pool) 사용 ... 136
        커넥션 풀 ... 136
        JDBC2.0을 이용한 커넥션 풀의 이용 ... 138
      04. 서블릿(Servlet)과 연동해보자 ... 140
        1] 서블릿의 기초 ... 140
        서블릿의 생명주기 ... 140
        HttpServlet 클래스의 이용 ... 144
        2] 서블릿에서 JSP 문서의 호출 ... 147
        3] JSP 문서에서 서블릿 클래스의 호출 ... 150
Part 1. 나도 만들어볼까! JSP로 쇼핑몰 구축하기(실전 활용편 1) ... 154
   Lesson 1. 쇼핑몰 설계를 위한 전초전! ... 156
      01. 쇼핑몰을 설계해보자 ... 157
        1] 설계 시 필요한 기능 ... 157
        사용자 관련 기능 ... 157
        관리자 관련 기능 ... 159
        2] 쇼핑몰 구성도 살펴보기 ... 160
        회원 가입 구상하기 ... 160
        로그인 및 로그아웃 구상하기 ... 161
        상품 전시 구상하기 ... 161
        상품 검색(finder, search) 구성하기 ... 162
        상품 구매 구성하기 ... 163
        회원 관리 구성하기 ... 164
        상품 관리 구성하기 ... 164
      02. 데이터베이스 스키마(Database Schema)를 작성해보자 ... 165
        1] 필요한 데이터베이스 테이블 및 컬럼 살펴보기 ... 165
        회원 테이블 구상하기 ... 165
        카테고리 레벨1(Category Level 1) 구상하기 ... 166
        카테고리 레벨2(Category Level 2) 구상하기 ... 166
        카테고리 레벨3(Category Level 3) 구상하기 ... 167
        카테고리 레벨4(Category Level 4) 구상하기 ... 167
        상품 구상하기 ... 167
        회원 주문 구상하기 ... 168
        2] 데이터베이스 테이블 작성하기 ... 168
        회원 테이블 작성하기 ... 168
        카테고리 레벨1(Category Level 1) 작성하기 ... 169
        카테고리 레벨2(Category Level 2) 작성하기 ... 170
        카테고리 레벨3(Category Level 3) 작성하기 ... 170
        카테고리 레벨4(Category Level 4) 작성하기 ... 170
        상품을 나타내는 테이블 작성하기 ... 171
        회원 주문을 나타내는 테이블 작성하기 ... 171
   Lesson 2. 효율적인 데이터베이스의 구축 ... 174
      01. 객체 풀링(Pooling) 기법을 알아보자 ... 174
        1] 객체 풀링(Pooling) 기법 이해하기 ... 175
        객체 풀링이란? ... 175
        2] 객체 풀링(Pooling) 구현하기 ... 176
        Pool.java | 객체 Pooling을 구현한 파일 ... 176
      02. 데이터베이스 커넥션 풀링(DBConnection Pooling) 기법을 알아보자 ... 190
        1] 데이터베이스 커넥션 풀링(Connection Pool) 클래스 설치하기 ... 190
        ServerProperty 클래스 ... 190
        커넥션 풀링 설계 ... 190
        ConnectionPool 객체가 해야 할 기능 ... 191
        2] ServerProperty 클래스 구현하기 ... 191
        3] ConnectionPool 클래스 구현하기 ... 192
        ConnectionPool.java | DBConnetion을 구현한 파일 ... 192
        4] ConnectionPool 사용하기 ... 197
   Lesson 3. 홈페이지의 얼굴! 메인 페이지의 작성 ... 200
      01. 메인 페이지를 구성해보자 ... 201
        1] 메인 페이지 구성도 살펴보기 ... 201
        mallfont_sism.jsp ... 202
basetop.jsp ... 202
search.jsp ... 202
        mallfront_sism_bottom.jsp ... 202
        2] 사용할 빈즈 파일 구상하기 ... 203
        3] 소스 코드 살펴보기 ... 203
        빈즈 파일 구성하기 ... 203
        사용된 JSP 파일 살펴보기 ... 205
      02. 사용된 객체와 메소드를 정리해보자 ... 208
        1] 메소드 살펴보기 ... 208
      03. 디자인 분석 : 쇼핑몰 메인 페이지의 웹 디자인을 분석해보자 ... 210
        1] 삼성몰 메인 페이지의 디자인 분석 ... 210
        레이아웃 ... 211
        배색 ... 213
        타이포그라피 ... 215
        2] 베스트 메인 화면, MACYS.com 쇼핑몰의 디자인 비교 분석 ... 216
        레이아웃 ... 216
        배색 ... 218
        타이포그라피 ... 220
   Lesson 4. 쇼핑의 시작! 회원 가입 기능 작성하기 ... 222
      01. 회원 가입 기능의 고려할 점을 알아보자 ... 223
      02. 회원 가입 기능을 구성해보자 ... 223
        1] 회원 가입 구성도 살펴보기 ... 223
        2] 사용된 파일의 흐름 및 역할 살펴보기 ... 225
        registration_001_add.jsp ... 225
        registration_002_add.jsp ... 225
        registration_003_add.jsp ... 226
        3] 소스 코드 살펴보기 ... 226
        registration_001_add.jsp | 이용 약관에 동의를 구하는 파일 ... 226
        registration_002_add.jsp| 가입자의 정보를 입력받는 파일 ... 227
        idcheck.jsp | 아이디의 사용 가능 여부를 판별하는 파일 ... 234
        registration_003_add.jsp | 회원 가입 성공을 알리는 파일 ... 236
        register_member.jsp | 가입자로부터 입력받은 내용을 저장하는 파일 ... 236
      03. 사용된 객체와 메소드를 정리해보자 ... 241
        1] 사용된 객체 살펴보기 ... 241
        2] 사용된 메소드 살펴보기 ... 242
        getParameter(java.lang.String name) ... 242
setContentType(java.lang.String type) ... 242
      04. 디자인 분석 : 쇼핑몰 회원 가입 페이지의 웹 디자인을 분석해보자 ... 244
        1] 삼성몰 회원 가입 페이지의 디자인 분석 ... 244
        레이아웃 ... 245
        배색 ... 246
        2] 베스트 회원 가입 화면, AVON.com 쇼핑몰의 디자인 비교 분석 ... 247
        레이아웃 ... 247
        배색 ... 248
        타이포그라피 ... 249
   Lesson 5. 쇼핑몰의 핵심! 로그인 및 로그아웃 기능 작성하기 ... 250
      01. 로그인 기능을 만들어보자 ... 251
        1] 로그인 기능이란? ... 251
        2] 로그인 기능 구성하기 ... 251
        구성도 살펴보기 ... 251
        소스의 구성 및 역할 살펴보기 ... 252
        사용할 빈즈 파일 만들기 ... 253
        3] 소스 코드 살펴보기 ... 253
        빈즈 소스 파일 살펴보기 ... 254
        JSP 소스 코드 살펴보기 ... 260
        4] 사용된 객체와 메소드를 정리해보자 ... 265
        객체 살펴보기 ... 265
        메소드 살펴보기 ... 266
        HashTable 관련 메소드 살펴보기 ... 267
        Statement 관련 메소드 살펴보기 ... 268
        ResultSet 관련 메소드 살펴보기 ... 268
      02. 로그아웃 기능을 만들어보자 ... 270
        1] 로그아웃 기능이란? ... 270
        2] 로그아웃 기능 구성하기 ... 270
        3] 소스 코드 살펴보기 ... 271
      03. 디자인 분석 : 쇼핑몰 로그인 화면 페이지의 웹 디자인을 분석해보자 ... 273
        1] 삼성몰 로그인 화면의 디자인 분석 ... 273
        레이아웃 ... 274
        배색 ... 274
        2] 베스트 로그인 화면, GirlShop.com 쇼핑몰의 디자인 비교 분석 ... 275
        레이아웃 ... 275
        배색 ... 276
        타이포그라피 ... 277
   Lesson 6. 쇼핑의 유혹! 상품 전시 기능 작성하기 ... 278
      01. '상품 목록 보기' 기능을 만들어보자 ... 279
        1] '상품 목록 보기' 역할 알아보기 ... 279
        2] '상품 목록 보기' 기능 구성하기 ... 279
        3] 소스 코드 살펴보기 ... 283
      02. '상품 상세 정보 보기' 기능을 만들어보자 ... 314
        1] '상품 상세 정보 보기' 기능 알아보기 ... 314
        2] '상품 상세 정보 보기' 구성하기 ... 314
        3] 소스 코드 살펴보기 ... 317
      03. 디자인 분석 : 쇼핑몰 '상품 목록 보기' 페이지의 웹 디자인을 분석해보자 ... 330
        1] 삼성몰 '상품 목록 보기' 화면의 디자인 분석 ... 330
        레이아웃 ... 330
        배색 ... 331
        2] 베스트 '상품 목록 보기' 화면, TARGET 쇼핑몰의 디자인 비교 분석 ... 332
        레이아웃 ... 332
        배색 ... 333
   Lesson 7. 쇼핑몰에 탐색기를 달자! 상품 검색 기능 작성하기 ... 334
      01. Finder 기능을 만들어보자 ... 335
        1] Finder 기능 알아보기 ... 335
        2] Finder 구성하기 ... 335
        3] 소스 코드 살펴보기 ... 338
        4] 사용된 객체와 메소드를 정리해보자 ... 352
        객체 살펴보기 ... 352
        메소드 살펴보기 ... 353
      02. Search 기능을 만들어보자 ... 356
        1] Search 기능 알아보기 ... 356
        2] Search 기능 구성하기 ... 356
        3] 소스 코드 살펴보기 ... 358
        4] 사용된 객체와 메소드를 정리해보자 ... 373
   Lesson 8. 쇼핑을 위한 장바구니! 상품 구매 기능 작성하기 ... 378
      01. 장바구니 기능을 알아보자 ... 379
      02. 장바구니 기능을 구성해보자 ... 379
      03. 소스 코드을 살펴보자 ... 381
      04. 사용된 객체와 메소드를 정리해보자 ... 394
   Lesson 9. 나, 쇼핑몰 총 책임자! 관리자 모드 작성하기 ... 396
      01. 메인 페이지를 만들어보자 ... 397
        1] 메인 페이지 기능 알아보기 ... 397
        2] 메인 페이지 구성하기 ... 397
        3] 소스 코드 살펴보기 ... 399
      02. 회원 관리 기능을 만들어보자 ... 402
        1] 회원 관리 기능 알아보기 ... 402
        2] 회원 관리 구성하기 ... 402
        3] 소스 코드 살펴보기 ... 404
      03. 상품 관리 기능을 만들어보자 ... 412
        1] 상품 관리 기능 알아보기 ... 412
        2] 상품 관리 구성하기 ... 413
        3] 소스 코드 살펴보기 ... 415
        4] 사용된 객체와 메소드 정리하기 ... 438
Part 2. 커뮤니티 사이트 구축을 통한, 나만의 JSP 세상 나들이!(실전 활용편 2) ... 442
   Lesson 1. 커뮤니티 설계를 위한 전략과 계획! ... 444
      01. 커뮤니티를 설계하자 ... 445
        1] 필요한 기능 알아보기 ... 445
      02. 데이터베이스 스키마를 작성해보자 ... 449
        1] 필요한 데이터베이스 테이블과 컬럼 알아보기 ... 449
        2] 데이터베이스 테이블 작성하기 ... 451
   Lesson 2. 실전 돌입! 메인 페이지와 나의 커뮤니티 보기 구축 ... 454
      01. 메인 페이지를 만들어보자 ... 455
        1] 메인 페이지 기능 이해하기 ... 455
        2] 메인 페이지 구성하기 ... 455
        3] 소스 코드 살펴보기 ... 455
      02. 나의 커뮤니티 보기를 만들어보자 ... 459
        1] 나의 커뮤니티 보기 기능 살펴보기 ... 459
        2] 나의 커뮤니티 보기 기능 구성하기 ... 459
        3] 소스 코드 살펴보기 ... 460
        4] 사용된 객체와 메소드 정리하기 ... 466
      03. 디자인 분석 : 커뮤니티 메인 페이지의 웹 디자인을 분석해보자 ... 470
        1] 프리챌 메인 페이지 화면의 디자인 분석 ... 470
        레이아웃 ... 470
        배색 ... 472
        2] 다음 메인 페이지 화면의 디자인 비교 분석 ... 473
        레이아웃 ... 473
        배색 ... 476
   Lesson 3. 커뮤니티 구현의 핵심! 커뮤니티 생성 및 대문 작성하기 ... 478
      01. 커뮤니티를 생성해보자 ... 479
        1] 커뮤니티 생성하기 기능 이해하기 ... 479
        2] 커뮤니티 생성하기 기능 구성하기 ... 479
        3] 소스 코드 살펴보기 ... 481
        4] 사용된 객체와 메소드 정리하기 ... 497
      02. 커뮤니티 대문을 만들어보자 ... 499
        1] 커뮤니티 대문 만들기 기능 이해하기 ... 499
        2] 커뮤니티 대문 만들기 기능 구성하기 ... 499
        3] 소스 코드 살펴보기 ... 500
        4] 사용된 객체와 메소드 정리하기 ... 506
      03. 디자인 분석 : '커뮤니티 만들기'의 웹 디자인을 분석해보자 ... 508
        1] 프리챌 커뮤니티 만들기 디자인 분석Ⅰ ... 508
        레이아웃 ... 508
        배색 ... 510
        2] 프리챌 커뮤니티 만들기 디자인 분석Ⅱ ... 511
        레이아웃 ... 512
        배색 ... 513
        3] 프리챌 커뮤니티 만들기 디자인 분석Ⅲ ... 514
        레이아웃 ... 514
        배색 ... 514
        4] 프리챌 커뮤니티 만들기 디자인 분석Ⅳ ... 515
        레이아웃 ... 515
        배색 ... 516
        5] 아이러브스쿨 커뮤니티 만들기 디자인 분석Ⅰ ... 517
        레이아웃 ... 517
        배색 ... 519
        6] 아이러브스쿨 커뮤니티 만들기 디자인 분석Ⅱ ... 520
        레이아웃 ... 520
        배색 ... 521
   Lesson 4. 자유로운 만남! 커뮤니티 가입 및 탈퇴 기능 작성하기 ... 524
      01. 커뮤니티 가입 및 탈퇴 기능을 이해하자 ... 525
      02. 커뮤니티 가입 및 탈퇴 기능을 구성해보자 ... 525
        1] 구성도 살펴보기 ... 525
        2] 사용할 빈즈 파일 알아보기 ... 526
      03. 소스 코드를 살펴보자 ... 526
        1] JSP 소스 파일 살펴보기 ... 526
        joinOx.jsp│커뮤니티 가입과 탈퇴 메시지 보여줌 ... 526
        join.jsp│가입과 탈퇴 처리 ... 529
        cancel.jsp│'탈퇴가 성공적으로 이루어졌습니다'라는 메시지를 보여주는 파일 ... 531
        welcome.jsp│'가입이 정상적으로 이루어졌습니다'라는 메시지를 보여주는 파일 ... 532
        2] 빈즈 소스 파일 살펴보기 ... 533
      04. 사용된 객체와 메소드를 정리해보자 ... 538
        1] 사용된 객체 살펴보기 ... 538
        2] 사용된 메소드 살펴보기 ... 538
   Lesson 5. 회원 정보의 파악! 커뮤니티 회원 목록 및 개인 정보 보기 기능 작성하기 ... 540
      01. 커뮤니티 회원 목록 보기 기능을 구현해보자 ... 541
        1] 커뮤니티 회원 목록 보기 기능 알아보기 ... 541
        2] 커뮤니티 회원 목록 보기 기능 구성하기 ... 541
        3] 소스 코드 살펴보기 ... 542
        4] 사용된 객체와 메소드 정리하기 ... 547
      02. 개인 정보 보기 기능을 구현해보자 ... 549
        1] 개인 정보 보기 기능 이해하기 ... 549
        2] 개인 정보 보기 기능 구성하기 ... 549
        3] 소스 코드 살펴보기 ... 550
        4] 사용된 객체와 메소드 정리하기 ... 554
   Lesson 6. 업로드 & 다운로드의 구현! 자료실 작성하기 ... 556
      01. 업로드를 구현해보자 ... 557
        1] 업로드 기능 구성하기 ... 558
        2] 소스 코드 살펴보기 ... 559
        3] 사용된 객체와 메소드 정리하기 ... 571
      02. 다운로드를 구현해보자 ... 573
        1] 다운로드 기능 구성하기 ... 573
        2] 소스 코드 살펴보기 ... 574
        3] 사용된 객체와 메소드 정리하기 ... 577
   Lesson 7. 내게 맞는 커뮤니티 찾아가기! 커뮤니티 분류 및 바로 가기 기능의 제작 ... 580
      01. 커뮤니티 분류 기능을 구현해보자 ... 581
        1] 커뮤니티 분류 기능 구성하기 ... 581
        2] 소스 코드 살펴보기 ... 582
        3] 사용된 객체와 메소드 정리하기 ... 592
      02. 바로 가기 기능을 구현해보자 ... 593
        1] 바로 가기 기능 구성하기 ... 593
        2] 소스 코드 살펴보기 ... 594
        3] 사용된 객체와 메소드 정리하기 ... 597
   Lesson 8. 커뮤니티는 내가 접수한다∼관리자 모드 작성하기 ... 600
      01. 회원 등급 조절 기능을 구현해보자 ... 601
        1] 회원 등급 조절 기능 이해하기 ... 601
        2] 회원 등급 조절 기능 구성하기 ... 601
        3] 소스 코드 살펴보기 ... 602
        4] 사용된 객체와 메소드 정리하기 ... 612
      02. 전체 메일 보내기 기능을 구현해보자 ... 613
        1] JAF와 JavaMail 설치하기 ... 613
        2] 전체 메일 보내기 기능 구성하기 ... 615
        3] 소스 코드 살펴보기 ... 616
        4] 사용된 객체와 메소드 정리하기 ... 622
닫기