PHPで作成したWebサンプル・プログラムをJavaで動作させる。
巷でのJAVAとPHPとの処理速度計測では、Javaが圧勝のようです。
確かに単純な計測プログラムでは、そのとおりでしょうが複雑なビジネスロジックではどうなのでしょうか。
JAVAではロジック・プログラムだけを作成しても動作しません。
設定ファイル(web.xml struts-config.xmlなど)を使って処理・動作・関係を定義する必要があります。
これらはHTMLのタグ定義と同じような記述フォーマットです。
ベテランだとしても間違いなく作成していくのは、かなり苦痛がともなう作業になります。
そこで自動ツールがでてきますが、それのウィザード操作方法を理解するのがさらに大変だったりします。
人間が作成するプログラム言語としては、PHPのほうが理解し易いと感じるのは私だけでしょうか?
分りやすいとは、早く・正確に作業ができると言うことになります。
(JAVAアプリなら上記問題はありませんが、今回はWEBアプリの作成を前提としております)
インストール手順などの内容が増えてきたら、新たにJava専用ページを作成する予定です。
どうやって作るの? 手作業で作成します。
本格的な開発には、Eclipseの統合開発環境を利用するのが一般的なようですが、JAVA本体の理解にはジャマなだけです。
JAVA関係のEclipse操作は、とても煩雑なものがあり、本末転倒のおそれがあります。
ANTでビルドコマンドを作成すれば、エディタのみで十分です。
フレームワークには、Strutsを使うことにします。
Strutsは、Servlet部分のみを処理してくれるものですが、仮に自分で作成した場合には独自ロジックを設計する必要があります。
メンテナンス性が極度に低い、他人は触れないものが出来上がってしまうことになるでしょう。
PHPではフレームワーク(Ethna)がなくても、それなりに作成できますので基本思想の違いでしょうか。
というよりもアーキテクチャの違いでしょう(CGIとコンテナ)。
データベース
PHPで作成したものを、そのまま使います(変更や修正は一切おこないません)。
アクセスには、DBCP を使います。
JAVAでWebDBプログラミング
準備作業(空きのプロジェクトを準備します。)
strutsのサンプル『struts-blank-X.X.X.war』を取り出してjavaコマンドで解凍します。
jar -xvf struts-blank-X.X.X.war |
まずは、どのような処理がおこなわれるかを知るために、 サンプルの動作画面へをお読みください。
ほぼPHPで作成したプロジェクトと同じですが、今回は、ログイン画面をエントリーとしました。
コンパイルコマンドの修正
そのままの『 build.xml 』では、コンパイルがとおりませんので修正します。
〜.jar へのパスと名称を正しく修正します。
『 pathelement path ="lib/struts.jar"/ 』を
『 pathelement path ="lib/struts-core-1.3.8.jar"/ 』などのように
使うバージョンに合わせる必要があります。
ソースファイルの文字コードはWindowsのデフォルト文字コードのシフトJISではなく、拡張Unixコードを使いますので下記のように指定が必要です。
『 <javac srcdir="src/java" destdir="classes" encoding="EUC-JP" > 』
タグライブラリーが入っていないので「struts-html.tld」などをWEB-INFフォルダに入れます。
フレームワークstrutsでJavaプログラムの作成
説明へ | 内容 |
Strutsの基本 | 概要・基本の説明 |
ログイン | 基本手順を理解する |
トップメニュー画面 | ログイン後に表示されるトップ画面 |
表示画面 | データ一覧を表示する |
追加画面 | 新規データを登録する |
削除画面 | データを削除する |
変更画面 | データを変更する |
Strutsの起動方式 | 2つの起動方法がある |
動作環境:動作させた環境は下記のとおりです。
機能 | バージョン |
Java | 1.6.0_02 |
Struts | 1.3.8 |
Tomcat | 5.5.23 |
ant | 1.7.0 |
OS | Windows2000 SP4 |
文字コード | EUC-JP |
個々の部品説明ではなく、アプリケーションを作成しておりますので動作すれば一通りの基本を理解できます。