책 소개
기초부터 실무까지 한 권으로!
최근 효율적으로 개발할 수 있는 웹 프레임워크가 많이 나왔지만, JSP와 서블릿은 자바 웹 개발에서 가장 중요하고도 기본이 되는 내용이다. 기초가 튼튼해야 웹 프로그램이 어떻게 동작하는지 쉽게 이해할 수 있다. 이 책은 JSP와 서블릿의 동작 원리부터 모델2 아키텍처, 데이터베이스 연동, 스프링 및 마이바티스 프레임워크 사용법, 메이븐 등 실무에 필요한 기술까지 총망라해서 설명한다. 또한 책의 후반부에서는 스프링 & 마이바티스 기반 도서 쇼핑몰을 직접 만들어 봄으로써 중고급 개발자로 발돋움할 수 있게 안내한다. 웹 개발이 처음인 사람부터 기초를 다지고 싶은 초급 개발자까지 이 책 한 권이면 자바 웹 개발의 전체적인 흐름을 잡을 수 있을 것이다.
자바 웹 개발, 현장 밀착 입문서는 따로 있다!
자바 웹 개발의 기본인 서블릿과 JSP를 알자
서블릿과 JSP를 알면 웹 애플리케이션이 어떻게 동작하는지 원리를 이해할 수 있다. 기초적인 자바 문법을 알고 있다면 서블릿과 JSP를 배워 자바 웹 개발의 기초를 다지자.
실무 개발에 필요한 스프링 프레임워크를 적절히 사용하자
애플리케이션의 규모가 커지면 보다 표준화된 방법으로 개발할 필요가 있다. 가장 많이 사용되는 프레임워크인 스프링의 사용 방법을 익혀 실무 개발에 한 걸음 더 다가서자.
도서 쇼핑몰 프로젝트를 직접 실습해보자
책에 나온 실습 프로젝트를 그대로 따라 하면 도서 쇼핑몰을 만들 수 있다. 앞에서 배운 기초 지식들을 적용하면서 스프링 기반의 도서 쇼핑몰을 만들어 보자.
* 대상 독자
- 자바 기초 문법을 알고 있으며 웹 개발에 입문하는 사람
- 기초를 다지고 싶은 초중급 자바 웹 개발자
※ 이 책의 예제 소스는 https://github.com/gilbutITbook/006895에서 내려받을 수 있습니다.
작가 소개
지은이 : 이병승
오랜 기간 실무에서 습득한 경험과 다양한 분야에 대한 관심을 바탕으로 이 책을 집필했습니다. ?소프트웨어를 하나 개발하려면 오랜 시간이 걸린다”는 생각을 깨고, 다른 분들이 제가 목표에 도달하는 데 걸린 시간의 절반만에 해낼 수 있기를 바라는 마음을 책에 담았습니다.
목 차
1.1 클라이언트 PC 기반 프로그램
1.2 클라이언트-서버 기반 프로그램 동작 방식
1.3 웹 기반 프로그램 동작 방식
2장 웹 프로그래밍과 JSP
2.1 웹 프로그래밍의 기본
2.2 정적 웹 프로그래밍
2.3 동적 웹 프로그래밍
2.4 JSP 프로그램의 특징
3장 개발 환경 설정하기
3.1 JDK 설치하기
3.2 JDK 환경 변수 설정하기
3.3 톰캣 컨테이너 설치하기
3.4 이클립스 IDE 설치하기
3.5 Java EE API 문서 즐겨찾기에 추가하기
3.6 비주얼 스튜디오 코드 설치하기
3.7 Oracle DBMS 설치하기
3.8 SQL Developer 설치하기
3.9 exERD 설치하기
4장 웹 애플리케이션 이해하기
4.1 웹 애플리케이션
4.2 웹 애플리케이션의 기본 구조
4.3 컨테이너에서 웹 애플리케이션 실행하기
4.4 이클립스에서 웹 애플리케이션 실습하기
4.5 웹 애플리케이션 서비스하기
5장 서블릿 이해하기
5.1 서블릿이란?
5.2 서블릿 API 계층 구조와 기능
5.3 서블릿의 생명주기 메서드
5.4 FirstServlet을 이용한 실습
5.5 서블릿 동작 과정
5.6 애너테이션을 이용한 서블릿 매핑
6장 서블릿 기초
6.1 서블릿의 세 가지 기본 기능
6.1.1 서블릿 기본 기능 수행 과정
6.2 < form > 태그 이용해 서블릿에 요청하기
6.3 서블릿에서 클라이언트의 요청을 얻는 방법
6.4 서블릿의 응답 처리 방법
6.5 웹 브라우저에서 서블릿으로 데이터 전송하기
6.6 GET 방식과 POST 방식 요청 동시에 처리하기
6.7 자바스크립트로 서블릿에 요청하기
6.8 서블릿을 이용한 여러 가지 실습 예제
7장 서블릿 비즈니스 로직 처리
7.1 서블릿의 비즈니스 로직 처리 방법
7.2 서블릿의 데이터베이스 연동하기
7.3 DataSource 이용해 데이터베이스 연동하기
7.4 DataSource 이용해 회원 정보 등록하기
7.5 회원 정보 삭제하기
8장 서블릿 확장 API 사용하기
8.1 서블릿 포워드 기능 사용하기
8.2 서블릿의 여러 가지 포워드 방법
8.3 dispatch를 이용한 포워드 방법
8.4 바인딩
8.5 ServletContext와 ServletConfig 사용법
8.6 load-on-startup 기능 사용하기
9장 쿠키와 세션 알아보기
9.1 웹 페이지 연결 기능
9.2 < hidden > 태그와 URL Rewriting 이용해 웹 페이지 연동하기
9.3 쿠키를 이용한 웹 페이지 연동 기능
9.4 세션을 이용한 웹 페이지 연동 기능
9.5 encodeURL( ) 사용법
9.6 세션을 이용한 로그인 예제
10장 서블릿의 필터와 리스너 기능
10.1 서블릿 속성과 스코프
10.2 서블릿의 여러 가지 URL 패턴
10.3 Filter API
10.4 여러 가지 서블릿 관련 Listener API
11장 JSP 정의와 구성 요소
11.1 JSP 등장 배경
11.2 JSP의 3단계 작업 과정
11.3 JSP 페이지 구성 요소
11.4 디렉티브 태그
12장 JSP 스크립트 요소 기능
12.1 JSP 스크립트 요소
12.2 선언문 사용하기
12.3 스크립트릿 사용하기
12.4 표현식 사용하기
12.5 JSP 주석문 사용하기
12.6 스크립트 요소 이용해 실습하기
12.7 내장 객체(내장 변수) 기능
12.8 JSP 페이지 예외 처리하기
12.9 JSP welcome 파일 지정하기
12.10 스크립트 요소 이용해 회원 정보 조회하기
13장 자바 코드를 없애는 액션 태그
13.1 인클루드 액션 태그 사용하기
13.2 포워드 액션 태그 사용하기
13.3 useBean, setProperty, getProperty 액션 태그 사용하기
14장 표현 언어와 JSTL
14.1 표현 언어란?
14.2 표현 언어 내장 객체(내장 변수)
14.3 표현 언어로 바인딩 속성 출력하기
14.4 커스텀 태그
14.5 JSTL 표준 태그 라이브러리(JSTL)
14.6 Core 태그 라이브러리 사용하기
14.7 Core 태그 라이브러리 실습 예제
14.8 다국어 태그 라이브러리 사용하기
14.9 한글을 아스키 코드로 변환하기
14.10 포매팅 태그 라이브러리 사용하기
14.11 문자열 처리 함수 사용하기
14.12 표현 언어와 JSTL을 이용한 회원 관리 실습
15장 JSP 페이지를 풍부하게 하는 오픈 소스 기능
15.1 JSP에서 파일 업로드
15.2 JSP에서 파일 다운로드
16장 HTML5와 제이쿼리
16.1 HTML5 주요 개념
16.2 HTML5 시맨틱 웹을 위한 구성 요소
16.3 제이쿼리 주요 개념
16.4 제이쿼리의 여러 가지 기능
16.5 제이쿼리 Ajax 기능
16.6 제이쿼리에서 JSON 사용하기
17장 모델2 방식으로 효율적으로 개발하기
17.1 웹 애플리케이션 모델
17.2 MVC 디자인 패턴
17.3 MVC를 이용한 회원 관리
17.4 모델2로 답변형 게시판 구현하기
18장 스프링 프레임워크 시작하기
18.1 프레임워크란?
18.2 스프링 프레임워크 환경 설정하기
19장 스프링 의존성 주입과 제어 역전 기능
19.1 의존성 주입하기
19.2 의존성 주입 실습하기
19.3 회원 기능 이용해 DI 실습하기
20장 스프링 AOP 기능
20.1 관점 지향 프로그래밍의 등장
20.2 스프링에서 AOP 기능 사용하기
21장 스프링 MVC 기능
21.1 스프링 프레임워크 MVC의 특징
21.2 SimpleUrlController 이용해 스프링 MVC 실습하기
21.3 MultiActionController 이용해 스프링 MVC 실습하기
21.4 MultiActionController 이용해 회원 정보 표시하기
21.5 요청명과 동일한 JSP 이름 표시하기
22장 스프링 JDBC 기능
22.1 스프링 JDBC로 데이터베이스와의 연동 설정하기
22.2 JdbcTemplate 클래스 이용해 회원 정보 조회하기
23장 마이바티스 프레임워크 사용하기
23.1 마이바티스란?
23.2 마이바티스 설치하기
23.3 마이바티스 이용해 회원 기능 실습하기
23.4 마이바티스 이용해 회원 정보 CRUD 실습하기
23.5 마이바티스의 동적 SQL문 사용하기
24장 스프링과 마이바티스 연동하기
24.1 스프링-마이바티스 연동 관련 XML 파일 설정하기
24.2 마이바티스 관련 XML 파일 설정하기
24.3 자바 클래스와 JSP 파일 구현하기
25장 스프링 트랜잭션 기능 사용하기
25.1 트랜잭션 기능
25.2 은행 계좌 이체를 통한 트랜잭션 기능
25.3 스프링의 트랜잭션 속성 알아보기
25.4 스프링 트랜잭션 기능 적용해 계좌 이체 실습하기
26장 스프링 애너테이션 기능
26.1 스프링 애너테이션이란?
26.2 스프링 애너테이션 이용해 URL 요청 실습하기
26.3 스프링 애너테이션 이용해 로그인 기능 구현하기
26.4 @Autowired 애너테이션 이용해 빈 주입하기
27장 메이븐과 스프링 STS 사용법
27.1 메이븐 설치하기
27.2 메이븐 환경 변수 설정하기
27.3 STS 설치하기
27.4 메이븐 프로젝트의 구조 및 구성 요소 살펴보기
27.5 스프링 프로젝트 만들기
27.6 STS 프로젝트 실행하기
27.7 STS 환경에서 마이바티스 실습하기
27.8 log4j 알아보기 9
27.9 타일즈 기능 살펴보기
27.10 JSP 페이지에 타일즈 적용하기
27.11 페이지 본문에 회원 목록창 나타내기
27.12 로그인 기능 구현하기
28장 스프링에서 지원하는 여러 가지 기능
28.1 다중 파일 업로드하기
28.2 썸네일 이미지 사용하기
28.3 스프링 이메일 사용하기
28.4 HTML 형식 메일 보내기
28.5 스프링 인터셉터 사용하기
28.6 인터셉터 사용해 요청명에서 뷰이름 가져오기
29장 스프링 REST API 사용하기
29.1 REST란?
29.2 @RestController 사용하기
29.3 @PathVariable 사용하기
29.4 @RequestBody와 @ResponseBody 사용하기
29.5 REST 방식으로 URI 표현하기
30장 스프링으로 답변형 게시판 만들기
30.1 기존 소스 코드 변경하기
30.2 마이바티스 관련 XML 파일 설정하기
30.3 타일즈 설정하기
30.4 게시판 목록 표시하기
30.5 새 글 추가하기
30.6 글상세창 구현하기
30.7 글 수정하기
30.8 글 삭제하기
30.9 새 글 추가 시 여러 이미지 파일 첨부하기
30.10 글상세창에 여러 이미지 표시하기
31장 도서 쇼핑몰 만들기
31.1 쇼핑몰 애플리케이션 설치하기
31.2 도서 쇼핑몰 기능 알아보기
31.3 메인 페이지 구현하기
31.4 상품 상세 구현하기
31.5 Ajax 이용해 검색 자동 완성 기능 구현하기
31.6 로그인과 회원 가입하기
31.7 장바구니 기능 구현하기
31.8 주문 기능 구현하기
31.9 마이페이지 기능 구현하기
31.10 상품 관리 기능 구현하기
31.11 주문 관리 기능 구현하기
32장 스프링 부트 사용하기
32.1 스프링 부트란?
32.2 스프링 부트 전용 STS 설치하기
32.3 스프링 부트 프로젝트 생성하기
32.4 스프링 부트 프로젝트 실행하기
32.5 스프링 부트 웹 페이지 만들기
32.6 그레이들 이용해 스프링 부트 실습하기
32.7 마이바티스 사용하기
32.8 타일즈 사용하기
32.9 인터셉터 사용하기
역자 소개
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |