로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

[열혈강의] 자바 웹 개발 워크북

 [MVC 아키텍처, 마이바티스, 스프링으로 만드는 실무형 개발자 로드맵 (반양장본)]
   
지은이 엄진영   |   출판사 프리렉  |   발행일 2014년 05월 23일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 35,000원31,500원 10%
마일리지 5% 1,750원
발행일 2014-05-23
ISBN 8965400678 | 9788965400677
기타정보 국내서 | 936쪽 | 일반
예상출고일 2~3일 이내 (근무일기준)
배송비 무료배송
   
프로그래밍언어
종합지수 4p 452 위
   
 

더 자바답게, 원리로 이해하는 자바 웹 개발 워크북
이 책은 자바 웹 개발 기초에서 프레임워크를 사용하는 실무 내용까지 다루고 있습니다. 여느 도서와 다를 바 없어 보이지만 '더 자바답게' 다루고자 하였습니다. jsp에 한정한 웹 프로그래밍이 아니라 변화한 현재의 동적인 웹 개발 환경에 맞도록 서블릿/JSP를 기본으로 웹 개발에 필요한 기술들을 설명하고 있습니다. 다만, 효율적인 측면에서 진일보하는 많은 프레임워크와 관련 기술들은 초급 자바 웹 개발자와 기초가 약한 중급 개발자들을 어렵게 하고 있습니다. 이 때문에 이 책은 자바 웹 개발자들을 위한 학습 로드맵이 될 수 있도록 구성하였습니다.

따라 하며 예제를 완성하기보단, 이해하고 난 뒤 예제를 풀어보는 방식으로 설명되어 있어 개념을 파악하고 나서 실습함으로 차별성을 두고 있습니다. 예제를 중심으로 실제 실무 개발 프로젝트에 사용되는 MVC 아키텍처의 이해와 활용, 마이바티스, 스프링, 그래들 등과 같은 기술을 하나씩 단계적으로 적용하여 소개하고 있으며 이를 통해 해당 기술을 도입하기 전과 도입한 후의 차이점을 확인함으로써 기술의 등장배경과 이점을 충분히 이해하여 활용할 수 있도록 하였습니다. 그저 요구에 의한 붙여넣기가 아니라 실습할 예제에 대한 이해를 먼저 하고 설계한 뒤, 활용할 수 있도록 말입니다. 차근차근 내용을 따라가다 보면 어느새 실무 개발에 필요한 기술을 자연스럽게 습득할 수 있을 것입니다.
제1장 웹 애플리케이션의 이해
1.1 데스크톱 애플리케이션
1.1.1 데스크톱 애플리케이션 실습
1.1.2 데스크톱 애플리케이션의 문제점
1.2 클라이언트·서버 애플리케이션
1.2.1 계산기 서버 실행
1.2.2 계산기 클라이언트 실행
1.2.3 계산기 서버의 콘솔창 내용 확인
1.2.4 클라이언트·서버 구조의 장점
1.2.5 문제점과 개선방안
1.3 다중 클라이언트의 요청 처리
1.3.1 멀티 스레드 적용 실습
1.3.2 문제점과 개선방안
1.4 클라이언트·서버 아키텍처의 진화
1.4.1 전통적인 클라이언트·서버 아키텍처
1.4.2 개선된 클라이언트·서버 아키텍처
1.5 웹 애플리케이션 아키텍처의 특징
1.5.1 웹 애플리케이션 실습
1.5.2 웹 애플리케이션의 특징
1.5.3 문제점과 개선방안
1.6 정리

제 2장 웹 프로그래밍 기초 다지기
2.1 HTTP 프로토콜의 이해
2.1.1 HTTP 모니터링
2.1.2 HTTP 프록시 실행
2.1.3 HTTP 요청
2.1.4 HTTP 응답
2.1.5 HTTP 클라이언트 만들기
2.1.6 콘솔창의 출력 크기를 늘리거나 제한을 없애기
2.2 GET 요청
2.2.1 웹 애플리케이션 프로젝트 생성, 배치, 실행
2.2.2 GET 요청 1 웹 브라우저 주소창에 URL을 입력하는 경우
2.2.3 GET 요청 2 링크를 클릭하는 경우
2.2.4 GET 요청 3 입력폼의 method 속성값이 get인 경우
2.2.5 GET 요청의 데이터 전달 형식
2.2.6 GET 요청의 쓰임새
2.2.7 문제점과 개선방안
2.3 POST 요청
2.3.1 POST 요청의 장점 - 입력값을 URL에 노출하지 않는다.
2.3.2 POST 요청의 HTTP 프로토콜 확인
2.3.3 POST 요청의 단점 - 요청 결과를 공유할 수 없다.
2.3.4 문제점과 개선방안
2.4 파일 업로드
2.4.1 파일 업로드를 위한
태그 설정
2.4.2 멀티파트 방식의 POST 요청 프로토콜 분석
2.5 정리

