메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

오래된 내 정보 속 옥의 티를 찾아라(2022.9.22~12.31) / 회원정보 UPDATE하고 선물도 받고!

웹 프로그래머를 위한 서블릿 컨테이너의 이해

리얼타임 eBook

집필서

판매중

  • 저자 : 최희탁
  • 출간 : 2012-09-28
  • 페이지 : 224 쪽
  • ISBN : 9788979149685
TAG :
초급 초중급 중급 중고급 고급
4.5점 (13명)
좋아요 : 24

웹 프로그래밍에 깊이를 더 하자!

JSP/서블릿은 웹 개발에 많이 사용하고 있지만 서블릿을 제대로 알고 사용하는 개발자는 많지 않습니다. 이는 대부분의 웹 개발자가 웹 애플리케이션 서버에서 제공하는 실행 환경 위에서 동작하는 코드를 작성하기 때문입니다. 그래서 웹 관련 문제가 발생하였을 때, 문제의 원인조차 파악하지 못하는 경우가 많아졌습니다. 이 책은 웹을 개발하면서 겪어 봤을 서블릿 컨테이너 관련 문제점과 궁금증을 속 시원하게 풀어줍니다. 서블릿의 동작원리, 개발 시 겪게 되는 문제점과 유의해야 할 사항, 서블릿 컨테이너 관련 팁 등을 통해서 웹 프로그래머로서의 레벨을 한 단계 높일 수 있을 것입니다.

대상 독자

  • 웹 프로그래머
  • 웹 프레임워크 기반인 서블릿을 자세히 알려는 개발자

출판사 리뷰

서블릿 컨테이너를 제대로 알면, 웹 프로그램이 쉬워진다.
웹 프레임워크 사용이 대중화되면서 웹 프로그래머가 서블릿을 사용하여 서비스를 구현할 기회가 점점 줄어들고 있습니다. 하지만 웹 프레임워크를 사용하여 구현한 결과물이 서블릿으로 변환되어 서블릿 컨테이너 위에서 처리된다는 점에서 서블릿과 서블릿 컨테이너에 대한 정확한 이해가 웹 프로그래밍에서 차지하는 중요성은 큽니다. 이 책은 웹 프레임워크에 가려 개발하는 동안 접하지 못한 서블릿 컨테이너에 대해서 알려줍니다. 이를 통해서 멀티 스레드, 데이터 처리 등 그동안 웹 프로그래밍하면서 궁금했던 서블릿 컨테이너를 이해할 수 있을 것입니다.

최희탁 저자

최희탁

서울대학교에서 수학을 공부하였으며 티맥스소프트에서 룰 엔진과 웹 애플리케이션 서버 개발에 참여했다. 현재는 NAVER에서 밴드 서비스 개발을 책임지고 있다. 어렸을 때부터 활자라면 종류를 가리지 않고 읽기를 즐겼으며 그 결과, 사마천의 『사기』와 『은하수를 여행하는 히치하이커를 위한 안내서』 시리즈가 뒤죽박죽 섞여있는 책장을 이고 지고 살고 있다.

Part 1 웹 서비스 기초
 
1장. 서블릿 컨테이너를 학습해야 하는 이유
  01. 웹 애플리케이션 서버의 역할
 
2장. HTTP 프로토콜의 이해
  01 .아파치 TCPMon
  02. HTTP 프로토콜의 간략한 소개
  03. 첫 번째 HTTP 메시지 분석 - 청크 인코딩
  04. 두 번째 HTTP 메시지 분석 - Content-Length 지정
  05. 매개변수를 이용한 GET 요청
  06. 매개변수를 동반한 요청 - POST 방식 (x-www-form-urlencoded)
  07. FORM은 POST 전용인가?
  08. 서블릿 컨테이너의 매개변수 처리 - GET/POST 방식의 차이점
  09. 바이너리 데이터 전송 - multipart/form-data
  10. 더 생각해 볼 문제
 
3장. 서블릿의 이해
  01. 서블릿이란 무엇인가
  02. GenericServlet
  03. HttpServlet
  04. Apache Tomcat
  05. 웹 애플리케이션 배치
  06. 더 생각해 볼 문제
 
Part 2 서블릿 컨테이너
 
4장. HTTP 프로토콜 분석기
  01. 메시지의 끝은 어디인가
  02. HTTP GET 요청 처리기
  03. 메시지 바디 처리 - Content-Length 인식
  04. 매개변수의 처리 - 쿼리스트링과 x-www-form-urlencoded
  05. 성능 개선 1 - 버퍼의 사용
  06. 성능 개선 2 - 더 나은 I/O
  07. 더 생각해 볼 문제
 
5장. 서블릿 관리자
  01. 웹 애플리케이션
  02. 인터페이스를 사용한 컴포넌트와 컨테이너의 분리
  03. HTTP 요청이 서블릿에 가기까지
  04. 서블릿 관리자
  05. 더 생각해 볼 문제
 
6장. 병렬처리
  01. Stop/suspend와 wait/notify 메서드
  02. 스레드 풀의 구성 요소 - jetty 6.x의 경우
  03. java.util.concurrent 패키지
  04. ThreadPoolExecutor의 사용
  05. 적정 병렬 진행 수
  06. 더 생각해 볼 문제
 
7장. BIO와 NIO의 비교
  01. 일반적인 프론트엔드 웹 서비스 구성
  02. 직관적이고 개념적인 I/O
  03. 좀 더 실제 물리적 전송과 근접한 I/O 방법
  04. 프론트엔드 서버로서의 서블릿 컨테이너
  05. NIO 기반의 HTTP 프로토콜 상태 기계 구현
  06. 더 생각해 볼 문제
 
8장. 서버 프로그램으로서의 서블릿 컨테이너
  01. 서블릿 컨테이너 분석하기
  02. 부팅과정에서 벌어지는 일들
  03. 생명주기 관리
  04. 남은 이야기
  05. 더 생각해 볼 문제
 
Part 3 남은 주제들
 
9장. Comet - HTTP 알림
  01. 단순한 시도 - 폴링
  02. 생각의 전환 - 스트림 방식
  03. Neurasthenia - Comet 지원 서블릿 컨테이너
  04. 두 개의 연결
  05. 더 생각해 볼 문제
 
10장. 남은 이야기들

실무를 통해 "웹브라우저 - Apache - Tomcat" 들간의 흐름이 궁금하였습니다.

실무경험으로 어렴풋이 알았던 내용들의 정리가 필요했다면 바로 이 책이라고 권하고 싶습니다.

만으로 1년 갓 채운 2년차 웹 프로그래머입니다.

인터넷 뒤지면 수없이 스크랩되서 내용에 별 차이도

없는 서블릿 컨테이너를 혼자 궁금해하던 차였는데

해당 책을 통해 궁금증을 해결할 수 있었습니다.


개인적으론 filter나 intercept같은 내용도 추가해주셨으면

하는 아쉬움이 있지만, 책 내용은 정말 좋은 것 같습니다.


개인적인 리뷰도 남겨서 주소 남겨봅니다..
http://leminity.tistory.com/23

어플리케이션이해를 위한 개념정리에도 좋은책이네요

어렴풋이 이해하고 있던 내용들을 잘 정리되어
기본기를 다시한번 다져보네요~

그간 웹 애플리케이션을 개발 하면서 WAS 가 어떻게 동작 하는지 왜 그렇게 설정을 해 주어야만 동작 하는지, 어떻게 서버와 클라이언트가 통신을 하는지 모르고 있었다. 이 책을 통해 WAS 가 어떻게 동작 하는지 와 WAS 와 클라이언트 가 어떠한 과정을 통해 사용자의 브라우저 화면에 그림과 글자를 뿌려 주는지 실습과 설명을 통해 이해 할 수 있었다.

