15時間でわかるJava集中講座

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

ダウンロード

電子版用ダウンロード

電子版用に,付録DVD-ROM収録コンテンツを以下から入手できます。ダウンロードには電子版本紙に掲載されているIDとパスワードが必要です。

補足情報

(2015年6月9日更新)

P.224 リスト8.14:Main.java
リストを実行するとimport部分にエラーが出る件について

エラーの解消には,新しくライブラリをダウンロードして,適切にビルドパスを設定する必要があります。

設定は以下の手順で行います。

  1. デスクトップの[workspace]-[chapter08]を開き,[lib]ディレクトリを作成する。

    fig1.jpg

  2. Apache Commons Loggingのダウンロードサイトへアクセスする。(注1

  3. [Apache Commons Logging 1.2]‐[Binaries]の[commons-logging-1.2-bin.tar.gz]をクリックしてダウンロード(保存)する。

    fig2.jpg

  4. デスクトップの[guest のホーム]‐[Downloads]‐[commons-logging-1.2-bin.tar.gz]を順に開くと,デスクトップに[commons-logging-1.2-bin.tar.gz]のアイコンが表示される。

    fig3.jpg

  5. デスクトップの[commons-logging-1.2-bin.tar.gz]‐[commons-logging-1.2] を1.で作成した[lib]ディレクトリにコピー(ドラッグ&ドロップ)する。

    fig4.jpg

  6. Eclipse を起動し,[chapter08]‐[lib]を開き,[commons-logging-1.2.jar]を右クリックする。続いて,メニューの[ビルド・パス]‐[ビルド・パスに追加]を選択する。

    fig5.jpg

以上の操作を行うと,プロジェクトに[参照ライブラリー]が追加され,エラーが解消されます(注2)。

fig6.jpg

注1)
仮想環境の時刻が著しくずれている場合,ブラウザでの検索時にSSL証明書エラーが発生する可能性があります。
注2)

[chapter08]‐[lib]が表示されない場合は,[chapter08]を右クリックして,メニューより[更新]を選択します。

このエラーを修正した学習環境は以下よりダウンロードいただけます。

ダウンロード
Kasou.zip

お詫びと訂正(正誤表)

「15時間でわかるJava集中講座」(2014年12月5日 初版 第1刷発行)におきまして,下記の誤りがございました。お買い上げ頂いた読者の皆様ならびに関係各位に謹んでお詫び申し上げますとともに,当該箇所につきましては訂正内容に読み換えてくださいますよう,お願い申し上げます。

(2015年6月9日更新)

P.025 プログラムの実行結果

Hello,world!
Hello,World!

P.029 1-3-2見出し

1-3-2 EclipseでHello,world!
1-3-2 EclipseでHello,World!

P.030 1行目

~確認し,[完了]を押すと,~
~確認し,[終了]を押すと,~

P.81 リスト3.15

for (int i = 3; i < testNumber; i = i + 2) {
if (testNumber % i == 0) {
return false;
}
return true;
}
}
for (int i = 3; i < testNumber; i = i + 2) {
if (testNumber % i == 0) {
return false;
}
}
return true;
}
}

P.110 ソースコードへの注釈

Integer c = new Integer(10);  true
System.out.println(a == b);    true
System.out.println(a == c);    false
System.out.println(b == c);
Integer c = new Integer(10);
System.out.println(a == b);   true
System.out.println(a == c);   true
System.out.println(b == c);   false

                                            数値同士を比較
System.out.println(a == b.intValue());      数値同士を比較
System.out.println(a == c.intValue());      インスタンスの同一性を比較
System.out.println(b == c);
System.out.println(a == b.intValue());       数値同士を比較
System.out.println(a == c.intValue());       数値同士を比較
System.out.println(b == c);                  インスタンスの同一性を比較

P.111

Integer a = null;
System.out.println(a.intValue(10));
Integer a = null;
System.out.println(a.intValue());

Integer a = null;
if(a != null){
    System.out.println(a.intValue(10));
}
Integer a = null;
if(a != null){
    System.out.println(a.intValue());
}

P.213

package jp.co.example.java15;

import java.util.Date;

public class Main{
package jp.co.example.java15;

public class Main{

P.275

greeter.login(guest);
void login(Account guest);

P.365 リスト13.28

<div class="col-md-2">
<img src="<c:url value="${itemStock.item.picture}" />"
 id="itemImage-<c:out value="${itemStock.item.id}"/>"/>
</div>
<div class="col-md-2">
<img src="<c:url value="${itemStock.item.picture}" />"
 id="itemImage-<c:out value="${itemStock.item.id}"/>" class="img-rounded"/>
</div>

P.406 リスト15.7

</c:if>
</c:forEach>
<button class="btn" type="submit" id="itemAddCart-<c:out value=
"${itemStock.item.id}"/>">カートに追加</button>
</select>
</form>
</c:if>
</c:forEach>
</select>
<button class="btn" type="submit" id="itemAddCart-<c:out value=
"${itemStock.item.id}"/>">カートに追加</button>
</form>

P.407 リスト15.9

    @FormParam(item-id") int itemId, @FormParam("amount") int amount
    @FormParam("token") String token){
String usetId = request.getSession().getId();
String serverToken = makeToken(userId);

if (serverToken == null || !(serverToken.equals(token))) {
    messages.add("カートへは注文画面から注文してください。");
}
:
:
:
}
    @FormParam(item-id") int itemId, @FormParam("amount") int amount,
    @FormParam("token") String token){
String userId = request.getSession().getId();
CartService cartService = getCartService();

CartAddResult result = cartService.addCart(userId, itemId,amount);
Cart cart = cartService.getCart(userId);
List<String> messages = new ArrayList<>();

String serverToken = makeToken(userId);

if (serverToken == null || !(serverToken.equals(token))) {
messages.add("カートへは注文画面から注文してください。");
}
:
:
:
}

P.408 リスト15.10

private String makeToken(final String sessionId) throws
NoSuchAlgorithmException {
    String result = null;
    MessageDigest messageDigest;

    try {
        messageDigest = MessageDigest.getInstance("SHA-256");
        messageDigest.update(sessionId.getBytes());
        result = toHexString(messageDigest.digest());
    } catch (NoSuchAlgorithmException e) {
        // TODO Webアプリのログ出力に合わせてログ出力をすること
        e.printStackTrace();
        throw e;
    }

    return result;
}
private String makeToken(final String sessionId) {
    String result = null;
    MessageDigest messageDigest;

    try {
        messageDigest = MessageDigest.getInstance("SHA-256");
        messageDigest.update(sessionId.getBytes());
        result = toHexString(messageDigest.digest());
    } catch (NoSuchAlgorithmException e) {
        // TODO Webアプリのログ出力に合わせてログ出力をすること
        e.printStackTrace();
        throw new RuntimeException(e);
    }

    return result;
}

Kaitou.pdf
P.27 11時間目Q4解説

public class PurchaseUtils {
    public File getItemInfoFile() {
        new File("resources/item.csv")
    }

}
public class PurchaseUtils {
    public File getItemInfoFile() {
        return new File("resources/item.csv");
    }

}