제 3장 서블릿 프로그래밍
3.1 CGI 프로그램과 서블릿
3.1.1 CGI의 이해
3.1.2 서블릿 Servlet
3.2 서블릿, JSP vs. Java EE vs. WAS
3.2.1 Java EE 기술들
3.2.2 WAS의 이해
3.3 웹 프로젝트 준비
3.3.1 웹 프로젝트 생성
3.3.2 웹 프로젝트 폴더 구조
3.4 서블릿 만들기
3.4.1 서블릿 작성
3.4.2 javax.servlet.Servlet 인터페이스
3.4.3 서블릿 배치 정보 작성
3.4.4 서블릿 실행
3.4.5 URL과 서블릿 매핑
3.4.6 서블릿 구동 절차
3.4.7 웰컴 파일들(Welcome Files)
3.5 웹 애플리케이션 배치
3.5.1 Eclipse를 통한 자동 배치
3.5.2 톰캣 실행 환경의 임시 배치 폴더
3.5.3 운영 서버에 배치하기
3.6 GenericServlet의 사용
3.6.1 GenericServlet이 없던 시절
3.6.2 GenericServlet의 용도
3.6.3 계산기 서블릿 작성
3.6.4 ServletRequest
3.6.5 ServletResponse
3.6.6 CalculatorServlet 배치 및 테스트
3.6.7 GET 요청으로 넘어온 매개변수 값의 인코딩 설정
3.6.8 @WebServlet 애노테이션을 이용한 서블릿 배치 정보 설정
3.6.9 @WebServlet 애노테이션의 주요 속성
3.7 정리

제 4장 서블릿과 JDBC
4.1 데이터베이스에서 데이터 가져오기
4.1.1 회원 목록 조회 구현
4.1.2 서블릿 배치 정보 설정
4.1.3 '회원 목록 조회' 서블릿 테스트
4.2 HttpServlet으로 GET 요청 다루기
4.2.1 회원 목록 화면에 '신규 회원' 링크 추가
4.3 HttpServlet으로 POST 요청 다루기
4.3.1 doPost() 오버라이딩
4.3.2 회원 등록 테스트
4.4 요청 매개변수의 한글 깨짐 처리
4.4.1 한글 깨짐 현상
4.4.2 한글 입력값이 깨진 이유
4.4.3 한글 깨짐 해결책
4.4.4 GET 요청 매개변수의 한글 깨짐 해결책
4.5 리프래시
4.5.1 자동으로 회원 목록을 출력하기
4.6 리다이렉트
4.6.1 리다이렉트 실습하기
4.7 서블릿 초기화 매개변수
4.7.1 회원 정보 조회와 변경
4.7.2 회원 목록 페이지에 상세 정보 링크 추가
4.7.3 DD파일에 서블릿 초기화 매개변수 설정
4.7.4 회원 상세 정보 출력하는 서블릿 작성
4.7.5 회원 정보 변경하기
4.7.6 애노테이션으로 서블릿 초기화 매개변수 설정
4.8 컨텍스트 초기화 매개변수
4.8.1 컨텍스트 초기화 매개변수의 선언
4.8.2 컨텍스트 초기화 매개변수의 사용
4.9 필터 사용하기
4.9.1 필터
4.9.2 필터 만들기
4.9.3 필터의 구동
4.9.4 필터의 배치
4.10 정리