그림과 함께 자세한 설명으로 인해 독자가 직접 실습을 해보지 않아도 결과를 알 수 있고 설명을 통해 전달 하고자 하는 내용을 명확히 전달 받을 수 있었다. 기술 적인 이야기의 책이지만, 딱딱하지도 어렵지 도 않았다는 느낌이 들었다. 실습은 누구나 쉽게 따라 할 수 있을 만큼 어렵지 않도록 배려 하여 IT관련 학생이나 일을 해봤던 사람은 충분히 따라 할 수 있다고 판단 된다. 전자책이라는 장점 때문에 소스를 긁어다가 붙여 넣어 더욱 쉽게 코드를 실행 해 볼 수 있었다.

이 책은 초급 WAS 엔지니어, 웹 프로그래머 라면 교양 서적으로 꼭 한번 읽어 볼 것을 추천 한다. 서블릿 컨테이너에 대해서 설명과 이해에 있어 군더더기 없이 깔끔한 책이라고 표현 하고 싶다. 책의 내용이나 구성이 산만하지 않아 책의 내용에 집중 할 수 있었다. 각 장의 마지막에 "더 생각해 볼 문제" 는 나에게 조금 어려운 내용이었다.

특정 운영체제의 환경만 대상으로 책을 쓰지 않은 점에서 다른 기술 서적들과의 차이가 있었다.
책을 읽는 동안 지루하지 않도록 각 장의 시작 부분에 명언이 적혀 있어 기술적인 내용과 명언을 함께 할 수 있어 좋았다. 책 중간에 명언을 넣어 주는 것은 굉장히 좋은 아이디어 라고 생각 한다. 기존에 많은 도서들도 그랬지만 앞으로 많은 책들이 명언을 넣어 주었으면 한다.

JSP를 공부하면서 서블릿은 단지 JSP의 원본 정도로만 생각하고 넘어가는 수준이였다.
많은 작업이 들어가는 불편한 코드 때문에 JSP가 서블릿으로 변환되어 컴파일 된다는 지식만 갖는게 전부였다.

그렇지만 보다 핵심적인 이해를 함으로써 상위 언어로 뻗어가는 이해가 더욱 깊어진다는 생각이 든다.

특히 HTTP Request가 Servlet으로 전달 되는 과정이라든지, Servlet관리자, Web Application에 대한 보다 자세한 이해를 얻을 흔치 않은 기회가 되었다. 나도 JSP 책을 참 꼼꼼히 수차례 읽었지만, 이러한 지식들은 얻을 수 없었다.
그런 틈새를 꼼꼼히 채워주는 좋은 틈새 보충물(?)이였다.

일단 서블릿 컨테이너라고 하면 막연한 생각만 들고 직접 설명하려면 어떻게 설명해야 할까라는 생각부터 드는데 그런 생각을 없애줄수 있는 책이라는 생각이 듭니다.
페이지 수는 많지만 느낌은 오히려 핸드북이라는 생각이 들정도로 간결하게 설명이 되어있습니다.
단지 책 내용을 구성함에 있어서 딱딱하다는 느낌을 많이 받았습니다. 소스코드랑 내용들이 비슷한 서식으로 되어있어서 구분을 줬으면 하는 생각이 들었습니다. 알록달록 까지는 아니지만 그래도 네모 박스에 색깔 조금 입혀줬으면 하는 ^^;;
그래도 ebook 답게 들고다니면서 읽기 수월하고 내용도 적당한것 같습니다.

