- Q: フォームからデータを送信する際、action属性に「http://localhost/...」と書いてはいけないのか。
A: 送信先がlocalhostなのは開発のときだけです。運用時に送信先が変わっても対応できるように、相対パスを使ってください。
- Q: 「HTTP 500 内部サーバーエラー」になる。
A: ブラウザのプロキシ設定を確認してください。localhostへのアクセスにはプロキシサーバを使いません。
- Q: 「起動できるクライアントが見つかりません」というエラーになる。
A: プロジェクト・エクスプローラのServersを右クリック、更新してみてください。うまく行かないときは、「ウィンドウ → ビューの表示 → サーバー」で表示されるサーバをすべて削除してからやり直してください。
- Q: 九九の表の枠の作り方は?
A: スタイルを適用してください。
table{
border-collapse:collapse;
}
th,td{
border-style:solid;
}
- Q: ASCIIコードを、直接入力するのではなく、ループを使って表示させるにはどうすればいいか?(例えば「!を&#i;」のようにしたい。)
A: 「&#<%= i %><%= j %>;」などとしておけば、ブラウザが数値実体参照を解釈してくれるでしょう。
- Q: 整数を16進法で表示する方法は?
A: 整数に関してはIntegerというクラスに便利な関数がそろっています。例えばiという整数を16進の文字列にしたければ、「Integer.toHexString(i)」です。
- Q: アルファベットを大文字にする方法は?
A: String strがあるときに、「str.****()」とすればstr中のASCIIのアルファベットを大文字にしたものが返ります。****の部分はAPIリファレンスで調べてください(英語の勘が働くなら、Eclipseのヒントで十分でしょう)。
- Q: 「プログラム中で不明なタグ (c:out) です」と表示される。
A: taglibディレクティブを書いてください。
- Q: 「org.apache.jasper.JasperException: 絶対URI: http://java.sun.com/jsp/jstl/core はweb.xmlとこのアプリケーションを配備したJARファイルのどちらかでも解決できません」というエラーになる。
A: JSTLをインストールしてください(p. 188を参照)。
- Q: コマンドmysqlが使えない。
A: PATHを設定してください(p. 184を参照)。
- Q: 「Access denied for user 'root'@'localhost'」というエラーになった。
A: パスワードを設定していないのでしょう。P. 185を参考にパスワードを設定するか、「mysql -uroot」 を試してください。
- Q: 「ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)」というエラーが出る。
A: 「mysql -uroot」で接続して、
CREATE DATABASE...
GRANT...
のようにアクセス権を設定してください(p. 68を参照)。
- Q: 郵便番号ファイルをUTF-8で保存しなおしたが、実行すると文字化けする。
A: 使っているデータベースがUTF-8であることを確認してください。
- Q: 「ERROR 2 (HY000): File 'JIGYOSYO_UTF8.CSV' not found (Errcode: 2)」というエラーになった。
A: 2つのファイルは、コマンド mysqlを実行する作業ディレクトリに置いてください。一度コマンドプロンプトに戻れば、作業ディレクトリを確認できます。あるいは、'filename'ではなく、'c:\\\\home\\yabuki\\work\\filename'のように、ファイル名をフルパスで書いてください。
- Q: タグの中で文字列を連結したい(「<c:out value="${row.zip}"+":" />」が動かない)。
A: 「<c:out value="${row.zip}:" />」でいいでしょう。
- Q: zip.jspをJSTLを使ってタグだけ書く課題で、ハイフンを取り除くような処理もタグのみで実装できるのか。
A: タグで実装するのは難しいかもしれない。SQLのほうでREPLACEを使えばいいでしょう。
- Q: 「Ajaxは宣言されていません」というエラーが出る。
A: ファイルを追加したことをTomcatが認識していないかもしれません。Eclipse上でprototype.jsが見えていないなら、右クリック→更新でファイルが現れることを確認して、Tomcatを再起動してください。
- Q: Tomcat managerにwarファイルをアップードすると文字化けする。
A: ファイルをアップロードする際に、IEはフルパスを送るようです。パスが漢字などの非ASCII文字を含んでいたりするとだめでしょう。この件に限らず、開発に用いるフォルダには非ASCII文字を入れない方がいいです。
- Q: 「名前 jdbc はこのコンテキストにバインドされていません」というエラーが出る。
A: コネクションプールが設定されていません。コネクションプールを使わないのなら、p. 121の方法で接続してください。
- Q: 「シリアライズ可能クラス Issue は long 型の static final serialVersionUID フィールドを宣言していません」という警告メッセージが出る。
A: Eclipseに回避してもらうことができます。とりあえず、「private static final long serialVersionUID = 1L;」と書いておいてもいいでしょう。
- Q: 「Contoroller is not available」というエラーが出る。
A: Controller (Servlet)がちゃんとできていないのでしょう。web.xmlを確認してください。Controllerの記述があるなら、Tomcatを再起動すれば使えるはずです。
- Q: throwsの使い方がよくわからない。
A: あるメソッドの中で例外が発生するとき、そのメソッド内で例外を処理するのなら、メソッド内にtry、catchを書きます。メソッドの外で処理するのなら、メソッドの定義をthrows Exceptionなどとしておいて、メソッドを呼び出している部分をtryで囲み、その後にcatch節を追加します。
- Q: 「throws Exception」の意義がわからない。次のコードの「throws Exception」があってもなくてもエラーメッセージが変わらない。
public int walk(int m) throws Exception{
int result=1/m;
return result;
}
A: 例があまりよくなかったとも思うのですが、runの中からwalkを呼び出してみればわかるかもしれません。
- Q: 「Calendarを型に解決できません」というエラーになる。
A: Calendarは****なので、****をimportするか、「****.Calendar」として使わなければなりません。****の部分はAPIリファレンスで調べてください。
- Q: 「パラメータ化された型はソース・レベルが5.0の場合にのみ使用可能です」というエラーが出る。
A: Eclipseのコンパイラ設定を確認してください(p. 191を参照)。
- Q: Personオブジェクトのコレクションを「System.out.println(people.toString());」として表示させようとすると、「[mypackage.Person@173a10f, mypackage.Person@530daa, mypackage.Person@a62fc3]」のようになってしまう。
A: Personオブジェクトを文字列にする適切な方法が用意されていません。PersonでtoStringを実装し直すといいでしょう。次善の策として、次のような方法もあります。
out.print("<ul>");
for(Person p:people) out.print("<li>"+p.getLastName()+" "+p.getFirstName()+"</li>");
out.print("</ul>");
- Q: 「Unable to access jarfile startup.jar」というエラーになる。
A: 解凍ソフトがおかしいのかもしれません。Lhacaなど,別の解凍ソフトを使ってみてください。
- Q: Properties Editorのインストール時に、新規リモート・サイト(http://propedit.sourceforge.jp/eclipse/updates/)に繋がらない。
A: Proxyの設定をしていないためだと思います(p. 194を参照)。