목차
제1부 JSP 기초 익히기 ... 17
   1. JSP 이야기 ... 19
      1.1 JSP의 특징 ... 22
      1.2 JSP의 내부 동작 ... 23
      1.3 HTML과 JSP 페이지의 구조 ... 24
      1.4 폼 처리 프로그램 ... 26
   2. JSP 환경 구축하기 ... 32
      2.1 각 시스템 소프트웨어들의 다운로드 ... 32
        [1] JDK(Java Development Kit : 자바 개발환경 - 컴파일러 포함) 다운로드 ... 32
        [2] 톰켓(Tomcat) 다운로드 ... 35
        [3] 아파치(Apache) 다운로드 ... 36
        [4] 데이터 베이스 MySQL 서버 다운로드 ... 37
        [5] JDBC 드라이버 다운로드(JDBC : Java DataBase Connectivity : 자바와 데이터베이스를 연결하는 인터페이스) ... 39
      2.2 각 시스템 소프트웨어들의 설치와 환경 셋팅 및 연동작업 ... 42
        [1] 자바개발도구인 JDK(Java Development Kit) 설치와 환경설정 ... 42
        [2] JSP 컨테이너인 톰캣(Tomcat) 설치와 환경설정 ... 50
        [3] 웹 서버인 아파치(Apache) 설치와 환경설정 ... 64
        [4] 데이터베이스 MySQL 설치와 환경설정 ... 87
        [5] JDBC(Java DataBase Connectivity) 드라이버 설치 ... 105
        [6] JDK, 톰캣, 아파치, JDBC 및 MYSQL 종합 테스트 ... 108
      2.3 교재학습을 위한 서버환경 정리 ... 114
   3. 꼭 알아야 할 자바 문법 ... 117
      3.1 변수 ... 118
      3.2 주석 ... 123
      3.3 조건문 ... 125
      3.4 반복문 ... 127
   4. 폼(FORM)으로 웹사이트 틀 잡기 ... 140
      4.1 폼 데이터 처리 ... 138
      4.2 로그인 ... 145
      4.3 혈액형 조사 ... 156
      4.4 좋아하는 과일 ... 159
      4.5 거주 지역 ... 163
      4.6 건의함 ... 166
      4.7 사용자 정보 ... 169
   5. JSP 문법 이것만 알고 가자 ... 175
      5.1 JSP 기본 태그 (1) ... 175
        [1] 페이지 지시자 ... 176
        [2] 포함 지시자 ... 180
        [3] 사용자 정의 지시자 ... 181
        [4] 포함 프로그램 ... 181
      5.2 JSP 기본 태그 (2) ... 185
        5.2.1 스크립트 ... 186
        [1] JSP 선언 태그 ... 186
        [2] JSP 스크립트 태그 ... 186
        [3] JSP 출력 태그 ... 187
        [4] 텍스트 색깔 바꾸기 ... 187
        5.2.2 주석문 ... 190
        [1] HTML 주석문 ... 190
        [2] JSP 주석문 ... 191
        [3] JSP 스크립트 주석문 ... 192
        [4] 세 가지 주석 프로그램 ... 193
      5.3 JSP 응용 태그 ... 196
        5.3.1 빈 액션 ... 196
        [1]〈jsp:useBean〉 ... 197
        [2]〈jsp:setProperty〉 ... 198
        [3]〈jsp:getProperty〉 ... 198
        [4] 좋아하는 과일 ... 199
        5.3.2 페이지 활용 액션 ... 206
        [1]〈jsp:forward〉 ... 206
        [2]〈jsp:include〉 ... 206
        [3] 좋아하는 화가의 그림 ... 207
   6. 쿠키 이야기 ... 213
      6.1 쿠키(Cookie) ... 213
      6.2 JSP 에러 처리 ... 222
        6.2.1 컴파일타임 에러 ... 222
        [1] 파싱 예외 ... 223
        [2] 컴파일 예외 ... 225
        6.2.2 런타임 에러 ... 226
        [1] try{}∼catch{} 구문 ... 227
        [2] 에러 페이지 ... 227
   7. 데이터베이스(DataBase) 이야기 ... 232
      7.1 데이터베이스 쿼리어들 익히기 ... 234
      7.2 JDBC 활용하기 ... 237
   8. 게시판 만들기 ... 250
      8.1 게시판 설계하기 ... 253
        [1] 게시판 글쓰기 ... 253
        [2] 게시판 글 목록 ... 254
        [3] 글 내용 보기 ... 255
        [4] 글 내용 수정하기 ... 256
        [5] 글 내용 삭제하기 ... 257
      8.2 게시판용 테이블 설계하기 ... 258
      8.3 게시판 글쓰기 ... 261
      8.4 게시판 글 목록 ... 273
      8.5 글 내용 보기 ... 285
      8.6 글 내용 수정하기 ... 292
      8.7 글 내용 삭제하기 ... 302