웹 개발자로서 일을 하면서도 항상 이 서블렛이라는 게 찜찜했다.
얘도 분명히 JVM에서 돌아가는 프로그램일 뿐인데, 어쩐지 콘솔 프로그램과는 전혀 다른 규칙이 적용되는 것 같고, 시원스레 설명된 책도 찾기 힘들었다.
그래서 문제가 생기면 장님 문고리 잡듯 어찌어찌 해결해 왔는데, 하고도 찜찜했다.
마치 콘솔 프로그램과 웹 프로그램 사이에는 깊은 서블릿이라는 강이 펼쳐져 있는데 눈을 감았다 뜨면 건너편으로 건너만 갈 수 있을 뿐, 강은 한 번도 보지 못한 것과 같았다.
거기에 이 책이 다리가 되어 주었다.
초반의 꼼꼼한 HTTP 설명부터, 서블릿을 이해하기 위한 모든 기초설명까지 모두 담겨 있었다.
실습해 볼 수 있는 코드가 있는 것도 좋았고, 연습문제도 적절했다.
예제소스에 대한 github 링크 같은게 있으면 더 좋았을텐데 없는게 아쉬웠다.
지금 진행하는 프로젝트에 활용도 할 수 있을것 같고, 읽기만 했는데도 어쩐지 실력이 늘어난 것 같은, 좋은 책 특유의 착각이 들게 해 주는 책이었다.

정말 개발자도 아니고, 아파치/톰캣과 자바쪽은 실제 구현경험부재의 초보자의 입장으로 많은 자료를 습득하는중 이번 e-book을 접해보았습니다.
그래서 정말 초보자의 관점에서 내용의 흐름과 느낌을 적어봅니다.
e-book 앞에서 정말 군더더기 없이, 필요한 내용만 직접적으로 전달한다고 되어 있으며, 대상은 중급을 대상으로 한다고 합니다.
정말 그러합니다. 그래서 뒷부분에서는 paper 도서를 읽을때와는 달리 읽는 속도는 빠르지만, 경험 부재자나 초보자들인 전 난감하기도 하였습니다.
내가 이정도로 모르고 살았나? 란 생각과 공부를 좀더 해보고 다시한번 읽어보리라 다짐하게 되었습니다.

초기에서는 웹의 역사에 대해서 언급하면서, 실습위주로 전개해 나갑니다.
TCPMon을 사용하여, get/post 방식에 대해서 실제 패킷 분석을 통해 http의 응답/요청을 보여주고, 웹의 발전에 따른 응용들과 동작방식의 내부를 설명합니다.
서블릿을 직접 구현하며, 실제 동작 화면을 보여주며, 눈에 보여지듯이 그려보고 있습니다. 기존 한빛 paper북들의 장점을 반영되어 있음을 느낄수 있습니다.

구성측면에서도 각 챕터마다 "더 생각해볼문제"로 핵심요약보다는 진짜 문제를 던져주고 있습니다. - 답도 제시해 주면 좋겠습니다.

다만 개인적으로 지식이 부재한지라, 기존 타 paper 북들처럼 초보자들도 눈으로 보기만 해도 내가 해본듯한 느낌은 부족했습니다.
정말 중급자 이상 초점으로 핵심내용만 언급되서인지, 처음 1부 보다는 뒷부분으로 갈수록 너무 급하게 이야기가 전개되는듯한 느낌도 받았습니다.

기존 paper 북처럼 코드 부분은 강조와 주석처리와 각 소스설명은 더 추가되어야 하지 않을까 생각해봅니다.

레벨이 높은 개발자에게는 딱 핵심내용만 언급하는 짧은 시간에 학습할수 있는 좋은 자료인것은 확실한것 같습니다.

서블릿 컨테이너에 대해서는 web.xml 이나 server.xml 을 수정해서 쓰는 것만 알고 있었습니다. 그래서 늘 불안감을 안고 있었습니다. 페이지가 뜨지 않거나, 필요한 기능이 제대로 동작하지 않을 때, 내 코드 바깥 환경을 모르고 있으니 대응도 부분적이기 때문이죠.

이 책은 서블릿 컨테이너에 대해 차근차근 알아가도록 많이 배려했다는 점이 돋보입니다. 이미 아는 분들에게는 건너뛸 부분도 많겠으나, 웹 개발을 시작했다면 이 책을 먼저 읽어보라고 권하고 싶습니다.

