목차
머리말 ... 4
부록 CD 활용하기 ... 6
이 책의 특징 ... 8
이 책의 구성 ... 9
JSP 학습 효과를 2백로 ... 10
Part 1. 기본편
   Chapter 1. JSP 소개 ... 28
      1. 인터넷 기초 지식 ... 28
      2. 스크립트 언어(Script Language) ... 29
        1. HTML ... 29
        2. 스크립트 언어 ... 29
        3. 인터프리트 방식 ... 29
        4. 클라이언트측 스크립트 언어 ... 30
      3. 서버측 스크립트 언어 ... 30
        1. CGI(Common Gateway Interface) ... 30
        2. ASP(Active Server Page) ... 31
        3. PHP(PHP : Hypertext Preprocessor) ... 31
      4. 자바 서블릿(Java Servlet) ... 31
        1. 서블릿의 특징 ... 31
        2. 서블릿의 단점 ... 32
      5. JSP(Java Server Pages) ... 32
        1. JSP의 특징 ... 33
   Chapter 2. JSP 환경 구축 ... 36
      1. JSP 엔진 ... 36
      2. 윈도우 98에서의 아파치/톰켓 설치 ... 37
        1. JDK 1.3 다운받아 설치하기 ... 37
        2. 아파치 다운받아 설치하기 ... 42
        3. 톰켓 다운받아 설치하기 ... 49
        4. 아파치와 톰켓 연동하기 ... 54
   Chapter 3. JSP 원리 분석 ... 58
      1. JSP의 간단한 예제 ... 58
        1. 디렉토리 구조 ... 59
        2. JSP 파일로 웹 페이지 작성하기 ... 60
        3. JSP 파일 실행하기 ... 62
      2. JSP 파일의 태그 ... 64
        1. JSP 태그 ... 64
        2. 가상 디렉토리 ... 64
        3. JSP 파일을 특정 가상 디렉토리에 저장하기 ... 65
      3. JSP 동작 원리 ... 67
        1. JSP 파일의 동작 과정 ... 67
        2. 서버측 스크립트로서의 JSP ... 69
      4. JSP 엔진 ... 69
        1. JSP 파일이 서블릿 파일로 변환 ... 70
        2. JSP 파일이 서블릿 파일로 변경되는 과정 확인 ... 71
        3. 서블릿 파일의 저장 장소 ... 72
        4. 서블릿 파일의 관찰 ... 74
   Chapter 4. JSP 기본 태그 ... 78
      1. 태그의 기본 구조 ... 78
      2. JSP 태그의 종류 ... 79
      3. 지시부(Directive) ... 81
        1. page 지시부 ... 81
        2. include 지시부 ... 88
        3. taglib 지시부 ... 90
   Chapter 5. 스크립트 모듈 ... 92
      1. 스크립트(Script) ... 92
      2. 선언부(Declaration) ... 93
        1. 변수의 선언 ... 93
        2. 메소드의 선언 ... 94
      3. 표현식(Expression) ... 97
        1. 변수의 값을 출력 ... 97
        2. Date 클래스를 사용한 현재 날짜와 시간 출력 ... 99
        3. 선언부에 선언된 메소드의 결과 값을 출력 ... 102
      4. 스크립트릿(Scriptlet) ... 104
      5. 주석문(Comments) ... 106
        1. HTML 주석문 ... 107
        2. JSP 주석문 ... 107
        3. 스크립트릿의 주석문 ... 110
   Chapter 6. 내장 객체 ... 114
      1. 내장 객체 ... 114
        1. 스코프(Scope) ... 114
        2. 내장 객체 ... 115
      2. request/response 객체 ... 116
      3. Form 양식 ... 116
        1. FORM 태그 ... 117
        2. 텍스트 박스 ... 117
        3. 전송(submit) 버튼과 취소(reset) 버튼 ... 118
        4. 폼 처리에 대한 개념 이해 ... 119
        5. POST 방식과 GET 방식의 차이 ... 123
        6. 한글 문제 ... 127
      4. 입출력을 담당하는 객체 ... 132
        1. HTTP 프로토콜 ... 132
        2. request 객체 ... 133
        3. response 객체 ... 134
        4. out 객체 ... 135
        5. response와 out 객체를 사용한 프로그램 ... 136
   Chapter 7. JSP 액션 태그 ... 142
      1. JSP 액션 태그의 개념 ... 142
      2. 자바빈즈의 의미와 역할 ... 143
      3. 자바빈즈 만들기 ... 144
        1. 클래스 선언 ... 144
        2. 간단한 자바빈즈 선언 ... 146
        3. 패키지 ... 148
      4. 자바빈즈 관련 액션 태그 ... 153
      5. 〈jsp:useBean〉태그 ... 154
        1. 〈jsp:useBean〉의 속성 ... 155
        2. 〈jsp:useBean〉태그 사용 예제 ... 156
      6. 〈jsp:setProperty〉태그 ... 158
        1. jsp:setProperty의 속성 ... 159
        2. 〈jsp:setProperty〉태그 사용 예제 ... 159
        3. HTML과 JSP, 자바빈즈의 관계 ... 165
      7. 〈jsp:getProperty〉 태그 ... 166
      8. 〈jsp:include〉 태그 ... 167
      9. 〈jsp:forward〉 태그 ... 170
      10. 〈jsp:param〉 태그 ... 172
   Chapter 8. 쿠키 ... 176
      1. 상태 유지를 위한 쿠키 ... 176
      2. 쿠키(Cookie) ... 177
        1. 쿠키의 속성 ... 178
        2. JSP, Servlet API 찾기 ... 179
        3. 쿠키 관련 메소드 ... 180
      3. JSP에서의 쿠키 사용법 ... 181
        1. 새로운 쿠키 설정하기 ... 182
        2. 쿠키에 저장된 정보를 서버로 읽어오기 ... 185
      4. 마지막 방문일 표시하기 ... 188
   Chapter 9. 세션 ... 194
      1. 상태 유지를 위한 세션 관리(트레킹) ... 194
      2. 상태 유지를 위한 session 객체 ... 195
        1. JSP, Servlet API에서 Session 찾기 ... 196
        2. session 객체가 제공하는 메소드 ... 197
      3. JSP에서의 세션 사용법 ... 198
        1. 세션이란? ... 198
        2. 세션의 생명 주기 ... 198
        3. Session에 값 저장하기 ... 200
        4. primitive형을 객체화하기 ... 201
        5. Session에 저장된 값 얻어오기 ... 202
        6. 객체를 primitive형화하기 ... 204
        7. Enumeration 인터페이스 ... 206
        8. 세션 정보 얻어오기 ... 211
        9. 세션 값 삭제하기 ... 213
        10. 세션을 완전히 삭제하기 ... 216
      4. Session 관련 예제 프로그래밍 ... 219
        1. 쿠키를 사용하는 방법 ... 219
        2. URL rewriting 방법 ... 223
      5. Session 관련 응용 프로그래밍 ... 225
        1. 로그인 검증 ... 227
        2. 로그인 검증 업그레이드하기 ... 236
   Chapter 10. 예외처리 ... 248
      1. 에러와 예외 ... 248
        1. 에러의 종류 ... 249
      2. 컴파일 시점에서의 에러 ... 250
      3. 예외 처리 ... 253
        1. 실행 시점의 에러 ... 253
      4. 에러 페이지 이용하는 방법 ... 256
      5. exception 내장 객체 ... 260
      6. try{} catch{} 구문 ... 265
   Chapter 11. 데이터베이스 다루기 ... 270
      1. 데이터베이스에 대한 소개 ... 270
      2. 기본적인 SQL 문 ... 271
        1. Create table 명령어 ... 272
        2. Drop table 명령어 ... 273
        3. Alter table 명령어 ... 273
        4. Select 문 ... 273
        5. Update 문 ... 274
        6. Delete 문 ... 275
        7. Insert 문 ... 275
      3. MySQL설치 및 SQL 실습 ... 275
        1. MySQL 설치 방법 ... 275
        2. MySQL 권한 설정 방법 ... 279
      4. MS-SQL 2000 서버/MS-Access ... 294
        1. MS-SQL 2000 서버 ... 294
        2. ODBC 설정 연결하기 ... 299
        3. MS-Access ODBC 연동하기 ... 301
   Chapter 12. 커스텀 태그 라이브러리 ... 304
      1. 커스텀 태그의 개념 ... 304
        1. 커스텀 태그 동작 과정 ... 305
      2. 커스텀 태그 라이브러리 사용 방법 ... 306
        1. 태그 라이브러리를 다운받아 설치하기 ... 306
      3. 태크 라이브러리를 제작하기에 앞서 ... 313
      4. BODY가 없는 태그 제작하기 ... 315
        1. 태크 핸들러 클래스 작성하기 ... 316
        2. 서블릿 엔진 구하기 ... 317
        3. TLD 파일 작성하기 ... 320
        4. web.xml 파일 작성하기 ... 324
        5. JSP에서 커스텀 태그 사용하기 ... 325
        6. 정리 ... 326
      5. BODY가 있는 태그 제작하기 ... 329
        1. 조건 처리 커스텀 태그 작성하기 ... 331
        2. 태그 핸들러 작성하기 ... 332
        3. TLD 파일 작성하기 ... 336
        4. JSP에서 커스텀 태그 사용하기 ... 338
   Chapter 13. 서블릿 ... 340
      1. 서블릿의 개념 ... 340
      2. 서블릿의 기본구조 ... 341
      3. 서블릿 활용 예제 ... 345
   Chapter 14. JDBC API ... 352
      1. 자바에서 데이터베이스 연결 방법 ... 352
        1. JDBC - ODBC Bridge ... 353
        2. 네이티브 드라이버와 자바 드라이버 ... 354
        3. 네트워크 프로토콜 자바 드라이버 ... 354
        4. 네이티브 프로토콜 자바 드라이버 ... 355
      2. JDBC 드라이버 설치하기 ... 355
        1. MySQL용 JDBC 드라이버 설치하기 ... 357
      3. JDBC API를 이용한 데이터베이스 연결 ... 359
        1. JDBC 드라이버 로드 ... 360
        2. 데이터베이스 연결 객체 생성 ... 362
        3. SQL 문 실행 ... 363
        4. 결과 처리 ... 364
        5. 데이터베이스와 연결 해제 ... 367
      4. JSP에서 JDBC API 사용하기 ... 370
      5. 데이터베이스 커넥션 풀 기법 ... 385
      6. 배치 업데이트(Batch Updates) ... 388
   Chapter 15. 자바빈즈 ... 392
      1. 자바빈즈란 ... 392
        1. 자바빈즈의 구성 ... 395
        2. 자바빈즈 예제 만들기 ... 397
      2. JSP 액션 ... 401
        1. jsp:useBean ... 401
        2. jsp:setProperty ... 402
        3. jsp:getProperty ... 403
        4. jsp:include ... 404
        5. jsp:forward ... 404
        6. jsp:plugin ... 404
      3. 우편 번호 검색 빈 만들기 ... 407
