www.japan88.net
ホームページ制作会社一覧/ホームページ制作会社比較

ホームページ制作会社一覧/ホームページ制作会社比較

お勧めのJava関連の本


【2006年12月現在のStruts情報】

本家の配布サイトでは、
http://struts.apache.org/download.cgi

Struts 1.3.5
Struts 1.2.9
Struts 2.0.1
が存在する。

Struts 2.0は、beta版で、Struts 1.x台とは、完全に別物になる。
Struts 2.0の正式名称は、「Apache Shale Framework」
Struts 1.xの正式名称は、「Apache Struts Action Framework 」

Struts1.2では,Strutsは1つの塊として提供され,「コントローラ」「Sturtsカスタムタグライブラリ」「Struts-Validaotr」「Struts-Tiles」などの様々な機能が1つのJARファイルの中に同梱されていた。Struts1.3では,機能別に開発単位を細分化しそれぞれを別のJARファイルとして配布するようになる。


【JSPスコープ】

JSPのオブジェクトはスコープを持つ。オブジェクトには次の4つのスコープを設定できる。
(scope フォームBeanを保存するスコープも同様 )

page そのJSPページ内のみで有効なスコープ。
request 同じリクエストを処理するJSPページやサーブレット内のみで有効なスコープ。
session 同じセッション内で有効なスコープ。
application JSPコンテナ全体で有効なスコープ。

【スコープの範囲】
page < request < session < application


【Javaプラットフォーム】

Sun Microsystems が公開している Java2 の種類(プラットフォーム)には次の三つの種類があります。
Java 2 Platform, Standard Edition (J2SE)
Java 2 Platform, Enterprise Edition (J2EE)
Java 2 Platform, Micro Edition (J2ME)


【J2SEとJ2EEの違い】

簡単言うとJ2SEはデスクトップ上で動作するJava仕様、J2EEはサーバサイドで動作するJava仕様といえます。
J2SEの中にはデスクトップ上のみで動作可能なアプレット、Swing(GUIプログラム)などがあります。J2EEの中にはクライアントからサーバサイドにアクセスがあり、サーバサイドで動作するサーブレット、JSPなどがあります。実行結果はクライアントに返されます。

TomcatはJ2EEのサーブレット、JSPを実装しています。そのため、Tomcat上でサーブレット、JSPの各プログラムを動作させることができます。Tomcatを動作させるためにはJ2SEが必要です。
(注意:Tomcatなどのコンテナを利用する場合、J2EEを別途インストールする必要はありません。)

なので、javaをインストールと言うと、J2SEを指します。←ちゃんと理解している技術者は少ないけど

Java は、1.2 以降で Java2 と改称しました。また、1.5 からは、バージョニング規則が変わり、5.0 と呼称するようになりました。ただし、内部バージョンは 1.5 のままであり、 5.0 は製品固有名称の一部と考えてください。

J2SE の最後のバージョンが、コードネーム Tiger こと "J2SE 5.0" です。次期リリース予定のコードネーム Mustang は、 "Java SE 6" になります。J2EE も、最後のバージョンが "J2EE 1.4" であり、次期リリースでは "Java EE 5" になります。


【JDKとJREの違い】

開発環境が JDK (SKD)で、実行環境が JRE です。JDK (SDK) には JRE が含まれています。開発環境の最新バージョンは、2006年 12月現在、JDK 5.0 Update 9 です。1.5.0 は、2004 年 9 月に正式版がリリースされました。開発環境は、1.1までは Java Development Kit (JDK) と呼ばれ、1.2 以上で Software Development Kit (SDK) と改称されましたが、1.5.0 以降で J2SE Development Kit (JDK) に戻りました。
なお、v1.4 の最新は 2006年現在 Java 2 SDK, Standard Edition, v 1.4.2_13 (J2SE) です。同じく、v1.3 の最新は 2006年現在 Java 2 Standard Edition, v 1.3.1_19 (J2SE) です。なお、v1.3はサポートが終了しています。

現在の主流は、v1.4です。
新規の案件は、v1.5かv1.4で悩むことになります。
v1.5は、リリースから2年経ったので、安定したと見るかどうかですが、
v1.5とv1.4の違いが大きいので部分的に移行ができないなどの問題があります。


【アクセス修飾子の種類】

アクセス修飾子 アクセス範囲
public パッケージを問わず、すべてのクラス内で参照可能
protected 同じパッケージ内にあるすべてのクラス、あるいは、別パッケージで
そのクラスを継承したサブクラス内で参照可能
無指定(デフォルト) 同じパッケージ内にあるすべてのクラス内で参照可能
private そのクラス内からのみ参照可能

メソッドやフィールドにアクセス修飾子を指定しない場合、同じパッケージ内にあるクラスからのみ参照可能となります。これが、パッケージ・スコープです。


【インタフェースとアブストラクト】
・インタフェースとは、実装を持たない抽象クラスです。
インタフェースは、主に継承階層の異なる複数の型をオブジェクトに持たせるために使います。
(インタフェース は、ある機能を実現するクラスが必ず実装するべきメソッドの名前や型といった作法のみを定義するものです。interface を用いて定義します。インタフェースで定義されるメソッド(抽象メソッド)の実体は inplements を用いた側のクラスで実装しなくてはなりません。)
「型の継承」

・アブストラクトとは、実装を持つ抽象クラスです。
主に同一の継承階層に属するクラスに共通する処理を持ったスーパークラス(基底クラス)として定義します。(abstract は、クラス、インタフェース、メソッドが抽象的なものであり、不完全なものであることを示します。メソッド名、引数の型などのみを定義し、サブクラスが必ず実装しなくてはならない機能を明確にしておくのが主な利用目的です。)
「実装の継承」

・Javaではクラスの多重継承が許されていないので多重継承を行う場合にはインタフェースを使用する必要があります。しかしインタフェースでは実装の継承を行うことができません。なので、インターフェースを多重継承したアブストラクトクラスを作ることで対処します。


【オーバーライドとオーバーロード】
オーバーライドとは、スーパークラスで定義されたメソッドをサブクラスで再定義することを言います。オーバーロードとは、同一クラス内で、メソッド名が同一で引数の型、数、並び順が異なるメソッドを複数定義することを言います。
オーバーライドで、親クラスの変数を上書きしたと思っても、参照する場所によっては上書きされません。
上書きされる範囲と場所に注意して使う必要があります。


Javaデザインパターン徹底攻略
Apache Struts1.2パーフェクトガイド
Apache Strutsハンドブック
ホームページ制作会社一覧/ホームページ制作会社比較
Copyright © 2006 Japan88 Project All rights reserved.