책의 장점은 실습할 수 있도록 많은 배려를 해 두었다는 점입니다. TCPMon을 써서 HTTP 응답/요청을 실제로 살펴보고, 서블릿을 직접 코딩해보고, 추가해보면서 이렇게 달라지는 구나, 실감하도록 되어있습니다. 그리고 톰캣 소스 코드를 받아서 어떻게 동작하는 지 살펴볼 수 있게 가이드까지 하고 있습니다.(친절한 화면 스크린샷을 보시면 놀랄 듯!)
또한 기초적이 부분에 많이 공들여 설명하고 있습니다. 동시성 설명하면서 "13인의 아해"를 인용한 코드는 정말로 재미있었습니다:)
(저만 재미있었나요;;;)
그리고 챕터 끝에 있는 질문들이 생각할 거리가 참 많습니다. 저 혼자 말고 다같이 이야기 해 볼 공간이 있었으면 싶더군요.

이 책이 보충했으면 하는 점은 이렇습니다.
- code 부분은 syntax 입혀서 좀 더 보기 좋게 해주셨으면
- code 부분에 줄 번호 매겨서 보기 좋게 해주셨으면
- code 부분에 파일명을 매겨서 구분을 명확히 해주셨으면

그리고 출판사와 저자에게 바라는 점은 이렇습니다.
- 책을 다운 받는 페이지에 토론/Q&A 부분이 있긴하나 활성화가 되어있진 않은 것 같아서^^; 소스코드 github 페이지 하나 있으면 어떨까 싶습니다. 물론 한국에선 아직 코드 같이 살펴보고 주고 받으며 고치는 문화가 서양보다 비교적 덜 하긴 하지만, 그래도 개발자를 키워주는 한빛 출판사라면 한 번 해봄직 하지 않은 가 싶기도 하고요.ㅎㅎ

웹 개발 초보자로서, 즐겁게 읽었습니다. 리뷰할 기회를 주신 출판사에 감사를 드립니다. (주변에 추천도 막 날렸습니다+ㅁ+)

자바로 웹개발을 하게 되면,
모르는 것도 검색해서 어떻게 해서든지
되게는 할 수 있습니다만,

정작 문제가 생기면 원인을 찾기가 너무도 힘든경우가 많은데요.

저 처럼 기초가 부족한 개발자들에게는 너무도 좋은 책입니다.

http의 스펙부터 servlet이 어떻게 구성되는지
클래스로더의 개념도 알려주고있구요.

톰캣이나, 제티같은 서블릿 컨테이너에서 어떻게
요청을 받아서 처리하는지도 예제로 알수 있으니
매우 추천합니다.

책을 편집하실때 코드 부분이 조금 더 보기 쉽게,
되었으면 하는 부분은 있었습니다.

강조하는 부분을 좀 더 강조한다던지,
한줄이 너무길어서 2줄이 될때의 경우라던지
하는 부분은 조금 더 개선되면 더 깔끔하지 않을까싶습니다.

내용적인 부분은 기초책에서도 고급책에서도 보기가 힘든
딱 중간급의 내용인것 같습니다.

저자분께 감사드립니다.

톰캣의 스택을 좀 더 잘 이해할 수 있을 것 같아요~

작지만 실용적이고 당장 쓸 수 있는 책 입니다. 추천합니다.

최고입니다. 일전에 XML 처리 서버 문제로 고생한 적 있습니다. 서버가 요청은 받는데 이후 계속 대기 상태에 빠져 타임 아웃되더군요. 그 때 여기저기 검색 긁어 반 어거지로 문제를 해결했었는데, 이 책을 보고나서야 무엇이 원인이었는지 이해할 수 있었습니다. 정말 감사합니다!

부록/예제소스
자료명 등록일 다운로드
DOWNLOAD 예제소스 2021-09-27 다운로드
결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
웹 프로그래머를 위한 서블릿 컨테이너의 이해
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
웹 프로그래머를 위한 서블릿 컨테이너의 이해
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
웹 프로그래머를 위한 서블릿 컨테이너의 이해
구입처*
구입일*
부가기호*
부가기호 안내

* 인터넷 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실