新たなる勉強。 JavaとStruts1.3
近々システム系の業務に派遣されることになり、その先で使うプログラム周りがJavaとStrutsということになりました。
会社内でJavaを使うことはなかったので今回久々に勉強。
StrutsはJSP/Servletのフレームワークだそうです。
PHPではfuelPHPを使いましたが、今回はどういった内容のものなのか・・・
Javaについては初めて触れる言語というわけでもなく、UnityでC#を使っていたこともあって割とすんなり入り込めました。
いろいろ言語やってきたような気がしますが、変数に型を指定できる言語は安心感があります。
まぁ結局どの言語も基礎が分かれば慣れていくものですが。
厄介なのはEclipseを開発環境にすること。
PHPの時もEclipseでいろいろ設定しながらやりましたが、これがまぁめんどう。
今回もJavaとTomcatの環境をちゃんとするのに結構な時間がかかりました。
あと、PHPの時は実際のサーバーを使ってたのに対し、今回は勉強で使う物なのでローカルサーバー上で動作するように構築。
以下、構築までに特に厄介、面倒だったこと。
JDKのダウンロード
Javaの開発キットを扱ってるのがORACLEなのですが、このキットをDLするためにわざわざORACLEのアカウントを取らないといかんのです。しかも派遣先で使用しているJDKが最新のものではないらしいのでそれに合わせて少し古い物を入れる必要があるという。
検索するとアップローダーとかにJDKのインストーラーとかあったりしますが、いまいち信頼できないのでしぶしぶORACLEアカウントの登録。
会社名とか入れる項目もありました。個人で登録する時はどうしたらいいのか・・・あまり抵触されないようですが。
あとは環境変数の設定。開発するJavaのバージョンに合わせないとちゃんとビルドとかしてくれないみたいです。
まぁ手順が多くて面倒なだけで不具合がでるところではなかったです。
Tomcatのインストール
Windows 7になってからでしょうか、それともVista?システムファイル辺りのアクセスのセキュリティがXPと比べて強化されてるせいか、インストールの指定先がProgram Filesだと融通が利かないとかなんとか。
あとインストールしようとするパソコンのアカウントが管理者じゃない場合はこれもまた面倒。
先輩社員も言ってたのですがこの辺の開発環境に必要なソフトのインストール先はCドライブ直下が良いらしいです。
探しやすいからとか、余計なアドレスが入らないとかそんな感じでしょうか。
あとは開発環境を構築し直そうとしてTomcatの再インストールをするとエラーが出たりとか・・・
再インストールの前にしっかり以前使っていたTomcatをアンインストールしたりが必要みたいです。
下手に複数使おうとするとポートの奪い合いで動作が安定しないとかもあるようです。
Eclipse
インストールしたいものを入れ終えていよいよ最大の敵、Eclipseの環境設定。いろいろ参考サイトを見ながら何とか設定していきます。
まずはテキストエンコード。
サイトによってここで設定しているエンコードが結構バラつきがありました。
ここで指定すべきはUTF-8。
理由としてはGoogleが提示したJavaのコーディング規約です。
ソースファイルはUTF-8でエンコードって書かれてました。
JSP/Servletの参考サイトとかも見ましたが、metaのcharsetがShif-JISだったり、Servletクラスのrequest.setCharacterEncoding()の引数で指定する文字コードがWindows-31Jだったり。
これも文字化けの元。危ないです。
もう文字コードを指定する所は全部UTF-8にしちゃいましょう。迷いがなくなります。
複数の参考サイトを回ってコード文をコピペしてそのまま、っていうのだと結構危険です。
次、JREの設定。
入れたEclipseの内容によってはjreが同梱されてるものもあったりします。
これを使っても多分問題はないと思いますが、環境変数に合ったものを選ぶ必要はあるんじゃないかと。
自分の場合はJDKをインストールしたフォルダにあるjreを指定。環境変数もこれに合わせているので多分一番確実です。
次、Tomccatの指定。
これもインストールしたTomcatを元に設定。Cドライブ直下インストールだといろいろ楽です。
ここの設定がちゃんとできてないと新規Tomcatプロジェクトがろくに作れないみたいです。
ラスト、Strutsの導入。
正直一番どうしようか迷ったところ。
参考サイトの大半は圧縮されているサンプルを解凍し、必要なものをプロジェクトに貼り付けるというもの。自分も結局この方法にしましたが・・・
で、Strutsの勉強がてらログインフォームを自作していったのですが・・・
これをやると何が必要で何が要らないものなのかの区別がつきにくくなります。
確かに導入は非常に楽ですが・・・
チーム経験はまだろくにないですが、プログラマとして自分の担当内容を早く正確に答えることができるのは必要だと思ってます。
「このコードは何してるの?必要なの?」という質問された時に導入してから一度も触れたことがないファイルが指摘されるとなかなか答えにくいところです。
導入ファイルを事細かに説明してるのは基本的に公式のドキュメントくらいでしょう。英文で。
後々必要になる、と絶対に使わないファイルを判断出来るようになりたいですな。