サーバーサイドJavaを始めるために

仕事の都合上Java言語をようやく勉強することになった。
大学時代でswingなどを少しやったもののほぼサーバーサイドJavaは知識ゼロの状態である。
インターネットで調べてみるもののつかみが分からない場合には書籍に当たるのが時間を無駄にせずに済む。
いろんな書籍を探してみたが、手っ取り早く勉強するためには、Eclipse WTPではじめるサーバーサイドJava入門―Eclipse 3.3/WTP 2.0対応が分かりやすいように感じていて、今学習を進めている。
Eclipseを日本語化したPleiades 3.5を使っていると書籍のハードコピーと異なる部分があって戸惑うことがあるが、流れをつかんでしまえば体系的に学習できると思う。

Javaで日本語をUnicode処理する

Javaの内部エンコードがUnicodeになっているため、日本語を扱うためにはUnicode処理しなければならない。
たとえば、日本語をUnicode処理して出力する場合、以下のようなコマンドになる。
native2ascii application.txt application.properties
-reverseオプションを利用すれば逆にUnicode処理されたものから日本語得られる。
詳しくは、Javaの道を参考にすると良い。

JSPについて

今日は、JSP(Java Server Pages)について理解を深めたい。
@ITにJSPの連載が載っており、サンプルを実行していきながら理解を深められる。
・JSPとJavaScript
・JSPとアプレット
・JSPのCGI
・JSPとASP
・JSPとサーブレット
について違いが説明されいてわかりやすい。
それからJSPにはBeansというアクセサという仕組みがある。前の職場でアクセサの概念を説明してくれた同僚のyujisさんのおかげですっと理解が出来た。Javaのアクセサは他の言語よりも多くの意味でメリットがありそうだ。

Javaのまとめ

Javaは製品の用語がかなり多くて初めてやろうと思ったらパニくりました。
一応備忘録としてまとめておきます。
JDK(Java SE Development Kit)とは?
JDKはJavaの開発環境であり、従来はJ2SDKと呼ばれていた。
javacコマンドでコンパイルすると.java(ソースファイル)から.classファイル(バイナリ)が生成される。
インストールはこちらからできる。
JRE(Java Runtime Environment)とは?
Javaを実行するための動作環境
J2SE(Java 2 Standard Edition)J2EE(Java 2 Enterprise Edition)とは?
ともに関数群(API)であり、用途が異なる。基本セットのJ2SEとWebサーバーなどのサーバー向けのJ2EE。まだ理解が不十分。
Tomcatとは?
コンパイル済みclassファイルを実行したり、JSPアプリケーションをコンパイルして実行することが出来るアプリケーションサーバー。ダウンロードはこちらからでき、アプリケーションの作成例はこちらを参考にされたい。
僕はWebサーバーは良く親しみがあったが、アプリケーションサーバーという概念が良くわからなかった。まだまだ理解が乏しいので、もう少し理解が進んだら更にまとめることとしたい。
なお、Webサーバーと違って、サイト構成が変更になった場合には必ずアプリケーションサーバーを再起動しなければならない。
ところで、tomcatはインストール時にJAVA_HOMEが設定されていないと以下のようなコンパイルエラーになるので注意が必要だ。JAVA_HOMEをパスに通してあってもこのエラーが出るから厄介である。

Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK