スッキリわかるサーブレット&JSP入門

スッキリわかるサーブレット&JSP入門

¥2,800+税

品種名
書籍
発売日
2014/5/7
ページ数
536
サイズ
A5判
著者
国本 大悟 著
ISBN
978-4-8443-3580-1

Webアプリ開発のスキルを習得して、ワンランク上のJavaエンジニアになろう!

Javaの入門書で人気ナンバー1のスッキリわかるシリーズから、新たにサーブレット&JSPの入門書が登場! シリーズ共通の登場キャラ「湊くん」が再び学びの現場に帰ってくる!?
業務用Webシステム開発で幅広く利用されている「サーブレット」と「JSP」は、非常に強力である一方、独学が難しい技術です。HTMLやHTTPといった各種仕様、セッションやスコープをといった概念など、必要な知識は多岐に渡りますが、本書はそれらを仕組みやコツも含め、一歩ずつ着実に習得できるよう1冊にまとめました。シリーズで好評の「エラー解決・虎の巻」もしっかり収録していますので、つまずいても安心。姉妹書『スッキリわかるJava入門』『同 実践編』『スッキリわかるSQL入門』と合わせて本書を読めば、Javaとデータベースを駆使した本格的Webアプリケーションを自由に開発できる、ワンランク上のJavaエンジニアになれること間違いなし!

 

※ 本書掲載のソースコードは【ダウンロード】よりご取得いただけます

「読者アンケートに答える」「読者プレゼントに応募」の場合もこちらをご利用ください。

アンケートに答える

書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。

詳細

著者からのメッセージ

 著者は新入研修をはじめ、多くのエンジニアの方々の「サーブレット/JSP」の学習を10年近くお手伝いしています。なかなか思うように学習が進まず苦悩する姿を目にするにつけ、なんとか学習を楽しくサポートできないものかと苦悩する中、生まれたのが本書になります。
 執筆に際しては、特に以下の3点を意識しています。

1. 楽しく」学べる
 サーブレット/JSPはJavaの応用分野のためかその参考書は解説が難しいものが多いです。本書は、『スッキリわかるJava入門』シリーズで好評の親しみやすいイラストと柔らかい文章で仕上げています。MVCモデルといった初心者がつまずきやすい分野も、楽しくマスターできると思います。

2.「ひとり」でも学べる
 サーブレット/JSPの学習の難しさは文法ではなく、トラブルシューティングにあると感じています。本書では、多くの若手エンジニアがよく起こしてしまうエラーやトラブルの例とそれらの解決方法をできるだけ多く掲載し、1人でもトラブルシューティングができるようにしました。

3.「実務で役立つ」内容を学べる
 サーブレット/JSPに関するすべての知識や技術を1冊の本にすることは非常に困難です。本書では、サーブレット/JSPの開発を行うプロジェクトに配属予定の方に向けて、配属前に学習しておくとよい内容を重点的に解説しています。

 本書を通じて、読者の皆様がサーブレット/JSPのおもしろさに出会い、ひとつ上のエンジニアを目指す第一歩を踏み出すお手伝いができれば、著者としてこれ以上の喜びはありません。

著者プロフィール

国本大悟(くにもと・だいご)

文学部・史学科卒。大学では漢文を読みつつ、IT系技術を独学。会社でシステム開発やネットワーク・サーバ構築等に携わった後、フリーランスとして独立する。システムの提案、設計から開発を行う一方、プログラミングやネットワーク等のIT研修に力を入れており、大規模SIerやインフラ系企業での実績多数。著者は『スッキリわかるJava入門』(インプレスジャパン)。

ページイメージ

クリックすると大きい画像でご覧いただけます

関連書籍

好評発売中

スッキリわかるJava入門 実践編 第2版

開発現場の知識が着実に身に付く、Javaプロフェッショナル養成書の決定版!

好評発売中

Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング

新Javaの使い方を一挙に解説!Java 8/7をキャッチアップ

好評発売中

スッキリわかるJava入門 第2版

Javaの「どうして?」「なぜそうなる?」が必ずわかる入門書の決定版!

好評発売中

APIデザインの極意 Java/NetBeansアーキテクト探究ノート

NetBeans開発プロジェクト10年超の蓄積! API設計の経験や考察をまとめた一冊

ダウンロード

  •  本書掲載のソースコード(Zip形式。展開してお使いください)

お詫びと訂正