제 5장 MVC 아키텍처
5.1 MVC 이해하기
5.1.1 올인원 All-in-one 방식과 문제점
5.1.2글로벌 환경과 MVC 아키텍처
5.1.3 MVC 이점
5.1.4 MVC 구동 원리
5.2 뷰 컴포넌트와 JSP
5.2.1 JSP를 사용하는 이유
5.2.2 JSP 구동 원리
5.2.3 JSP의 구동 과정 확인
5.2.4 HttpJspPage 인터페이스
5.2.5 JSP 객체의 실체 분석
5.2.6 HttpJspBase 클래스의 소스
5.2.7 JSP 프리컴파일
5.3 JSP의 주요 구성 요소
5.3.1 JSP로 만드는 계산기 실습
5.3.2 템플릿 데이터
5.3.3 JSP 전용 태그 - 지시자
5.3.4 JSP 전용 태그 - 스크립트릿
5.3.5 JSP 내장 객체
5.3.6 JSP 전용 태그 - 선언문
5.3.7 JSP 전용 태그 - 표현식
5.4 서블릿에서 뷰 분리하기
5.4.1 값 객체(VO) = 데이터 수송 객체(DTO)
5.4.2 뷰 분리하기 실습
5.4.3 값 객체 생성
5.4.4 서블릿에서 뷰 관련 코드 제거
5.4.5 뷰 컴포넌트 만들기
5.4.6 회원 목록 테스트
5.5 포워딩과 인클루딩
5.5.1 포워딩과 인클루딩 실습
5.5.2 포워딩
5.2.3 인클루딩
5.6 데이터 보관소
5.6.1 ServletContext의 활용
5.6.2 HttpSession의 활용 - 로그인
5.6.3 HttpSession의 활용 - 로그인 정보 사용
5.6.4 HttpSession의 활용 - 로그아웃
5.6.5 ServletRequest의 활용
5.6.6 JspContext의 활용
5.7 JSP 액션 태그의 사용
5.7.1 JSP 액션 태그 -
5.7.2 의 활용
5.7.3 JSP 액션 태그의 존재 의의
5.8 EL 사용하기
5.8.1 EL 표기법
5.8.2 JSP에서 제공하는 EL 기본 객체
5.8.3 리터럴 표현식Literals
5.8.4 값 표현식 Value Expression
5.8.5 연산자
5.8.6 예약 키워드
5.8.7 EL 활용 - 회원 정보 페이지
5.9 JSTL 사용하기
5.9.1 JSTL 라이브러리 준비
5.9.2 JSTL 주요 태그의 사용법
5.9.3 JSTL 활용 - 회원 목록 페이지에서 자바 코드 없애기
5.10 DAO 만들기
5.10.1 DAO 사용하기
5.10.2 DAO 생성
5.10.3 서블릿에서 DAO 사용하기
5.11 ServletContextListener와 객체 공유
5.11.1 ServletContextListener의 활용
5.11.2 리스너 'ServletContextListener' 만들기
5.11.3 기존의 서블릿 변경하기
5.11.4 AppInitServlet 제거
5.12 DB 커넥션풀
5.12.1 DB 커넥션풀
5.12.2 DB 커넥션풀 만들기
5.12.3 MemberDAO에 DB 커넥션풀 적용하기
5.12.4 ContextLoaderListener에서 DBConnectionPool 생성 및 DAO에 주입
5.13 DataSource와 JNDI
5.13.1 javax.sql 확장 패키지
5.13.2 DataSource
5.13.3 DataSource의 적용
5.13.4 서버에서 제공하는 DataSource 사용하기
5.14정리