제2부 XML 기초 익히기 ... 311
   1. XML이란? ... 313
      1.1 바이너리 파일과 텍스트 파일 ... 314
      1.2 마크업 언어란? ... 315
      1.3 HTML vs XML 비교 ... 316
      1.4 XML의 계층 구조 ... 319
   2. XML 문서 만들기 ... 320
      2.1 IE(Internet Explorer)에서 XML의 구동 원리 ... 320
      2.2 간단한 XML 문서 만들기 ... 321
      2.3 XML 문서 작성 시 주의해야 할 점 ... 325
        [1] 선언부 생성 시 주의할 점 ... 325
        [2] 태그의 대소문자가 일치하지 않는 경우 ... 327
        [3] 마침 태그가 없을 경우 ... 328
        [4] 태그가 중첩되는 경우 ... 329
      2.4 전자 메일을 XML 문서로 만들어 보기 ... 330
      2.5 빈 엘리먼트(Empty Element) 사용하기 ... 333
      2.6 엘리먼트 이름 작성 규칙 ... 335
      2.7 태그 규칙과 well-Formed XML ... 336
      2.8 여러 작가의 글이 들어있는 소설책 ... 339
      2.9 XML 문서에 속성을 붙여보자 ... 344
      2.10 XML 문서에 주석을 입혀보자 ... 348
      2.11 PCDATA 문자들 ... 351
   3. CSS로 스타일링 하기 ... 353
      3.1 CSS란? ... 353
      3.2 첫 CSS 예제 ... 353
      3.3 CSS를 간단하게 표현하자 ... 358
      3.4 display property ... 363
      3.5 font property ... 366
      3.6 font property 사용 예제 ... 368
      3.7 text property ... 370
      3.8 text property 사용예제 ... 372
      3.9 경계선을 지정해 보자 ... 374
      3.10 글자색과 배경 ... 376
      3.11 문단 속성을 지정해 보자 ... 379
   4. DTD 만들기 ... 382
      4.1 DTD(Document Type Definitions)란? ... 382
      4.2 DOCTYPE 선언 ... 383
      4.3 엘리먼트 타입 선언(Element Type Declarations) ... 384
      4.4 하위 엘리먼트 타입 선언 ... 387
      4.5 속성 리스트 선언(Attribute List Declaration) ... 389
        [1] 문자형 속성 ... 389
        [2] 열거형 속성 ... 389
        [3] Entity와 Entities ... 390
        [4] ID, IDREF, IDREFS ... 391
        [5] NMTOKEN과 NMTOKENS ... 392
      4.6 속성 값 ... 392
        [1] Required ... 392
        [2] Implied ... 392
        [3] Fixed ... 393
        [4] Supplied ... 393
      4.7 엔티티(Entity) 넣기 ... 394
        [1] 내부 일반 엔티티 ... 394
        [2] 외부 일반 엔티티 ... 396
        [3] 외부 파라미터 엔티티 ... 397
      4.8 소설책 예제 - 내부 서브넷 사용 ... 399
      4.9 소설책 예제 - 외부 서브넷 사용 ... 408
      4.10 DTD 단점 ... 411
   5. DOM 익히기 ... 412
      5.1 DOM에 대하여 ... 412
      5.2 여러 가지 노드 타입 ... 413
        [1] 도큐먼트(Document) ... 413
        [2] 도큐먼트 프래그먼트(Document Fragment) ... 414
        [3] 도큐먼트 타입(Document Type) ... 414
        [4] 엔티티 레퍼런스(Entity Reference) ... 415
        [5] 엘리먼트(Element) ... 416
        [6] 어트리뷰트(Attr) ... 416
        [7] 프로세싱 인스트럭션(Processing Instruction) ... 417
        [8] 코멘트(Comment) ... 417
        [9] 텍스트(Text) ... 417
        [10] CDATASection ... 418
        [11] 엔티티(Entity) ... 418
        [12] 노테이션(Notation) ... 418
        [13] 노드리스트(NodeList) ... 418
        [14] 네임드 노드맵(Named NodeMap) ... 419
      5.3 노드 타입 예제 ... 419
      5.4 DOM을 이용하여 XML 문서 로딩하기 ... 425
      5.5 DOM을 이용해 엘리먼트 불러오기 ... 426
      5.6 DOM을 이용해 엘리먼트 내용 가져오기 ... 428
      5.7 DOM을 이용해 노드 추가/삭제하기 ... 430
      5.8 DOM을 이용하여 XML 문서에 속성 추가하기 ... 436
      5.9 DOM을 이용하여 XML 문서에 DocumentFragment 추가하기 ... 438
      5.10 DOM을 이용하여 XML 문서에 NodeList 추가하기 ... 440
      5.11 DOM을 이용하여 XML 문서에 속성값 얻어오기 ... 442
      5.12 DOM을 이용하여 XML 문서에 속성값 변경하기 ... 443
      5.13 NamedNodeMap 인터페이스 사용하기 ... 446
      5.14 CharacterData 인터페이스 사용하기 ... 450
      5.15 Comment 추가하기 ... 453
      5.16 DCATASection 추가하기 ... 454
      5.17 Process Instruction 추가하기 ... 456
   6. XSL로 스타일링 하기 ... 458
      6.1 XSL이란? ... 458
      6.2 XSL을 시작해보자 ... 458
      6.3 XSL 확장 예제 ... 462
      6.4 XSL 패턴 ... 466
      6.5 템플릿 ... 469
      6.6 XSL 엘리먼트 ... 470
        [1]〈xsl:stylesheet〉 ... 470
        [2]〈xsl:template〉 ... 470
        [3]〈xsl:apply-templates〉 ... 470
        [4]〈xsl:value-of〉 ... 472
        [5]〈xsl:output〉 ... 473
        [6]〈xsl:element name ... "〉
        [7]〈xsl:attribute〉와〈xsl:attribute-set〉 ... 475
        [8]〈xsl:text〉 ... 475
        [9]〈xsl:if〉와〈xsl:choose〉 ... 476
        [10]〈xsl:for-each〉 ... 476
        [11]〈xsl:copy-of〉와〈xsl:copy〉 ... 476
        [12]〈xsl:sort〉 ... 477
        [13]〈xsl:variable〉 ... 477
      6.7 XSL 예제 ... 478
   7. XML 링크 익히기 ... 482
      7.1 HTML 링크 ... 482
      7.2 XML 링크 ... 483
      7.3 XLink와 그 속성들 ... 484
        [1] type ... 485
        [2] href ... 486
        [3] role ... 486
        [4] title ... 487
        [5] actuate ... 487
        [6] show ... 488
        [7] from과 to ... 488
      7.4 단순(Simple) 링크와 확장(Extended) 링크 ... 488
        [1] 단순 링크 ... 488
        [2] 확장 링크 ... 490
      7.5 XPointer와 그 속성들 ... 492
      7.6 Location, Point, Range ... 495
        [1] location ... 495
        [2] point ... 495
        [3] range ... 496
   8. memo 어플리케이션 만들기 ... 497
      8.1 memo DTD 만들기 ... 497
      8.2 memo xml 만들기 ... 499
   9. 방명록 어플리케이션 만들기 ... 501
      9.1 방명록 DTD와 xml 문서 ... 501
      9.2 방명록 xsl ... 502
   10. 또 다른 xsl ... 506
      10.1 xslt ... 506
      10.2 학교 DTD와 xml 문서 ... 506
      10.3 학교 xslt ... 509
제3부 JSP와 XML 연동 프로젝트 ... 519
   1. 컴퓨터 서적 목록 ... 521
   2. XML 데이터베이스 연동 ... 530
      2.1 JSP와 데이터베이스 연동 ... 530
      2.2 JSP XML과의 데이터베이스 연동 ... 554
닫기