誤記のためにご迷惑をおかけし、誠に申し訳ございません。

  • 12ページ 本文1行目
    • [誤]本書に掲載しているすべてのソースコード
    • [正]本書に掲載している主要なソースコード
    • 備考:

      ※ダウンロードデータは、本文で解説しているソースコードになります。練習問題のソースコードは含まれていません。

    • 【 第3刷にて修正 】
  • 104ページ 練習3-1、ソースコードの10行目
    • [誤]respopnse
    • [正]response
    • 【 第4刷にて修正 】
  • 113ページ 図4-3内
    • [誤]<%! ・・・ %>
    • [正]<%--・・・--%>
    • 【 第2刷にて修正 】
  • 115ページ 上の構文囲み「JSPコメント」内
    • [誤]<%!-- ・・・ --%>
    • [正]<%--・・・--%>
    • 【 第2刷にて修正 】
  • 115ページ 中段、リスト番号なしのリストの1行目
    • [誤]<%!-- 変数のサンプル --%>
    • [正]<%-- 変数のサンプル --%>
    • 【 第2刷にて修正 】
  • 118ページ コラム中、下のリストの1行目
    • [誤]<%!-- JSPコメント --%>
    • [正]<%-- JSPコメント --%>
    • 【 第2刷にて修正 】
  • 132ページ リスト5-1の1行目
    • [誤]<form action="/example/formSampleServlet" method="post”>
    • [正]<form action="/example/FormSampleServlet" method="post">
    • 【 第5刷にて修正 】
  • 155ページ ページ中程構文囲み「リクエスト先の指定に「?名前 =値」を付ける」の2行目
    • [誤]<form action="リクエスト先?名前=値" method="get">
    • [正]<form action="リクエスト先?名前=値" method="post">
    • 【 第5刷にて修正 】
  • 155ページ ページ中程構文囲み「リクエスト先の指定に「?名前 =値」を付ける」の5行目
    • [誤]※GETリクエスト時のみ可能
    • [正]※フォームを使う場合、method="post"とする
    • 【 第5刷にて修正 】
  • 155ページ ページ下端「・フォームで送る例」リスト内2行目
    • [誤]method="get">
    • [正]method="post">
    • 【 第5刷にて修正 】
  • 177ページ 下から5行目。2つ目の例
    • [誤]リダイレクト先が同じサーバである例(JSP ファイルの場合)
    • [正]リダイレクト先が同じサーバである例(サーブレットクラスの場合)
    • 【 第5刷にて修正 】
  • 197ページ リスト7-2、6行目、9行目
    • [誤]リクエストコープ
    • [正]リクエストスコープ
    • 【 第4刷にて修正 】
  • 199ページ リスト7-3の1行目
    • [誤]<%@ page import="bean.Human" %>
    • [正]<%@ page import="model.Human" %>
    • 【 第5刷にて修正 】
  • 202ページ 図7-6、図の下方
    • [誤]healthCheck.jsp
    • [正]healthCheckResult.jsp
    • 備考:

      ※次の増刷(6刷)で対応予定

  • 202ページ 図7-6、右下
    • [誤]リクエストコープ
    • [正]リクエストスコープ
    • 【 第4刷にて修正 】
  • 205ページ リスト7-6 34、35行目
    • [誤]health.setHeight Double.parseDouble(height);

      health.setWeight Double.parseDouble(weight);
    • [正]health.setHeight (Double.parseDouble(height));

      health.setWeight (Double.parseDouble(weight));
    • 【 第2刷にて修正 】
  • 205ページ リスト7-6、29行目と30行目のコメントが逆
    • [誤]String weight = request.getParameter("weight"); // 身長

      String height = request.getParameter("height"); // 体重
    • [正]String weight = request.getParameter("weight"); // 体重

      String height = request.getParameter("height"); // 身長
    • 【 第4刷にて修正 】
  • 210ページ 図7-7、右半分、2個所
    • [誤]リクエストコープ
    • [正]リクエストスコープ
    • 【 第4刷にて修正 】
  • 211ページ 図7-8、右半分、2個所
    • [誤]リクエストコープ
    • [正]リクエストスコープ
    • 【 第4刷にて修正 】
  • 222ページ 「セッションスコープからインスタンスを削除する」の構文内
    • [誤]request.removeAttribute("属性名")
    • [正]session.removeAttribute("属性名")
    • 【 第4刷にて修正 】
  • 222ページ リスト8-2の1行目
    • [誤]<%@ page import="bean.Human" %>
    • [正]<%@ page import="model.Human" %>
    • 【 第5刷にて修正 】
  • 249ページ 9.1.3の1行目
    • [誤]・・・javax.servlet.http.ServletContextインスタンスです。
    • [正]・・・javax.servlet.ServletContextインスタンスです。
    • 【 第5刷にて修正 】
  • 250ページ 「アプリケーションスコープを取得する」の一つ目の米印
    • [誤]javax.servlet.http.ServletContextをインポートする必要がある。
    • [正]javax.servlet.ServletContextをインポートする必要がある。
    • 【 第5刷にて修正 】
  • 252ページ リスト9-2の1行目
    • [誤]<%@ page import="bean.Human" %>
    • [正]<%@ page import="model.Human" %>
    • 【 第5刷にて修正 】
  • 255ページ リスト9-3
    • [誤]1 package model;

      2

      3 public class SiteEV {
    • [正]1 package model;

      2 import java.io.Serializable;

      3

      4 public class SiteEV implements Serializable {

      ※以降行番号ずれる
    • 【 第5刷にて修正 】
  • 273ページ 10.2.4 デフォルトページの最初の会話文2行目
    • [誤]dokoTsubu/index.jsp やな...。
    • [正]docoTsubu/index.jsp やな...。
    • 【 第4刷にて修正 】
  • 274ページ 下から4行目
    • [誤]http://localhost:8080/example/docoTsubu/
    • [正]http://localhost:8080/docoTsubu/
    • 備考:

      ※次の増刷(6刷)で対応予定

  • 317ページ 本文下から3行目のURL
    • [誤]http://localhost:8080/examle/CounterServlet
    • [正]http://localhost:8080/example/CounterServlet
    • 【 第5刷にて修正 】
  • 337ページ ページ中程「リスナー」項目の2行目
    • [誤]フィルタを利用する。
    • [正]リスナーを利用する。
    • 【 第5刷にて修正 】
  • 348ページ includeディレクティブの囲みの中
    • [誤]<%@ include file="インクルード"先 %>
    • [正]<%@ include file="インクルード先" %>
    • 備考:

      ※次の増刷(6刷)で対応予定

  • 366ページ 本文下から3行目
    • [誤]紹介します(リスト12-4)
    • [正]紹介します(リスト12-6)
    • 【 第3刷にて修正 】
  • 404ページ リスト13-9
    • [誤]ダウンロードデータ「3580.zip」にリスト13-9の「Main.java」が含まれていない
    • [正]ダウンロードデータを「3580_ver1.2.zip」にアップデートし「Main.java」を追加。
  • 405ページ リスト13-9の37行目(ページ一番下の行)
    • [誤]respose.sendRedirect("/docoTsubuDAO/");
    • [正]respose.sendRedirect("/docoTsubu/");
    • 【 第3刷にて修正 】
  • 406ページ リスト13-9 Main.java(servlet パッケージ)の63-70行目
    • [誤]備考参照(登場順の入れ替え)
    • [正]
    • 備考:

      【誤】
      63     // つぶやきリストを取得して、リクエストスコープに保存
      64     GetMutterListLogic getMutterListLogic =
               new GetMutterListLogic();

      65     List<Mutter> mutterList = getMutterListLogic.execute();
      66     request.setAttribute("mutterList", mutterList);
      67     } else {
      68       // エラーメッセージをリクエストスコープに保存
      69       request.setAttribute("errorMsg",
                   "つぶやきが入力されていません");
      70     }

      【正】
      63     } else {
      64       // エラーメッセージをリクエストスコープに保存
      65       request.setAttribute("errorMsg",
                   "つぶやきが入力されていません");
      66     }
      67     // つぶやきリストを取得して、リクエストスコープに保存
      68     GetMutterListLogic getMutterListLogic =
               new GetMutterListLogic();

      69     List<Mutter> mutterList = getMutterListLogic.execute();
      70     request.setAttribute("mutterList", mutterList);

    • 【 第4刷にて修正 】
  • 407ページ リスト13-9と会話の間に下記を追加
    • [誤]※誤記ではありませんが、12章がJSPメインということで興味がなく省略される方への補足として下記を追加
    • [正] main.jspがリスト12-6(P366)ではなく、リスト10-17(P304)の状態の場合は、リクエストスコープからつぶやきリストを取得するように変更する必要があります。

      ─────────

      List<Mutter> mutterList = (List<Mutter>) request.getAttribute("mutterList");

      ─────────
    • 【 第3刷にて修正 】
  • 418ページ 本文上から3行目
    • [誤]プログラミグ
    • [正]プログラミング
    • 【 第3刷にて修正 】
  • 514ページ 図D-3のWEB-INF下のファイル名
    • [誤]xeb.xml
    • [正]web.xml
    • 【 第5刷にて修正 】
  • 528ページ 索引「記号」の2行目
    • [誤]<%!-- --%> → JSPコメント
    • [正]<%-- ~ --%> → JSPコメント
    • 【 第2刷にて修正 】

お問い合わせ

書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。

お問い合わせフォーム