제 6장 미니 MVC 프레임워크 만들기
6.1 프런트 컨트롤러의 도입
6.1.1 프런트 컨트롤러 패턴
6.1.2 프런트 컨트롤러를 통해 회원 목록 출력
6.1.3 프런트 컨트롤러 만들기
6.1.4 MemberListServlet을 페이지 컨트롤러로 만들기
6.1.5 프런트 컨트롤러를 통한 회원 목록 페이지 요청
6.1.6 MemberAddServlet을 페이지 컨트롤러로 만들기
6.1.7 회원 등록 테스트
6.2 페이지 컨트롤러의 진화
6.2.1 프런트 컨트롤러와 페이지 컨트롤러의 호출 규칙 정의
6.2.2 호출 규칙 정의
6.2.3 페이지 컨트롤러를 위한 인터페이스 정의
6.2.4 페이지 컨트롤러 'MemberListServlet'을 일반 클래스로 전환
6.2.5 프런트 컨트롤러 변경
6.2.6 회원 등록 페이지 컨트롤러에 Controller 규칙 적용하기
6.2.7 회원 등록 요청을 처리하기 위해 DispatcherServlet 변경
6.2.8 회원 등록 페이지의 실행 테스트
6.3 DI를 이용한 빈 의존성 관리
6.3.1 의존 객체의 관리
6.3.2 의존 객체를 외부에서 주입
6.3.3 MemberDao와 DataSource
6.3.4 MemberListController에 MemberDao 주입
6.3.5 페이지 컨트롤러 객체들을 준비
6.3.6 프런트 컨트롤러의 변경
6.3.7 인터페이스를 활용하여 공급처를 다변화 하자
6.3.8 MemberDao 인터페이스 정의
6.4 리플랙션 API를 이용하여 프런트 컨트롤러 개선하기
6.4.1 신규 회원 정보 추가 자동화
6.4.2 DataBinding 인터페이스 정의
6.4.3 페이지 컨트롤러의 DataBinding 구현
6.4.4 프런트 컨트롤러의 변경
6.4.5 ServletRequestDataBinder 클래스 생성
6.4.6 리플랙션 API
6.5 프로퍼티를 이용한 객체 관리
6.5.1 실습 시나리오
6.5.2 프로퍼티 파일 작성
6.5.3 ApplicationContext 클래스
6.5.4 ContextLoaderListener 변경
6.5.5 web.xml 파일에 프로퍼티 경로 정보 설정
6.5.6 DispatcherServlet 변경
6.6 애노테이션을 이용한 객체 관리
6.6.1 애노테이션 활용
6.6.2 애노테이션 정의
6.6.3 애노테이션 적용
6.6.4 프로퍼티 파일 변경
6.6.5 ApplicationContext 변경
6.6.6 Reflections 라이브러리 준비
6.7 실력 향상 훈련
6.7.1 데이터베이스 모델
6.7.2 프로젝트 관리 시스템
6.7.3 훈련 1 프로젝트 목록 페이지 구현
6.7.4 훈련 2 프로젝트 등록 구현
6.7.5 훈련 3 프로젝트 변경 구현
6.7.6 훈련 4 프로젝트 삭제 구현
6.7.7 메뉴의 추가
6.8 정리

제 7장 퍼시스턴스 프레임워크의 도입
7.1 mybatis 소개
7.1.1 mybatis 사용하기
7.1.2 mybatis 사용 준비
7.2 mybatis 적용
7.2.1 mybatis 구동하기
7.2.2 mybatis 프레임워크의 핵심 컴포넌트
7.2.3 DAO에서 SqlSessionFactory 사용
7.2.4 SQL 맵퍼 파일 작성
7.2.5 ApplicationContext 변경
7.2.6 SqlSessionFactory 객체 준비
7.2.6 mybatis 설정 파일 준비
7.2.7 db.properties 파일 작성
7.3 SQL 맵퍼 파일
7.3.1 SQL 맵퍼 파일 작성
7.3.2 mybatis의 SELECT 결과 캐싱
7.3.3 SQL 문의 입력 매개변수 처리
7.4 mybatis 설정 파일
7.5 로그 출력 켜기
7.5.1 mybatis 설정 파일에 로그 설정 추가
7.5.2 로그 출력 테스트
7.6 동적 SQL의 사용
7.6.1 동적 SQL 엘리먼트
7.6.2 프로젝트 목록 페이지에 정렬 링크 추가
7.6.3 프로젝트 목록 컨트롤러 변경
7.6.4 ProjectDao 인터페이스 변경
7.6.5 엘리먼트의 활용
7.6.6 MySqlProjectDao 클래스 변경
7.6.7 동적으로 생성된 UPDATE 문 확인
7.7 실력 향상 훈련
7.7.1 훈련. 회원 관리에 mybatis 적용
7.8 정리

