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) [jsp:useBean/] 태그 174
2) [jsp:setProperty/] 태그 174
3) [jsp:getProperty/] 태그 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
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) [jsp:useBean/] 태그 174
2) [jsp:setProperty/] 태그 174
3) [jsp:getProperty/] 태그 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