Part 2. 활용편
   Chapter 16. 웹 애플리케이션 개발에 앞서 ... 416
      1. DHTML ... 416
        1. 자바스크립트의 문법 구조 이해하기 ... 417
        2. 자바스크립트 예제 ... 417
      2. CSS ... 420
        1. 스타일 시트(CSS) ... 420
        2. 〈A〉태그에 스타일 지정하기 ... 421
        3. class로 태그에 상관없이 스타일을 적용하는 예제 ... 422
      3. 웹 애플리케이션 구성 ... 430
        1. 디렉토리 구조 ... 430
      4. 상단 메뉴 ... 431
        1. 웹 애플리케이션의 화면 구성 ... 431
        2. 상단 메뉴 ... 432
      5. 카운터 ... 433
        1. 파일 쓰기 ... 433
        2. 파일 읽기 ... 436
        3. 파일을 이용한 카운터 ... 437
        4. 이미지 카운터 만들기 ... 441
      6. 왼쪽 메뉴 ... 446
      7. 회원 관리 ... 452
   Chapter 17. 사용자 관리 ... 454
      1. 사용자 관리 기능 살펴보기 ... 454
        1. 로그인 ... 455
        2. 회원 가입 ... 455
        3. 회원 정보 수정 ... 455
        4. 회원 열람 ... 455
      2. 사용자 관리 전체 구조 ... 456
      3. 데이터베이스 구성 ... 457
      4. 로그인 ... 458
        1. 로그인 화면 구성(login.jsp) ... 458
        2. 회원 인증 과정(login_ok.jsp) ... 464
        3. 회원 확인(login_check.jsp) ... 470
        4. 회원 인증 절차를 마친 후(welcome.jsp) ... 471
        5. 로그아웃(logout.jsp) ... 481
      5. 회원 가입 ... 482
        1. 회원 가입 화면 구성(register.jsp) ... 483
        2. 회원 가입 처리 과정(register_ok.jsp) ... 491
      6. 회원 수정(member_info.jsp) ... 498
        1. 회원 정보 수정 화면 구성(login_info.jsp) ... 499
        2. 회원 정보 수정 처리 과정(login_info_ok.jsp) ... 507
      7. 회원 열람(member_list.jsp) ... 511
   Chapter 18. 게시판 만들기 ... 516
      1. 게시판의 기능 살펴보기 ... 516
        1. 게시물의 목록 ... 517
        2. 글 올리기 ... 517
        3. 게시물 보기 ... 517
        4. 게시물 수정하기 ... 518
        5. 게시물 삭제하기 ... 518
      2. 게시판의 전체 구조 ... 519
      3. 데이터베이스 구성 ... 519
      4. 게시판 리스트(list.jsp) ... 520
        1. 페이지별로 게시물 출력하기 ... 520
        2. 레코드 구하기 ... 523
        3. 게시물 리스트 보이기 ... 524
      5. 게시글 쓰기 ... 533
        1. 폼 구성하기(write.jsp) ... 534
        2. 게시물 올리는 과정(write_ok.jsp) ... 539
      6. 게시글 읽기(show.jsp) ... 544
        1. 게시글 데이터베이스에서 읽어오기 ... 545
        2. 게시물 화면에 출력 ... 547
      7. 게시글 수정하기 ... 552
        1. 게시글 읽어 이전 내용 출력하기(edit.jsp) ... 552
        2. 변경된 게시글 수정하기(edit_ok.jsp) ... 559
      8. 게시글 삭제(delete.jsp) ... 563
   Chapter 19. 답변형 게시판 ... 566
      1. 답변형 게시판의 기능 살펴보기 ... 566
        1. 답변형 게시판의 목록 ... 567
        2. 답변을 추가하는 화면 ... 567
      2. 답변형 게시판의 전체 구조 ... 569
      3. 데이터베이스 구성 ... 569
      4. 답변형 게시판의 원리 ... 570
        1. 데이터베이스 구조 ... 570
        2. 답변형 게시판 이해하기 ... 571
      5. 게시판 리스트(list.jsp) ... 574
        1. 계층적으로 리스트 보이기 ... 574
      6. 게시글 쓰기 ... 582
        1. 폼 구성하기(write.jsp) ... 583
        2. 게시물 올리는 과정(write_ok.jsp) ... 587
      7. 게시글 읽기(show.jsp) ... 595
        1. 게시글 데이터베이스에서 읽어오기 ... 595
      8. 답변 달기 ... 603
        1. 폼 구성하기(reply.jsp) ... 603
   Chapter 20. 자료실형 게시판 ... 610
      1. 자료실형 게시판의 기능 살펴보기 ... 610
        1. 자료실형 게시판의 목록 ... 610
        2. 자료를 올리는 화면 ... 611
        3. 자료실형 게시판 내용 보기 화면 ... 611
      2. 자료실형 게시판의 전체 구조 ... 612
      3. 데이터베이스 구성 ... 612
      4. 자료실 구축의 원리 ... 613
        1. enctype='multipart/form-data' 속성 ... 613
        2. 이진 데이터와 문자 데이터의 동시 전송 ... 616
        3. jspSmartUpload 컴포넌트 설치하기 ... 618
        4. jspSmartUpload 컴포넌트 사용하기 ... 620
      5. 자료실 글 올리기 ... 627
      6. 자료실 리스트 출력하기 ... 637
      7. 자료실 내용보기 ... 647
      8. 자료 삭제하기 ... 653
   Chapter 21. 자바 메일 ... 656
      1. 자바 메일 소개 ... 656
      2. 자바 메일 설치 ... 657
      3. 메일 보내기 첫 번째 예제 ... 659
      4. 첨부 파일 메일 발송 예제 ... 670
      5. 카드 메일 발송 예제 ... 678
      6. 메일링 리스트 ... 688
   Chapter 22. 자바빈즈를 활용한 게시판 ... 704
      1. 사용자 관리 빈즈 ... 704
        1. 회원 인증 ... 705
        2. 회원 가입 빈 만들기 ... 713
        3. 회원 정보 출력 빈 만들기 ... 727
        4. 회원 정보 수정 빈 만들기 ... 735
      2. 게시판 빈즈 ... 754
        1. 게시판의 전체 구조 ... 754
        2. 게시판 글 올리기 ... 754
        3. 게시판 리스트 ... 761
        4. 게시판 내용 보기 ... 768
        5. 게시판 글 수정하기 ... 773
        6. 게시판 글 삭제하기 ... 780
        7. boardBean 클래스 ... 782
      3. 답변형 게시판 빈즈 ... 793
        1. 답변형 게시판의 전체 구조 ... 793
        2. 답변형 게시판 새 글 올리기 & 답변 올리기 ... 794
        3. 답변형 게시판 리스트 ... 804
        4. 답변형 게시판 내용 보기 ... 809
        5. 답변형 게시판 글 수정하기 ... 816
        6. 답변형 게시판 글 삭제하기 ... 817
        7. replyBean 클래스 ... 817
      4. 자료실형 게시판 빈즈 ... 830
        1. 자료실형 게시판의 전체 구조 ... 830
        2. 자료실 게시판 글 올리기 ... 831
        3. 자료실 게시판 리스트 ... 833
        4. 자료실형 게시판 내용 보기 ... 836
      5. 게시판 글 삭제하기 ... 840
      6. dataBean 클래스 ... 841