제 8장 스프링 IoC 컨테이너
8.1 스프링 IoC 컨테이너 사용 준비
8.1.1 의존성 주입(DI)과 역제어(IoC)
8.1.2 Gradle 프로젝트 준비
8.1.3 Gradle 프로젝트를 웹 프로젝트로 만들기
8.1.4 스프링 프레임워크 관련 라이브러리 가져오기
8.1.5 실습 프로젝트 정리
8.1.6 Gradle 빌드
8.2 Gradle 빌드 파일 분석
8.2.1 Gradle 플러그인이란?
8.2.2 Gradle Java 플러그인
8.2.3 jar 작업과 제어 속성 - jar {}
8.2.4 의존 라이브러리를 가져올 저장소 설정 - repositories {}
8.2.5 프로젝트에서 사용할 의존 라이브러리 지정 - dependencies {}
8.2.6 테스트 정보 설정 - test {}
8.2.7 아카이브 파일(.jar) 배포 - uploadArchives {}
8.2.8 Gradle Eclipse 플러그인
8.3 XML 기반 빈 관리 컨테이너
8.3.1 ApplicationContext 인터페이스
8.3.2 스프링 빈 컨테이너 ClassPathXmlApplicationContext 사용
8.3.3 name 속성으로 빈 이름 지정하기
8.3.4 익명 빈 선언
8.4 생성자와 프로퍼티 설정
8.4.1 호출할 생성자 설정
8.4.2 프로퍼티 설정
8.4.3 의 속성을 이용하여 생성자 및 프로퍼티 설정하기
8.5 의존 객체 주입
8.5.1 의존 객체 설정하기
8.5.2 개별 인스턴스 주입하기
8.6 컬렉션 값 주입
8.6.1 배열 프로퍼티의 값 주입
8.6.2 Map과 Properties 값 주입
8.7 팩토리 메서드와 팩토리 빈
8.7.1 스태틱 팩토리 메서드를 이용한 간접 객체 생성
8.7.2 인스턴스 팩토리 메서드를 이용한 간접 객체 생성
8.7.3 스프링 규칙에 따라서 팩토리 빈 만들기
8.8 빈의 범위 설정
8.8.1 싱글톤과 프로토타입
8.9 날짜 값 주입
8.9.1 SimpleDateFormat 클래스와 인스턴스 팩토리 메서드 활용
8.9.2 커스텀 프로퍼티 에디터 활용
8.10 애노테이션을 이용한 의존 객체 자동 주입
8.10.1 @Autowired 적용
8.10.2 @Autowired의 required 속성
8.10.3 @Qualifier로 주입할 객체를 지정하기
8.10.4 @Autowired + @Qualifier = @Resource
8.11 빈 자동 등록
8.11.1 @Component가 붙은 클래스를 자동으로 찾기
8.12 Gradle 적용
8.12.1 Gradle 적용 준비
8.12.2 Gradle 설정에 의존 라이브러리 추가
8.12.3 Gradle 빌드
8.12.4 톰캣 서버에 웹 애플리케이션 배치 및 실행
8.13 스프링 IoC 컨테이너 적용
8.13.1 mybatis 관련 의존 라이브러리 추가
8.13.2 Gradle 빌드
8.14 정리

부록




엄진영
1984년에 구입한 MSX 컴퓨터를 통해 베이직을 처음 접한후, 전자계산학을 전공하면서 본격적으로 프로그래밍 세계에 입문합니다. 1995년 현대전자에서 주최한 전국대학생/대학원생 공모전에서 웹 브라우저와 HTML 에디터를 출품하여 동상으로 입상하면서 웹 프로그래밍 세계에 빠지게 되었습니다.

2000년 닷컴 광풍이 불던 때 잠깐 벤처에 도전했다가 실패한 후, 현재는 개발과 강의를 넘나들고 있습니다. 개발이 그리우면 프로젝트에 뛰어들고, 여기서 겪었던 실무 개발 경험을 말하고 싶어 입이 근질거리면 다시 강의를 할 수밖에 없는 천상 개발자이며 강사인 사람입니다. 현재는 비트교육센터에서 자바 고급반을 이끄는 수석 강사로 있습니다.
등록된 서평이 없습니다.
SQL 전문가 가이드 [The Guide for SQL Professional](2013 Edition)...
한국데이터베이스진흥원
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
파이썬으로 데이터 주무르기...
민형기
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
C++ 프로그래밍...
윤성우
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
프리렉 출판사의 신간
뼈 때리는 C
시바타 보요 저
19,800원
(10%↓+5%)
 
인공지능을 위한 수학
이시카와 아키히코 저
22,500원
(10%↓+5%)
 
디자인 씽킹 플레이북
마이클 루릭, 페트릭 링크, 래리 파이퍼 저
19,800원
(10%↓+5%)
 
더 괜찮은 QA가 되기 위한 프랙티컬 테스트 자동화
정상미 저
27,000원
(10%↓+5%)
 
ZBrush 게임 캐릭터 디자인
김현 저
22,500원
(10%↓+5%)
 
이메일주소수집거부