本日のお仕事

今日は他チームの手伝い作業をした。
内容はJava6+ServletJSPでビルドはAnt。

一部の画面遷移を変える、という内容だったがそれなりに手こずった。

hidden等、パラメータの辻褄合わせ

注意深く見れば特に問題なく出来るのだが、久しぶりにrequest.getParameter, request.setAttributeを使って懐かしい気持ちになった。辻褄合わせのため、removeAttributeまで使用。

ビルドがコケる

ビルド環境がなく、ローカルのJDK1.8でビルドしたらステージング環境でデプロイ後にエラー。
Antのjavacタスクのsource, target属性を追加してJava6向けビルドにして解決。

環境ごとに設定を変える仕組みがない

JSPのformのPOST先をスキーマからフルで書きたいのだが、Mavenのresourcesのように環境ごとのプロパティを使ったりファイルを差し替える仕組みがなかった。
コミットするものは運用環境のものという決まり。
以下のような即席のデプロイスクリプトでステージング環境固有の値に変えてからデプロイするようにして解決。

row_number=$(grep -n 'www.foo.bar.com/login' /path/to/some.jsp | awk -F':' '{print $1}')
if [ ${row_number} ] ; then
  sed -i "${row_number}s/www.foo.bar.com/192.168.100.50/" /path/to/some.jsp
fi

感想

Spring Framework等、フレームワークのありがたみがよく分かるのでたまにこういうのをやるのも良いかも知れない。
2度とrequest.getParameterをしてはならないと心に誓う吉宗であった的シーンが想起された。