책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 웹 서비스/웹 프로그래밍
· ISBN : 9788960770287
· 쪽수 : 808쪽
책 소개
목차
1부 기본 23
1장 스트럿츠2란 무엇인가? 25
1.1 스트럿츠2의 배경과 달라진 점 25
1.2 스트럿츠2 들여다 보기 28
1.3 스트럿츠2의 핵심: 액션과 리절트 32
1.4 스트럿츠2의 컨트롤러: 필터 디스패처 41
1.5 웹 요청 처리에 대한 몇 가지 기본 지식 43
2장 기본 예제를 통해 스트럿츠2와 친해지기 49
2.1 문자열 출력 49
2.2 문자열 목록 출력 55
2.3 객체 출력 59
2.4 객체 목록 출력 64
2.5 날짜 출력 69
3장 다양한 태그 컴포넌트 다루기 75
3.1 스트럿츠2 구성 요소 미리보기 75
3.1.1 인터셉터 개요 77
3.1.2 인터셉터 스택이란? 81
3.1.3 리절트의 종류 85
3.1.4 환경설정의 개요 88
3.1.5 태그 라이브러리의 종류 93
3.2 태그 사용을 위한 필수 지식 97
3.2.1 액션, 인터셉터, 밸류 스택과 태그와의 관계 97
3.2.2 비 문자열 속성 99
3.2.3 태그의 value 속성은 객체이다! 100
3.2.4 표현식 언어의 표기법 101
3.2.5 OGNL 이란? 101
3.3 텍스트 필드를 이용한 문자열 입출력 106
3.4 문자열 상자 사용하기 115
3.5 날짜 입출력 컴포넌트를 사용하기 121
3.6 태그를 이용한 페이지 링크 127
3.7 리스트 타입을 이용하여 과목 선택 체크 박스 만들기 137
3.8 리스트 타입을 이용하여 과목 선택 셀렉트 박스 만들기 142
3.9 조건 처리 태그를 사용하여 영화 순위 목록 페이지 만들기 153
3.10 태그를 이용하여 분리된 리스트 합치기 157
2부 심화 165
4장 스트럿츠2 아키텍처 167
4.1 스트럿츠2 아키텍처 개념도 167
4.2 필터 디스패처의 역할 170
4.3 액션 프록시와 액션 인보케이션 171
4.3.1 액션 프록시와 액션 인보케이션의 관계 171
4.3.2 액션 인보케이션의 역할 174
4.4 액션 컨텍스트 178
4.5 액션 매퍼 182
4.5.1 기본 액션 매퍼 182
4.5.2 커스텀 액션 매퍼 191
4.5.3 레스트풀 액션 매퍼 191
4.5.4 레스트풀2 액션 매퍼 192
4.5.5 혼합 액션 매퍼 193
4.6 인터셉터 195
4.6.1 인터셉터의 개념 195
4.6.2 인터셉터 인터페이스 197
4.6.3 인터셉터의 종류 198
4.6.4 인터셉터의 파라미터 오버라이딩 217
4.6.5 인터셉터와 필터의 차이 218
4.6.6 인터셉터의 기능별 분류 219
4.6.7 인터셉터 분석: 프리페어 인터셉터 220
4.7 액션 227
4.7.1 액션의 개념 227
4.7.2 액션 상관 관계 228
4.7.3 액션 체인 233
4.7.4 액션 다중 호출 241
4.8 리절트 247
4.8.1 리절트의 개념 247
4.8.2 기본 리절트 타입 249
4.8.3 프리 리절트 리스너 257
5장 스트럿츠2 환경설정 261
5.1 환경설정 파일 개요 261
5.1.1 web.xml에 정의할 수 있는 내용 262
5.1.2 struts.xml 소개 267
5.1.3 struts.properties 소개 273
5.1.4 struts-default.xml 소개 280
5.1.5 velocity.properties 소개 287
5.2 관리적인 요소의 환경설정 288
5.2.1 빈 설정 289
5.2.2 상수 설정 290
5.2.3 패키지 설정 292
5.2.4 네임스페이스 설정 294
5.2.5 인클루드 설정 295
5.3 요청 처리에 관련된 요소의 환경설정 296
5.3.1 인터셉터 설정 296
5.3.2 액션 설정 297
5.3.3 리절트 설정 302
5.3.4 와일드 카드를 이용한 액션, 액션 메소드, 리절트 설정 306
5.4 예외 처리 요소의 환경설정 313
5.4.1 예외 설정 313
5.5 성능 튜닝 316
5.5.1 로깅과 개발 모드 해제 316
5.5.2 불필요한 인터셉터 제거 317
5.5.3 올바른 HTTP 헤더 사용 320
5.5.4 스트럿츠2의 정적 데이터 복사 320
5.5.5 /WEB-INF/classes 밑에 freemarker.properties 파일 생성 320
5.5.6 템플릿 파일의 복사 321
5.5.7 테마의 오버라이딩 321
5.5.8 불필요한 세션은 생성하지 마라 321
5.5.9 프리마커를 사용할 때는 프리마커 태그를 사용하라 321
5.6 어노테이션 322
5.6.1 액션 어노테이션 322
5.6.2 인터셉터 어노테이션 324
5.6.3 유효성 검사 어노테이션 326
5.6.4 타입 변환 어노테이션 338
5.6.5 어노테이션을 사용한 액션과 리절트 정의 343
6장 스트럿츠2 태그를 이용한 손쉬운 Ajax 구현 349
6.1 Ajax의 개념과 스트럿츠2의 Ajax 구성 349
6.2 Ajax 기능을 이용한 메뉴 만들기 364
6.3 자동 요청 기능을 이용한 리얼타임 인기 검색어 예제 372
6.4 탭 패널 컴포넌트를 이용한 세미나 목록과 일정 예제 380
6.5 트리 컴포넌트를 이용한 컴퓨터 부품 목록 출력 예제 387
7장 파일 업로드/다운로드 397
7.1 파일 업로드 397
7.1.1 Apache Commons - IO, FileUpload 컴포넌트 다운로드 및 설치 397
7.1.2 파일 업로드 크기 설정 401
7.1.3 파일 업로드를 위한 액션 클래스와 태그 구성 401
7.1.4 단일 파일 업로드 예제 만들기 406
7.1.5 배열을 이용한 다중 파일 업로드 예제 만들기 414
7.1.6 리스트를 이용한 다중 파일 업로드 예제 만들기 420
7.2 파일 다운로드 427
7.2.1 다운로드 액션에서 사용하는 프로퍼티 427
7.2.2 struts.xml에서 다운로드 액션 정의하기 428
7.2.3 액션 클래스 소스 출력하는 예제 만들기 430
7.2.4 파일 다운로드 예제 만들기 435
8장 유효성 검사 443
8.1 스트럿츠2의 유효성 검사 443
8.1.1 유효성 검사 규칙 정의 446
8.1.2 넌 필드 유효성 검사자와 필드 유효성 검사자 448
8.1.3 유효성 검사의 단락 450
8.2 예제로 배우는 유효성 검사 452
8.2.1 기본 유효성 검사를 이용한 퀴즈 예제 만들기 452
8.2.2 클라이언트 유효성 검사를 이용한 퀴즈 예제 만들기 458
8.2.3 필드 유효성 검사를 이용한 예제 만들기 462
8.2.4 넌필드 유효성 검사를 이용한 예제 만들기 469
8.3 어노테이션을 이용한 유효성 검사 473
8.4 스트럿츠2 유효성 검사자 요약 476
8.4.1 required validator 477
8.4.2 requiredStringValidator 477
8.4.3 int validator 478
8.4.4 date validator 479
8.4.5 expression validator 480
8.4.6 fieldexpression validator 481
8.4.7 email validator 481
8.4.8 url validator 482
8.4.9 visitor validator 483
8.4.10 conversion validator 484
8.4.11 stringlength validator 486
8.4.12 regex validator 487
3부 활용 489
9장 애플리케이션의 국제화 491
9.1 국제화 491
9.1.1 애플리케이션의 국제화란? 491
9.1.2 Locale 클래스 이해 492
9.2 스트럿츠2 리소스 번들 494
9.2.1 액션 리소스 번들 495
9.2.2 부모 클래스 리소스 번들 496
9.2.3 인터페이스 리소스 번들 497
9.2.4 패키지 리소스 번들 498
9.2.5 글로벌 리소스 번들 498
9.2.6 리소스 번들의 검색 순서 499
9.2.7 리소스 번들 활용 500
9.2.8 커스텀 리소스 번들 506
9.2.9 리소스 번들 포맷 사용하기 507
10장 스트럿츠2 플러그인 517
10.1 사이트메쉬 플러그인을 이용한 페이지 레이아웃 적용 517
10.1.1 사이트메쉬 개요 517
10.1.2 사이트메쉬 라이브러리 다운로드 및 설치 520
10.1.3 사이트메쉬 플러그인을 사용하기 위한 환경설정 521
10.1.4 데코레이터 페이지 만들기 527
10.1.5 사이트메쉬를 활용한 메인 페이지 출력 예제 만들기 529
10.2 jFreeChart 플러그인을 이용한 차트 출력 540
10.2.1 JFreeChart 개요 540
10.2.2 JFreeChart 라이브러리 다운로드 및 설치 542
10.2.3 JFreeChart를 사용하기 위한 환경설정 544
10.2.4 사이트 방문자 수 차트 출력 예제 만들기 545
10.3 JasperReport 플러그인을 이용한 보고서 출력 551
10.3.1 JasperReport 개요 551
10.3.2 스트럿츠2의 JasperReport 플러그인 555
10.3.4 JasperReport 라이브러리 다운로드 및 설치 558
10.3.5 도서 목록 보고서 pdf 출력 예제 만들기 559
10.4 스프링 플러그인을 사용한 의존성 주입 568
10.4.1 스프링 개요 568
10.4.2 스프링 라이브러리 다운로드 및 설치 570
10.4.3 스프링을 사용하기 위한 환경설정 572
10.4.4 코드 서비스를 스프링으로 관리하는 예제 만들기 575
10.5 스트럿츠2의 기타 플러그인 582
10.5.1 코드 비하인드 플러그인 소개 582
10.5.2 컨피그 브라우저 플러그인 소개 585
10.5.3 JSF 플러그인 소개 590
10.5.4 플렉서스 플러그인 소개 593
10.5.5 스트럿츠1플러그인 소개 594
11장 예외처리/프로파일링/로깅 599
11.1 예외 처리 599
11.1.1 간단한 선언적 예외 처리 방법 601
11.1.2 글로벌 예외 매핑 605
11.1.3 다수의 예외 매핑 608
11.1.4 예외 메시지 가져오기 612
11.1.5 예외 처리 인터셉터 615
11.1.6 예외 로그를 남기기 위한 설정 617
11.2 프로파일링 618
11.2.1 프로파일링 기능의 활성화 619
11.2.2 프로파일 정보 제어하기 623
11.2.3 나만의 프로파일 정보 만들기 623
11.3 로깅 625
11.3.1 로그 설정하기 626
12장 태그 라이브러리 예제 모음 631
12.1 컨트롤 태그 632
12.1.1 s:generator 633
12.1.2 s:merge 638
12.1.3 s:sort 642
12.1.4 s:subset 647
12.2 데이터 태그 653
12.2.1 s:bean 653
12.2.2 s:debug 656
12.2.3 s:i18n 658
12.2.4 s:include 661
12.2.5 s:push 664
12.2.6 s:set 672
12.3 폼 태그 676
12.3.1 s:checkboxlist 678
12.3.2 s:combobox 687
12.3.3 s:doubleselect 692
12.3.4 s:hidden 699
12.3.5 s:optiontransferselect 699
12.3.6 s:optgroup 705
12.3.7 s:password 707
12.3.8 s:radio 710
12.3.9 s:reset 713
12.3.10 s:submit 717
12.3.11 s:token 725
12.3.12 s:updownselect 726
12.4 넌폼 태그 730
12.4.1 s:actionerror 730
12.4.2 s:actionmessage 732
12.4.3 s:component 735
12.4.4 s:div 745
12.4.5 s:fielderror 757
4부 부록 761
A1장 개발 환경 구축 763
A1.1 J2SE 설치 763
A1.2 톰캣 설치 766
A1.3 이클립스 WTP 설치 768
A1.4 스트럿츠2 설치 771
A1.4.1 스트럿츠2 샘플 애플리케이션 설치 및 테스트 772
A1.5 샘플 프로젝트 구성 773
A1.5.1 이클립스용 톰캣 플러그인 설치 773
A1.5.2 이클립스용 프로퍼티 에디터 플러그인 설치 776
A1.5.3 이클립스에 Debug Perspective, Resource Perspective 버튼 추가 776
A1.5.4 이클립스를 이용한 샘플 프로젝트 작성 778
A2장 언어의 국가별 ISO-639-1 코드 791