목차
Chapter 1 JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개
1.1 웹 작동방식 = 2
1.2 웹 프로그래밍과 동적 웹 페이지 = 9
1.2.1 정적 웹 페이지의 한계 = 9
1.2.2 동적 웹 페이지 = 10
1.2.3 전통적인 CGI 방식의 동적 웹 페이지 작성 기술 = 12
1.2.4 애플리케이션 서버 방식의 동적 웹 페이지 작성 기술 = 14
1.3 스크립팅(Scripting) 기술 = 15
1.3.1 컴파일 코드 방식 vs. 스크립팅 코드 방식 = 15
1.3.2 서버 측 스크립팅 기술 = 16
1.3.3 클라이언트 측 스크립팅 기술 = 18
1.4 왜 JSP 인가? = 19
1.4.1 Java의 강력한 컴퓨팅 플랫폼 기술 활용 = 19
1.4.2 프레젠테이션 로직과 비즈니스 로직의 분리 = 20
1.4.3 컴포넌트의 재사용 = 21
1.4.4 서버 자원의 효율적 관리 = 21
학습정리 = 23
연습문제 = 25
Chapter 2 JSP 프로그래밍을 위한 환경구성
2.1 Java SE 설치 및 구성 = 28
2.1.1 Java SE 1.6 버전 설치 = 28
2.1.2 Java 환경 구성 = 31
2.2 Tomcat 설치 및 구성 = 34
2.2.1 Tomcat 6.0 설치 = 34
2.2.2 Tomcat 6.0 환경 설정 = 35
2.2.3 Tomcat 6.0 구동 = 36
2.3 프로그램 작성 에디터 설치 및 구성 = 40
2.3.1 AcroEdit 0.9 설치하기 = 40
2.3.2 JSP 문법 강조 파일 설정 = 43
2.4 첫 번째 JSP 페이지: helloworld.jsp = 45
학습정리 = 48
연습문제 = 49
Chapter 3 웹 애플리케이션과 JSP 및 Servlet의 이해
3.1 웹 애플리케이션(Web Application) 개념 및 폴더 구조 = 52
3.1.1 웹 애플리케이션의 개념 = 52
3.1.2 웹 애플리케이션 폴더와 URL 간의 매핑 = 54
3.1.3 웹 애플리케이션의 폴더 구조 = 57
3.2 JSP의 처리 과정 및 Servlet과의 관계 = 59
3.2.1 JSP 파일의 Servlet 파일로의 자동 변환 = 59
3.2.2 JSP 파일 재요청 시의 작동 과정 = 62
3.2.3 JSP 파일 수정 후 같은 JSP 재요청 시의 작동 과정 = 63
3.2.4 종합적인 JSP 파일 처리 과정 = 64
3.3 Servlet의 이해 = 66
3.3.1 Servlet의 생성 배경 및 장점 = 66
3.3.2 Servlet 작동 과정과 생명주기 = 68
3.4 첫 번째 Servlet 프로그램 - helloworldservlet = 71
3.4.1 Servlet 등록 및 URL 매핑 = 75
학습정리 = 84
연습문제 = 86
Chapter 4 JSP의 구성 요소와 스크립팅 요소
4.1 JSP 구성 요소 소개 = 92
4.1.1 스크립팅 요소(Scripting Element) = 92
4.1.2 XML 태그 = 93
4.2 스크립팅 요소(Scripting Element) = 94
4.2.1 스크립트릿(Scriptlet) = 94
4.2.2 표현식(Expression) = 98
4.2.3 선언(Declaration) = 100
4.3 주석(Comments) = 104
4.3.1 JSP 주석 = 104
4.3.2 Java 주석 = 105
4.3.3 HTML 주석 = 105
학습정리 = 108
연습문제 = 109
Chapter 5 JSP와 Servlet 프로그래밍을 위한 기본 문법
5.1 리터럴(Literals)과 기본 데이터 타입 = 114
5.1.1 리터럴(Literals) = 114
5.1.2 예약어(Reserved Words) = 114
5.1.3 기본 데이터 타입(Primitive Data Type) = 115
5.1.4 타입 변환(Type Casting) = 122
5.2 클래스와 객체 = 124
5.2.1 객체 지향 프로그래밍 = 124
5.2.2 클래스의 정의 = 130
5.3 레퍼런스 데이터 타입과 배열 = 142
5.3.1 레퍼런스 데이터 타입(Reference Data Type) = 142
5.3.2 배열(Array) = 144
5.4 연산자 = 146
5.4.1 수치 연산자 = 146
5.4.2 증가/감소 연산자 = 147
5.4.3 비교 연산자 = 149
5.4.4 논리 연산자 = 149
5.4.5 할당 연산자 = 151
5.4.6 연산자의 우선순위 = 152
5.5 조건문과 반복문 = 153
5.5.1 조건문 = 153
5.5.2 반복문 = 158
5.6 문자열 = 165
5.6.1 문자열 리터럴과 문자열 객체 = 165
5.6.2 여러 메소드를 통하여 문자열 다루기 = 167
5.6.3 StringTokenizer 클래스와 문자열 = 170
학습정리 = 173
연습문제 = 175
Chapter 6 JSP 지시문(Directive)
6.1 page 지시문 = 182
6.1.1 contentType 속성 = 183
6.1.2 pageEncoding 속성 = 186
6.1.3 import 속성 = 187
6.1.4 errorPage와 isErrorPage 속성 = 190
6.1.5 info 속성 = 190
6.1.6 buffer와 autoflush 속성 = 190
6.1.7 session 속성 = 194
6.1.8 language 속성 = 194
6.1.9 isThreadSafe 속성 = 195
6.1.10 extends 속성 = 195
6.2 include 지시문 = 196
6.2.1 include 지시문의 사용법 = 196
6.2.2 포함되는 파일의 변경과 적용 = 200
6.2.3 include 지시문의 적당한 활용 예 = 201
학습정리 = 204
연습문제 = 206
Chapter 7 Form 처리와 파일 업로드
7.1 폼(Form) 태그 소개 = 210
7.1.1 get 전달 방식 = 211
7.1.2 post 전달 방식 = 213
7.1.3〈input〉,〈select〉,〈textarea〉태그 = 215
7.2 폼(Form)을 사용한 사용자 정보 처리 = 217
7.2.1〈input〉의 text와 password 및〈textarea〉로부터 정보 가져오기 = 217
7.2.2〈input〉의 checkbox 및 radio 로부터 정보 가져오기 = 221
7.2.3〈select〉로부터 정보 가져오기 = 229
7.3 파일 업로드와 MultipartRequest = 232
7.3.1 post 방식의 multipart/form-data 인코딩 = 232
7.3.2 파일 업로드 구현 = 237
학습정리 = 242
연습문제 = 244
Chapter 8 기본 객체와 영역
8.1 JSP 기본 객체 소개 = 250
8.2 request 기본 객체 = 252
8.3 response 기본 객체 = 258
8.3.1 이미지 출력과 setContentType() 메소드 = 259
8.3.2 페이지 재요청과 sendRedirect() 메소드 = 262
8.3.3 응답 헤더 설정 = 263
8.4 out 기본 객체 = 264
8.5 session 기본 객체 = 266
8.6 config 기본 객체 = 271
8.7 application 기본 객체 = 276
8.7.1 일반적인 서버 정보 얻기와 로그 기록 남기기 = 276
8.7.2 서버 자원 정보 활용하기 = 279
8.7.3 Context 초기 파라미터 값 활용하기 = 283
8.8 page 기본 객체 = 286
8.9 pageContext 기본 객체 = 286
8.10 exception 기본 객체 = 287
8.11 JSP 기본 객체와 활성범위(Scope) = 288
8.12 활성범위와 연관된 기본 객체의 속성(Attribute) 활용 = 290
학습정리 = 301
연습문제 = 303
Chapter 9 요청 흐름 제어와 모듈화
9.1〈jsp:forward〉액션 태그를 이용한 흐름 제어 = 310
9.1.1〈jsp:forward〉액션 태그 사용법 = 311
9.1.2〈jsp:forward〉액션 태그와 출력 버퍼와의 관계 = 315
9.1.3〈jsp:forward〉액션 태그의 활용법 = 317
9.2 이동할 페이지로의 정보 전달 = 322
9.2.1〈jsp:forward〉액션 태그를 활용한 request 파라미터 전달 = 322
9.2.2 request 기본 객체가 지닌 속성을 활용한 정보 전달 = 324
9.3 response 기본 객체를 이용한 흐름 제어 = 326
9.4 자바스크립트를 이용한 흐름 제어 = 329
9.5〈jsp:include〉액션 태그를 이용한 JSP 페이지 모듈화 = 330
9.5.1〈jsp:include〉액션 태그 사용법 = 331
9.5.2〈jsp:include〉액션 태그를 이용한 페이지 모듈화 = 333
9.5.3〈jsp:include〉액션 태그와 템플릿 = 341
9.6 포함할 페이지로의 정보 전달 = 345
9.6.1〈jsp:include〉액션 태그를 활용한 request 파라미터 전달 = 345
9.6.2 request 기본 객체의 속성을 활용한 정보 전달 = 347
9.7 JSP에서 요청 흐름과 모듈화의 비교 정리 = 348
9.7.1 forward 첫 번째 방법:〈jsp:forward〉액션 태그 = 349
9.7.2 forward 두 번째 방법: reponse.sendRedirect 메소드 = 350
9.7.3 include 첫 번째 방법:〈jsp:include〉액션 태그 = 351
9.7.4 include 두 번째 방법: include 지시문 = 352
학습정리 = 353
연습문제 = 355
Chapter 10 에러 처리
10.1 page 지시문을 활용한 에러 처리 = 360
10.1.1 errorPage와 isErrorPage 속성 = 360
10.1.2 exception 기본 객체 사용하기 = 366
10.2 HTTP 에러 코드별 에러 페이지 지정하기 = 370
10.3 Java 고유의 예외 종류별 에러 페이지 지정하기 = 376
10.4 에러 페이지 지정의 일반적인 방법 = 378
학습정리 = 380
연습문제 = 381
Chapter 11 세션과 쿠키
11.1 세션의 활용 = 384
11.1.1 세션의 원리 = 384
11.1.2 세션의 속성 사용 = 385
11.1.3 세션의 타임아웃 = 386
11.2 세션을 활용한 로그인 처리 구현 = 389
11.2.1 로그인 처리 = 391
11.2.2 로그인 지속 여부 판단 = 394
11.2.3 로그아웃 처리 = 395
11.3 쿠키의 활용 = 396
11.3.1 쿠키의 원리 = 396
11.3.2 쿠키의 구성 = 398
11.3.3 쿠키의 생성 및 활용 = 399
11.4 쿠키를 활용한 ID 기억하기 구현 = 408
학습정리 = 414
연습문제 = 416
Chapter 12 JSP에서 자바빈 활용
12.1 자바빈(JavaBean) = 422
12.1.1 자바빈 규약 = 423
12.1.2 자바빈 코딩 방법 = 424
12.2 자바빈의 활용 = 427
12.2.1 자바빈 생성하기 = 427
12.2.2 자바빈 생성 및 사용을 위한 액션 태그 = 429
12.2.3 자바빈 프로퍼티 접근을 위한 액션 태그 = 435
12.3 객체 직렬화와 자바빈 저장 = 442
12.3.1 회원 가입과 회원 정보 저장 기능 구현 = 446
12.3.2 로그인 기능 구현 = 449
학습정리 = 453
연습문제 = 454
Chapter 13 데이터베이스와 JSP
13.1 MySQL 설치 및 구성 = 458
13.1.1 MySQL 설치 = 458
13.1.2 MySQL GUI Tools 설치 = 465
13.2 JNDI를 활용한 DB 커넥션 풀(Connection Pool) 설정 = 466
13.2.1 JDBC의 정의 및 필요성 = 466
13.2.2 MySQL JDBC의 설치 및 설정 = 467
13.2.3 커넥션 풀(Connection Pool) 관련 설정 = 470
13.2.4 설정 내용을 포함한 server.xml, context.xml, web.xml 예제 = 471
13.2.5 JSP에서 MySQL 접속 테스트하기 = 474
13.3 데이터베이스와 SQL = 477
13.3.1 데이터베이스란? = 477
13.3.2 RDBMS에서 사용되는 주요 용어 = 478
13.3.3 SQL 소개 및 문법 = 479
13.4 JSP 및 Servlet에서 SQL 처리 프로그래밍 = 484
13.4.1 Connection 객체 얻어오기 = 484
13.4.2 Statement 객체 생성 및 SQL 질의 수행 = 485
13.4.3 ResultSet에서의 데이터 추출 = 486
13.4.4 ResultSet 객체 및 Statement 객체 닫기 = 488
13.4.5 ResultSet 메타데이터 활용하기 = 491
13.4.6 PreparedStatement 활용하기 = 497
학습정리 = 500
연습문제 = 502
Chapter 14 이미지 처리 및 웹 애플리케이션의 배포
14.1 Thumbnail 이미지 만들기 = 508
14.2 동적 이미지 출력 = 516
14.2.1 단순 동적 이미지 생성하기 = 516
14.2.2 이미지 합성하기 = 519
14.3 그래프 생성 및 출력하기 = 521
14.3.1 JFreeChart 다운로드 및 설치 = 522
14.3.2 간단한 파이(Pie) 차트 만들기 = 524
14.4 컨테이너와 웹 애플리케이션 배포(Deploy) = 529
14.4.1 war 파일 = 531
14.4.2 war 파일의 배포 = 533
14.5 배포 서술자인 web.xml의 자세한 설명 = 536
14.5.1 web.xml의 태그 설명 = 537
14.5.2 Servlet을 강제로 초기화하기 = 543
14.5.3 server.xml과 웹 애플리케이션 폴더 설정 = 544
학습정리 = 546
연습문제 = 548