간편결제, 신용카드 청구할인
카카오페이 3,000원
(카카오페이 결제 시 최대할인 3천원 / 5만원 이상 결제, 기간 중 1회)
PAYCO(페이코) 최대 5,000원 할인
(페이코 신규 회원 및 90일 휴면 회원 한정)
북피니언 롯데카드 30% (20,160원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (23,040원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (25,920원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (26,790원)
(최대할인 3만원 / 3만원 이상 결제)
Close

Head First Servlets & JSP 헤드 퍼스트 서블릿 & JSP

소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 510
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

32,000원

  • 28,800 (10%할인)

    1,600P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
  • 추가혜택
    배송정보
    주문수량
    감소 증가
    • 북카트 담기
    • 바로구매
    • 매장픽업
    • 이벤트/기획전(1)

    • 연관도서(15)

    • 사은품(3)

    출판사 서평

    더 깊게 더 빠르게 학습하는 특별한 방법

    최신 J2EE 1.5 버전 썬 인증 웹 컴포넌트 개발자(SCWCD) 시험을 준비하고 있나요?
    서블릿과 JSP을 배우기가 힘드시다구요?
    걱정 마세요. Head First Servlets & JSP가 곧바로 여러분의 머릿속에 집어 넣어드릴 겁니다. 이 보다 더 서블릿과 JSP를 빨리 그리고 깊게 배울 수 있는 방법은 아마 없을 겁니다. 그리고 가장 중요한 것은 배운 것을 바로 써 먹을 수 있는 능력까지 갖게 된다는 거죠. 왜 그 많은 비평가들이 이 책을 "책 장 넘기기에 바빴다"라고 하는지 이해가 갈 것입니다. 그렇다고 해서 시험보기 전날 반짝 공부하고, 다음 날 다 잊어버리는 그런 책은 절대 아닙니다.

    서블릿과 JSP를 어떻게 작성하는지, 컨테이너가 어떻게 돌아가는지, JSP 표현식은 어떻게 쓰는 것인지, JSP에서 무엇을 작성해서는 안 되는지, 배포 서술자는 어떤 식으로 만드는지, 애플리케이션 보안, 서버 단에서 디자인 패턴 등, 이루 말할 수 없는 내용들이 나옵니다. 꼭 시험 대비가 아니더라도, 책을 읽으면 이 모든 것을 가능하게 만드는 데 전혀 지장이 없습니다.

    왜 이 책을 톡톡 튀게 만들었나요?

    새로운 개념 앞에서 이를 붙잡고 낑낑거리고 있는 독자를 생각했습니다. 그러고 있기에는 시간이 너무 아깝다는 생각을 했기 때문이죠. 그래서 인지 과학을 이용한 학습 이론의 최신 연구 결과인 여러 감각 기관을 동원한 학습 방법을 바탕으로 비주얼하게 구성했습니다. 책만 펼치면 몇 분안에 잠이 들고 마는 까만 글씨만으로 채워진 방식이 아니라 여러분의 뇌가 작동하는 진짜 방식대로 책을 구성했습니다.
    인지 과학, 신경생물학, 학습심리학의 도움을 받은 Head First의 학습 원리는 뭐죠?
    음.. 한마디로 책을 읽으면 머릿속에 통째로 넣어주는 이론이죠 그래도 간단히 정리하면...

    "서블릿 기술에 대한 도입으로써 Head First Servlets & JSP 보다 더 나은 것이 없습니다. 당신이 자바로 웹 개발을 시작하길 원하거나 또는 쉽게 읽고 제대로 자바 웹 개발에 대해 공부하고 이해하고 싶다면, 서점에서 이 책을 뽑아 드는 것 말고는 딴 방법이 없을 것입니다"
    - 올리버 로엘, SCJP, SCJD, SCBCD, SCWCD, SCEA

    "수업 교재로 서블릿/JSP 책을 10권도 넘게 구매했지만, 어느 것 하나 맘에 딱 드는 것이 없었죠. 그러다가 지금 여러분 손에 쥔 바로 이 책, 보석과도 같은 교육적인 자료들로 구성된 Head First 책을 접한 다음부터 우리는 더욱 뛰어난 강사가 되었습니다"
    - 필립 마퀴드, 벨기에 브뤼셀에 있는 루프 팩토리(Loop Factory) 선임 강사

    "이제 자바 기술은 없는 데가 없을 정도죠? 모바일 폰, 카메라, 프린터, 게임기, PDA, ATM, 스마트 카드, 주유소, 운동 경기장, 의료 기기, 웹 캠, 서버 등. 현재 소프트웨어를 개발해야 하는데 자바를 모른다구요. 그렇다면 지금이 바로 Head First 바다에 빠져들 시간입니다"
    - 스콧 맥닐리, 썬 마이크로 시스템 회장, 사장 겸 CEO

    "조금 장난스럽기도 하면서 빠르게 읽을 수 있고, 재미있고, 매력적입니다. 읽다보면 정말 뭔가를 배울 수 있습니다"
    - 켄 아놀드(Ken Arnold), 전직 썬 마이크로시스템즈 선임 엔지니어
    『Java Programming Language』의 저자(자바 창시자인 제임스 고슬링(James Gosling)과 공저)

    "어제 이 책을 받아서 집에 오는 길에 읽기 시작했는데... 책에서 눈을 뗄 수가 없었습니다. 헬스 클럽까지도 들고 가서 책을 보고 있었는데, 책을 읽으면서 웃고 있는 제 모습이 정말 이상하게 보였을 것 같네요. 이 책은 정말 '쿨'한 책입니다. 재미있으면서도 중요한 내용들을 꼭 집어서 설명하고 있습니다. 정말 놀라운 책입니다"
    - 에릭 감마, IBM 수석 엔지니어(Distinguished Engineer), 『Design Patterns』저자

    1.비주얼하게 만들자
    단어만 있는 것보다는 그림을 사용하는 편이 기억하기도 좋고 학습 효과를 향상시키는데도 도움이 됩니다.(최대 89%까지 향상됨)

    2.개인적인 대화 형태의 문체를 사용하자
    개인적인 대화를 나누는 듯한 문체로 설명하면 학습 후 테스트에서 40% 정도까지 더 나은 점수를 받을 수 있다고 합니다.

    3.더 깊이 생각할 수 있도록 만들자
    뉴런을 활발하게 사용하지 않으면 머릿속에서 그리 특별한 일이 일어나지 않습니다. 항상 독자에게 문제를 풀고 결과를 유추하고 새로운 지식을 만들어낼 수 있는 동기, 흥미, 호기심, 사기를 불어넣을 수 있어야 합니다.

    4.독자가 계속해서 주의를 기울일 수 있도록 하자
    사람의 두뇌는 언제나 일상적이지 않은 것, 재미있는 것, 특이한 것 등에 주의를 기울입니다. 어려운 기술적인 내용이라도 지루하지만 않다면 두뇌는 새로운 내용을 훨씬 빠르게 받아들일 수 있습니다.

    5.독자들의 감성을 자극하자
    뭔가를 기억하는 능력은 그 내용이 얼마나 감성을 자극하는지에 따라 크게 달라집니다. "오 이럴 수가", "내가 해 냈어!"와 같은 감정을 느낄 수 있다면 배우는 과정에 크게 도움이 된다고 합니다.


    1 서블릿과 JSP는 어디에 쓰는 물건인고?
    웹 애플리케이션은 이제 막 달아 오른 시장입니다. 수많은 GUI 애플리케이션이 전 세계 컴퓨터에 깔려 있습니다. 그 수가 얼마인지 알 수가 없을 정도죠. 웹 개발자들은 GUI 애플리케이션이 공통적으로 가지고 있는 문제인, 배포의 문제에 대해서는 이제 고민할 필요가 없게 되었습니다. 웹 애플리케이션은 브라우저만 가지고 있다면 누구든 실행할 수 있기 때문이지요. 하지만 이제는 서블릿이나 JSP를 사용해야 합니다. 정적인 페이지도 1999년 전까지는 그런대로 쓸 만 했습니다. 이제 웹사이트(web site)에서 웹 애플리케이션(web app)으로 갈아 타야 할 시간입니다.

    2 웹 애플리케이션 아키텍처
    서블릿은 도움이 필요합니다. 요청이 들어오면, 누군가 서블릿을 초기화해서, 요청을 처리할 새로운 스레드를 만들어야 합니다. 그러면 그 누군가는 서블릿의 doPost() 또는 doGet() 메소드를 호출하겠지요. 여기에 또 하나 이 두 메소드의 매개변수로 들어가는 HTTP Request와 HTTP Response 객체를 누군가가 생성해서 서블릿으로 넘겨주어야겠지요. 또한 누군가는 서블릿이 생성, 소멸하는 시점에서 리소스 관리도 해야 합니다. 그 누군가가 누구냐 하는 것인데, 바로 컨테이너입니다. 이 장에서는 웹 애플리케이션이 컨테이너 안에서 어떻게 돌아가는지 살펴보겠습니다. 아울러 MVC(Model-View-Controller) 디자인 패턴과 첫 만남도 준비되어 있습니다.

    3 초 간단 미니 MVC 튜토리얼
    MVC 웹 애플리케이션을 만들어서 배포해봅시다. 자 이제 팔을 걷어 붙이고 HTML 코드, 서블릿 컨트롤러, 모델(일반적인 자바 클래스), XML 배포 서술자(DD), JSP 뷰를 작성해봅시다. 그 다음 빌드하고, 배포한 다음 잘 돌아가나 테스트 하면 되겠죠. 그러나 이것을 하려면 먼저 배포 환경을 세팅해야 합니다. 여기에다가 서블릿 및 JSP를 배포할 수 있는 설정 및 톰캣에서 요구하는 사항 등을 설정한다는 군요. 여기서 해보는 것은 사실 매우 작은 초보적인 애플리케이션입니다. 그러나 작다고 얕보면 안됩니다. 그래도 MVC 패턴을 사용한 애플리케이션이니까요.

    4 서블릿이 되어 보자
    서블릿은 평생을 서비스 클라이언트로 삽니다. 서블릿이 하는 일은 클라이언트로부터 요청을 받아 이에 응답하는 일입니다. 요청은 아주 단순한 "환영 페이지를 보여주세요(GET)"에서부터 "제 장바구니 결제해주세요"라는 복잡한 것까지 다양하죠. Request 객체에는 사용자의 중요한 데이터들이 함께 들어있기 때문에, 서블릿은 어떻게 이 정보를 읽어오고, 사용할 것인지를 알아야 합니다. Response 객체는 브라우저가 화면에 정보를 출력하거나, 아니면 바이트(Byte) 정보를 내려받는 것과 같은 정보 전송 역할을 하기에 서블릿은 데이터를 어떻게 전송하는가도 미리 알고 있어야 합니다. 이도 아니면 다른 페이지, JSP, 아니면 다른 서블릿으로 요청을 넘겨 주어야겠지요.

    5 웹 애플리케이션이 되어 보자
    서블릿은 독불장군이 아니다. 웹 애플리케이션은 서비스를 제공하기 위하여 많은 컴포넌트들과 함께 협업합니다. 모델, 컨트롤러, 뷰 등이 있으며, 파라미터, 속성 등도 있습니다. 여기에 도우미(Helper) 클래스들까지. 그런데 이들을 어떻게 해야 서로 묶어 세울 수 있나요? 만약 공유해야 할 정보가 있다면 어떻게 해야 되지요? 정보를 숨겨야 된다면? 스레드 안전(Thread-Safe)을 보장하려면? 이걸 어떻게 하느냐에 따라 개발자의 삶이 달라집니다

    6 대화 상태 유지하기
    웹 서버에는 메모리가 없습니다. 웹 서버는 응답을 보낸 다음에는 당신이 누구였는지조차 잊어버립니다. 다음 번에 다시 요청을 해도, 그가 이전의 당신이었다는 것을 모르죠. 즉 웹 서버는 당신이 이전에 요청했다는 사실을 기억하지 못한다는 말이며, 당신에게 응답을 보냈다는 것도 기억하지 못합니다. 그러나 프로그램을 사용하다 보면 여러 번의 요청에 걸쳐서 클라이언트와의 대화 내용(state)을 기억할 필요가 있습니다. 고객이 상품을 선택하여 장바구니에 넣고, 결제하는 동작을 하나의 요청으로 처리할 수는 없지 않습니까?

    7 JSP가 되어 보자
    JSP, 서블릿이 되다. 개발자가 서블릿을 만들지는 않았지만, 컨테이너는 알아서 JSP를 서블릿 소스코드로 변환한 다음, 컴파일하여 완전한 서블릿 클래스로 탈바꿈시킵니다. 컨테이너가 알아서 하지만, 그래도 개발자는 JSP가 서블릿 소스코드로 어떻게 변환되는지 알고 있어야 합니다. 개발자가 JSP에 자바 코드를 직접 코딩할 수 있지만, 때에 따라서는 그렇지 못한 경우도 있습니다. 페이지 개발자가 자바를 모른다면 어떻게 하겠습니까? 그럼 무엇으로 소스코드를 작성하나요? 무엇으로든 작성했다면 이를 어떻게 자바코드로 바꾸나요? 이 장에서는 여섯 가지 서로 다른 JSP 요소들에 대하여 알아보겠습니다. 물론 각각 다 나름의 사용 목적이 있으며, 자신만의 문법 체계(syntax)를 가지고 있습니다. 이제까지 여러분 JSP 코드에는 없었던 것을 배우게 됩니다. 기대하세요.

    8 스크립트가 없는 페이지
    스크립팅을 잊어 버리세요. 웹 페이지 디자이너가 자바를 알아야만 할까요? 이는 서버측 프로그래밍을 하는 자바 프로그래머가 그래픽 디자이너 역할을 해야 한다는 것과 같지 않을까요? 여러분이 팀 내에서 자바 프로그래머고, JSP 안에 자바 코드들이 널려 있다고 한다면, "악몽 같은 유지보수"란 말이 낯설지 않을 겁니다. 이제 스크립트가 없는 페이지를 작성한다는 것이 불가능하지 않습니다. JSP 스펙 2.0부터는 더욱 쉬운, 더욱 유연한 방식으로 가능하지요. EL(표현식 언어)에 감사할 따름이지요. XPATH와 자바 스크립트(역자주: JSP 스펙 2.0에는 ECMAScript라고 언급함)에서 영감을 받아 만든 EL은 웹 디자이너들이 매우 친근하게 사용할 수 있습니다. 하지만 EL에는 몇 가지 함정이 있습니다. EL은 자바와 비슷해 보이지만, 그렇지 않은 부분도 있다는 것입니다. 자바에서 쓰던 문법이 EL에서는 다르게 동작하는 경우가 있으니 조심해야 합니다!

    9 막강한 커스텀 태그
    가끔 EL이나 표준 액션으로 안 되는 것도 있지요. 배열에 들어있는 데이터를 루프로 돌려서, HTML 테이블 형식으로 하나씩 출력하고 싶다면 어떻게 코딩해야 할까요? 물론 스크립틀릿으로 짜면 for 루핑을 돌면서 출력하는 구문을 단 몇 초안에 짤 수 있겠죠. 하지만 우리 목표가 스크립팅을 없애는 거란 것 잊지 않으셨죠? 이와 같이 EL이나 표준 액션으로 구현하기 어려운 것을 해결하기 위해 커스텀 태그를 사용합니다. 기쁜 소식은 이미 개발자들이 가장 필요로 할 것 같은 것을 이미 누군가 JSP 표준 태그 라이브러리(JSTL)로 만들어놨다는 것입니다. 이 장에서는 커스텀 태그 사용법에 대하여 익히고, 다음 장에서는 이를 한번 만들어보죠.

    10 JSTL만으로 만족스럽지 않을 때
    가끔 JSTL과 표준 액션만으로 충분하지 못한 경우가 있죠. 뭔가 자신만의 것을 만들고 싶은데, 그렇다고 해서 스크립팅으로 되돌아 가고는 싶지 않을 때가 있습니다. 이럴 경우 여러분만의 태그 핸들러를 작성할 수 있습니다. 페이지 디자이너가 여러분이 만든 태그를 사용하지만, 실제 뒤에서 돌아가는 모든 작업은 여러분이 작성한 태그 핸들러 클래스에서 돌아가지요. 자신만의 태그 핸들러를 작성하는 방법에는 3가지가 있습니다. 물론 배워야 할 것이 많겠지요. 그 중 두 개는 JSP 2.0에 처음 도입된 것으로, 굉장히 편리한 기능으로 많은 도움이 될 것입니다(심플 태그 및 태그 파일).

    11 웹 애플리케이션을 배포해보자
    이제 개발한 웹 애플리케이션을 배포할 때가 되었군요. 개발한 페이지는 손 볼대로 손을 봐서 윤이 반짝반짝 나는군요. 코드 테스트는 이미 완료했고, 튜닝도 끝냈고… 프로젝트 종료 발표가 2주 앞으로 다가왔군요.
    이제 개발한 것들을 서버에 배포해야 할 텐데. 뭔 놈의 디렉토리는 이렇게 많고, 지켜야 할 규칙은 왜 이리도 많은지. 디렉토리 이름은 지었나요? 고객도 그 이름에 만족할까요? 고객이 원하는 대로 디렉토리를 만들면, 컨테이너가 제대로 찾아 갈까요?

    12 비밀스럽게, 안전하게
    지금 당신의 웹 애플리케이션이 위험에 처해 있다. 네트워크 곳곳에서 말썽을 피우는 문제아, 크랙커, 사기꾼, 범죄자들이 중요한 정보를 훔치거나, 이익을 취하거나 아니면 그냥 재미로 시스템을 뚫고 들어오려고 기를 쓰고 있습니다. 당신도 이런 나쁜 녀석들이 애써 구축한 온라인 상점 트랜잭션을 엿보거나, 신용카드 정보를 빼가는 것을 원치 않겠죠? 또 이런 녀석들이 특별 할인을 받기 위해 우수 고객도 아니면서 우수 고객인척 하는 것도 말이죠. 중요한 고객 정보를 빼내는 것도?

    13 막강 필터
    필터는 요청을 중간에서 가로챕니다. 요청(Request)을 중간에서 가로챌 수 있다는 것은 응답(Response)도 함께 가로챈다는 것을 의미합니다. 이 방식의 장점은 무엇보다도 서블릿이 눈치채지 못한다는 것이죠. 즉 클라이언트의 요청과 컨테이너가 서블릿의 service() 메소드를 호출하는 중간에 끼어 들기 때문에 무슨 일이 있었는지 모른다는 말이죠. 그런데 뭐 하려고 이러냐고요? 휴가라도 더 갔다 올 수 있나요. 당연하죠. 생각해보세요. 서블릿 수정하면서 보낸 그 많은 시간을... 이제 필터 하나만 수정하면 모든 서블릿에 다 적용이 되니 시간이 안 남겠어요. 예를 들어 모든 서블릿에 사용자가 날린 요청을 기록으로 남기고 싶다면 어떻게 하나요? 서블릿이 넘겨주는 출력 스트림에 무슨 작업을 하고 싶다면 어떻게 하나요? 필터를 사용하면 서블릿 코드에 손 하나 안 대고 이 모든 것이 가능합니다.

    14 엔터프라이즈 디자인 패턴
    누군가는 이 문제를 겪었습니다. 자바로 웹 애플리케이션 개발이 처음이라면, 운이 좋군요. 이제 J2EE 셔츠를 입고, 이 길을 걸어간 수 많은 개발자들이 흘린 땀과 지혜의 총화를 만나게 될 것입니다. J2EE 관련 패턴 그리고 일반 디자인 패턴 둘 다 현재 작성하고 있는 소스 코드에 응용할 수 있습니다. 웹 애플리케이션에서 가장 중요한 디자인 패턴인 MVC, 아주 폭 넓은 인기를 얻고 있는 프레임워크인 스트럿츠, 이를 사용하면 유연하며, 유지 보수성이 뛰어난 서블릿 프론트 컨트롤러를 만들 수 있습니다. 이 모든 것이 다 앞서 간 사람들의 덕분이란 것을 잊지 말고, 이제 여러분은 인생에 있어서 좀더 중요한 데 여러분의 시간을 보내세요.

    부록 A J2EE 1.5 SCWCD 대비 실전 모의고사

    목차

    1. 서블릿과 JSP는 어디에 쓰는 물건인고?: 서문
    학습 목표
    웹 서버와 클라이언트는 무엇을 하나요, 어떻게 대화하죠?
    2분짜리 HTML 가이드
    HTTP 프로토콜. 넌 누구냐!
    HTTP GET, POST 요청 및 HTTP 응답을 해부해보자.
    URL로 웹 페이지가 어디 있는지 어떻게 알지?
    웹 서버, 정적인 웹 페이지 그리고 CGI
    서블릿의 신비를 벗겨보자: 작성, 배포, 실행
    JSP는 'HTML에 자바를 넣을 순 없을까'라는 고민에서 탄생했다네요.

    2. 웹 애플리케이션 아키텍처: 개요
    학습 목표
    컨테이너의 정체는 무엇이며 개발자에게 어떤 의미이죠?
    코드는 어떤 모습일까?(무엇이 서블릿을 서블릿답게 만드는가)
    서블릿에 이름을 붙인 뒤 DD에서 URL과 매핑하기
    스토리: 밥은 지금 결혼정보 사이트를 만들고자 합니다(MVC 도입)
    MVC 디자인 패턴은 이런 문제를 해결합니다.
    실제 배포 서술자(DD)
    J2EE에는 무엇이 들어 있나

    3. 초 간단 미니 MVC 튜토리얼: 실전 MVC 애플리케이션
    학습 목표
    MVC 애플리케이션을 빌드해보자; 먼저 설계부터 하고...
    개발 및 배포 환경을 만들어보자
    제일 첫 화면 HTML 코드를 만들어 테스트하자
    배포 서술자(DD)를 만들다
    서블릿 컨트롤러를 생성, 컴파일, 배포, 테스트하다
    모델 컴포넌트를 디자인, 빌드, 테스트하다
    컨트롤러가 모델을 호출하도록 확장하다
    뷰 컴포넌트를 만든 다음 배포하다(이것 JSP입니다)
    서블릿 컨트롤러가 뷰 컴포넌트를 호출하도록 확장하다

    4. 서블릿이 되어 보자: 요청과 응답
    학습 목표
    컨테이너 안에서 서블릿의 일생
    서블릿 초기화와 스레드
    그러나 서블릿의 본연의 임무는 GET, POST 요청을 핸들링 하는 것입니다
    멱등이 아닌 요청 이야기.
    GET 요청을 보낼지 POST 요청을 보낼지 어떻게 결정합니까?
    파라미터 전송 및 사용하기
    지금까지는 Request였고… 이제 Response에 대해 알아보죠.
    Response 헤더에 값을 설정할 수도 값을 추가할 수도 있다네요.
    리다이렉트 대 Request 디스패치
    리뷰: HttpServletResponse

    5. 웹 애플리케이션이 되어 보자: 속성과 리스너
    학습 목표
    초기화 파라미터와 위기에서 구해 준 ServletConfig
    JSP에서 서블릿 초기화 파라미터는 어떻게 접근하나요?
    위기에서 구해 준 컨텍스트 초기화 파라미터
    ServletConfig와 ServletContext 비교
    그녀가 원한 건 ServletContextListener였다
    튜토리얼: 간단한 ServletContextListener 리뷰
    개발한 리스너 컴파일, 배포 그리고 테스트
    ServletContextListener에 대한 모든 것, 리뷰
    리스너 8개: 컨텍스트 이벤트 리스너 말고 그 외...
    정확히 속성이라는 것, 생존 범위라는 것이 무엇입니까?
    속성 API 및 속성의 어두운 면들...
    Context 생존 범위는 스레드-안전(thread-safe)하지 못하다?
    어떻게 하면 컨텍스트 속성을 스레드-안전하게 만들 수 있나요?
    동기화 해보겠다고요?
    세션 속성은 스레드-안전한가?
    SingleThreadModel의 폐해.
    단지 Request 속성과 지역 변수만이 스레드 안전합니다.
    Request 속성과 Request 디스패치

    6. 대화 상태 유지하기: 빈/엔티티 동기화
    학습 목표
    실제 대화라고 생각해봅시다(세션이 어떻게 작동하죠)
    세션 ID, 쿠키, 기타 세션에 대한 기초...
    이럴 때 나타난 우리의 해결사: URL 재작성
    세션이 오래되었네요: 음…그렇다면 어떻게 제거하면 될까?
    쿠키는 세션을 사용하기 위해서만 필요하나요? 아니면 다른 데에도 쓰나요?
    HttpSession 삶에 있어 주요 순간들.
    HttpSessionBindingListener를 벌써 잊은 건 아니죠?
    세션 이동
    리스너 예제

    7. JSP가 되어 보자: JSP 코드 작성하기
    학습 목표
    page 지시자와 "out"으로 초 간단 JSP 만들기
    JSP 표현식, 변수 및 선언
    이제 JSP가 만든 서블릿이 등장할 시간이 되었군요
    out만이 내장 객체는 아닙니다.
    JSP의 초기화와 일생
    이와 관련해서, 3가지 지시자에 대한 얘기를 좀더 해보죠.
    스크립틀릿이 왜 나쁘다는 거죠? EL 등장이요.
    잠깐만... 아직 살펴보지 않은 JSP 요소가 있는데요: 액션

    8. 스크립트가 없는 페이지: 스크립트가 없는 JSP
    학습 목표
    속성이 빈일 때
    표준 액션: useBean, getProperty, setProperty
    빈 참조에 다형성 기법을 사용할 수 있습니까?
    이때 혜성처럼 나타난 속성 param
    프로퍼티 변환
    표현식 언어(EL)가 답이다!
    도트(.) 연산자로 프로퍼티 및 맵 접근하기
    [] 연산자는 도트 연산자 보다 막강합니다.
    도트 연산자와 [] 연산자에 대한 기타 사항
    EL 내장 객체
    EL 함수와 널(null) 처리
    재사용 가능한 템플릿 조각들 - 2가지 "include"
    표준 액션
    그녀는 JSTL 태그를 몰랐던 것이다.(미리 보기)
    빈 관련 표준 액션 및 include 리뷰

    9. 막강한 커스텀 태그: JSTL 작성
    학습 목표
    스크립팅 없이 루핑 돌리기:
    태그로 조건문 만들기
    태그 사용하기
    , 컨텐츠를 포함하기 위한 3가지 방법
    포함할 컨텐츠 요리하기
    으로도 똑같은 일을 할 수 있죠
    하나면 하이퍼링크에 관련된 건 모두 다 할 수 있습니다.
    나만의 오류 페이지를 만들어보자.
    태그. 자바의 try/catch 문...
    JSTL에도 없는 태그가 필요하다면?
    태그에 주목해주세요.
    태그 몸체에 들어 갈 수 있는 것들
    태그 핸들러, TLD, JSP
    taglib 지시자에 있는 는 그냥 이름입니다. 위치가 아닙니다.
    JSP가 하나 이상의 태그 라이브러리를 사용한다면...

    10. JSTL만으로 만족스럽지 않을 때: 커스텀 태그 만들기
    학습 목표
    태그 파일: include처럼 행동하지만, 좀더 개선된 방식...
    컨테이너가 태그 파일을 찾는 곳
    심플 태그 핸들러
    태그 몸체에 표현식이 있다면...
    아직도 클래식 태그 핸들러를 배울 이유가 있으니...
    태그 핸들러 API
    초 간단 클래식 태그 핸들러
    클래식 태그 생명주기는 리턴값에 따라 달라집니다.
    IterationTag에 몸체를 반복할 수 있는 기능이 들어있다네요.
    TagSupport 메소드 디폴트 리턴값
    DynamicAttributes 인터페이스
    BodyTag에는 두 개의 메소드가 더 있으니...
    태그와 태그가 협업해야 할 때가 있나니...
    태그 핸들러에서 PageContext API 사용하기

    11. 웹 애플리케이션을 배포해보자: 웹 애플리케이션 배포
    학습 목표
    배포 핵심: 어떤 녀석이 어디에 있어야 하나요?
    WAR 파일
    서블릿 매핑은 어떻게 동작할까요?
    DD에 환영 파일 설정하기
    DD에 오류 페이지 설정하기
    DD에서 강제로 서블릿 초기화하기
    XML에 부합하는 JSP 만들기: JSP 문서

    12. 비밀스럽게, 안전하게: 웹 애플리케이션 보안
    학습 목표
    서블릿 보안의 4요소
    HTTP 환경에서 어떻게 인증하는가
    보안을 선언적으로 관리하는 이유 톱 10
    웹 애플리케이션 보안 관련 규정은 누가 정하나요?
    인가: 역할(롤)과 제약
    인증: 4가지 방식
    4가지 인증 방식
    안전하게 데이터 전송하기: HTTPS가 답이다.
    데이터 기밀성과 데이터 무결성을 분리하여 선언하기

    13. 막강 필터: 랩퍼와 필터
    학습 목표
    누가 요청을 날렸는지 기록하는 필터를 만들어보자.
    필터의 생명주기
    필터 선언 및 순서 정하기
    Response 출력을 압축하는 응답 필터
    랩퍼 기초
    실제 압축 필터 코드
    압축 랩퍼 코드

    14. 엔터프라이즈 디자인 패턴: 패턴과 스트럿츠
    학습 목표
    하드웨어 소프트웨어 문제 때문에 패턴이 있다.
    소프트웨어 디자인 원칙부터 살펴보죠...
    원격 모델 컴포넌트를 지원하기 위한 패턴
    JNDI와 RMI, 후다닥 살펴보기
    중간에 객체를 하나 집어 넣으면 어떨까요?
    서비스 로케이터로 비즈니스 델리게이트를 단순화하자
    트랜스퍼 오브젝트를 소개할 시간이군요.
    비즈니스 티어 패턴
    다시 살펴보자 MVC 패턴
    맞습니다. 한마디로 말해 스트럿츠(와 프론트 컨트롤러)입니다
    BeerAdvisor 애플리케이션을 스트럿츠로 리팩토링해보자
    패턴 훑어보기

    부록 A. 최종 모의고사

    저자소개

    케이시 시에라(Kathy Sierra) [저] 신작알림 SMS신청 작가DB보기
    생년월일 -
    출생지 -
    출간도서 2종
    판매수 10,079권

    케이시는 게임 설계를 하던 시절(Virgin, MGM, Amblin' 등에서 게임을 제작했습니다)부터 학습 이론에 관심이 있었습니다. UCLA 평생교육원의 엔터테인먼트 연구 프로그램에서 뉴 미디어 제작 강의를 하는 동안에 헤드 퍼스트 포맷의 상당 부분을 개발했습니다. 최근에는 썬 마이크로시스템즈에서 썬의 자바 강사들에게 자바 최신 기술을 가르치는 방법을 가르치는 수석 강사로도 활동하고 있습니다. 그녀는 버트 베이츠와 함께 이 책에 있는 개념을 적

    펼쳐보기

    저자의 다른책

    전체보기
    브라얀 바샴(Bryan Basam) [저] 신작알림 SMS신청 작가DB보기
    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    브라얀은 NASA에서 AI(인공지능) 기술을 이용한 진보적인 자동화 소프트웨어를 개발하는 것까지 포함하여 근 20년간 소프트웨어 개발에 몸 담아 왔습니다. 또한 객체지향 비즈니스 애플리케이션 개발을 하는 컨설팅 회사에 근무하기도 했습니다. 현재 브라얀은 자바 및 OO 디자인 패턴에 관련된 썬 교육 과정을 개발하고 있습니다. 그는 JDBC, J2EE, 서블릿 및 JSP 그리고 OO 소프트웨어 개발까지 광범위한 교육 과정 개발에 참여하고 있습니다. 여기에 현재 SCWCD 및 신규 버전 SCWCD 시험의 선임 디자이너 역할을 하고 있습니다.

    버트 베이츠(Bert Bates) [저] 신작알림 SMS신청 작가DB보기
    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    버트는 소프트웨어 개발자와 설계자로 활동하고 있지만 십여년 전부터 인공 지능에 관심을 두고 있었기 때문에 학습 이론과 학습 기술을 바탕으로 한 교육 및 훈련에 대해 지대한 관심이 있습니다. 그는 아주 오래 전부터 고객들에게 프로그래밍을 가르치고 있습니다. 최근에는 몇 가지 자바 자격증 시험의 개발팀에서 일하기도 했습니다.

    저자의 다른책

    전체보기
    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    중이 제 머리 못 깍는다고 했던가요? '이런 이런 책을 썼고, 번역했고, 무슨 무슨 프로젝트를 했으며...' 이렇게 과거로 현재를 대변해야 하는 것은 참으로 어려운 마무리라는 생각을 합니다.^^:;
    어쨌든... 몇 권의 책을 냈고 강의도 제법했습니다. 그리고 한빛미디어에서 『Head First Servlets & JSP』의 초판을 번역했습니다. 비록 힘들었지만, 꽤 반응이 좋어서 즐거운 작업이었죠.
    현재는 소위 '기업 전산실'이란 곳을 IT의 최전방이라고 굳게 믿으며, 오늘도 고객과 행복한 전투 중입니다. 10년 전에도 프로그래머였고, 10년 후에도 그러고 싶습니다. 아니 프로그래머를

    펼쳐보기

    역자의 다른책

    전체보기

    이벤트 기획전

    이 상품의 시리즈

    한빛미디어 Head First 시리즈(총 28권 / 현재구매 가능도서 16권)

    펼쳐보기

    이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

      리뷰

      9.0 (총 0건)

      기대평

      작성시 유의사항

      평점
      0/200자
      등록하기

      기대평

      10.0

      교환/환불

      교환/환불 방법

      ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

      교환/환불 가능 기간

      고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

      교환/환불 비용

      고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

      교환/환불 불가사유

      반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
      배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

      소비자 피해보상

      소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
      교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

      기타

      도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

      배송안내

      • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

      • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

      • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

      • 배송비

      도서(중고도서 포함) 구매

      2,000원 (1만원이상 구매 시 무료배송)

      음반/DVD/잡지/만화 구매

      2,000원 (2만원이상 구매 시 무료배송)

      도서와 음반/DVD/잡지/만화/
      중고직배송상품을 함께 구매

      2,000원 (1만원이상 구매 시 무료배송)

      업체직접배송상품 구매

      업체별 상이한 배송비 적용