Part 3. 실무편
   Chapter 23. 고급 실무 기술 ... 856
      1. 검색 기능 추가 게시판 ... 856
        1. 검색 기능 추가 게시판의 전체 구조 ... 857
        2. 검색 기능 구현하기 ... 858
      2. 채팅 구현 ... 867
        1. 채팅 구현 살펴보기 ... 868
        2. 채팅 소스 코드 분석 ... 869
        3. JSP 페이지에서 채팅 구현하기 ... 878
      3. 아바타 구현과 웹 사이트 보안 ... 880
        1. 애플릿 파일 살펴보기 ... 880
        2. 데이터베이스 설정 ... 882
        3. 아바타 설정 변경 페이지(avata.jsp) ... 882
        4. 웹 사이트 보안 ... 890
      4. 쇼핑몰 구현 ... 896
        1. 쇼핑몰의 전체 구조 ... 896
        2. 쇼핑몰 둘러보기 ... 897
        3. 데이터베이스 설정 ... 899
        4. 상품 게시판 구현 ... 901
   Chapter 24. 쇼핑몰 ... 948
      1. 사이트 소개 ... 948
        1. 사이트 전체 구조 ... 949
        2. 쇼핑몰 둘러보기 ... 950
        3. 데이터베이스 설정 ... 954
        4. 공용 파일 살펴 보기 ... 962
      2. 회원 관리 ... 980
        1. 회원 관리 전체 구조 ... 980
      3. 쇼핑몰 ... 1004
        1. 상품 구매 전체 구조 ... 1004
        2. 상품 구매 처리하기 ... 1005
        3. 장바구니 설계 ... 1025
        4. 공동 구매 ... 1045
        5. 공지 사항 ... 1056
        6. 신상품 코너 ... 1061
        7. 조립 PC 견적 처리 ... 1064
      4. 기타 설정 사항 ... 1069
        1. 사이트 맵 만들기 ... 1069
        2. 자유 게시판 만들기 ... 1070
찾아보기 ... 1072
닫기