制作日誌まとめ(54~60日目、休日など)
初日(10/1)
制作物の簡単な概要の作成。
今回はログイン機能を持った欲しい物リストを作ることに。
仮のビュー作成をSublimeで作り始める
2日目
各ビューにBootstrap連携を試みる
思い出しながらなので案の定手こずる。
作ったビューをSpringMVCプロジェクトに変えて、eclipseで作業開始
3日目
セッションを使ったログイン機能を実装する
ここで授業でどの部分が実現したい機能と関連するかみたいな、簡単な教材まとめも作成し始めた。
また、学校での制作物を自宅に持ち帰って開発したいと思って、workspaseからプロジェクトをFTPサーバーに入れた
休校日(10/4~10/7)
インポート方法、開発環境構築でハマる
学校では
ファイル>インポート>一般の中のフォルダまたはアーカイブ…でいけると聞いた気が
したのでそのままやってたけど、どうやら違う…?
ファイル>インポート>既存プロジェクトをワークスペースへ
これでとりあえずエラーは消えた。
ちゃんとした理解ではないけどできたので今回はよし
感想:自宅での開発環境構築が非常に難しかった。
学校ではSpringレガシープロジェクトが普通に出てるけど、自宅のMac、Windowsのeclipseでは出てない?
⇒STSというプラグインが必要、というのをネットでちょっと見ただけで勢いで入れようとするも、インストールに失敗し続ける。
で、eclipseをクリーン起動してみたり、管理者権限でインストールしてみたりしてどうにかSTSを入れることができたものの、Springレガシープロジェクトなんて一覧に出てこない。
どうもおかしいと思い、確認したところどうやら学校ではSpringIDEを入れてると気づく
(どんなプラグインがeclipseに入ってるかの確認方法を学べたのは良かったかも)
また、SpringIDEのプラグインのインストール時にすべて選択ではなく、必要なもの(SpringIDE関連)のみチェックを入れてインストールしたほうが良いらしい
これでWindowsは学校と同じ環境にできた。
ただ、Macだと勝手が違いさらに混乱した
sudoでrootユーザーとしてeclipseを起動、プラグインインストールとやってしまうとセキュリティ的な問題なのか、普通にeclipse.appを立ち上げようとするとゴミ箱に入れるように促される。
sudoじゃだめなのか、と思い再インストールし直してみると、ファイルが壊れてるだったり、クラッシュした履歴が残ったりでeclipseを起動できなくなる問題が発生。
これの解決にかなり時間を食う
結果として、
●Macはsudoじゃなくて、普通に起動で問題ない
eclipseのみならず、アプリが一度クラッシュしたりすると
ダイアログ画面(~が予期しない理由で終了しました。)が出現し、「再度開く」ボタンを押下しても、まったく動かない状態になったりするらしい
(その前に「The last time you opened Eclipse,…」と出てきて、Don't open/Reopenを聞かれるがどっち押しても上のダイアログ)
解決方法は
finder>移動>optionボタンを押しながらライブラリをクリック>Saved Application Stateを開いて、elipseのフォルダを探して削除
これで治った。
●spring elements以下にservlet-context.xml等の表示が出てこない
プロジェクト上で右クリック、プロパティ>Spring>Beanサポート>SpringBean構成ファイルの保持>xml構成の追加で、servlet-context.xmlを追加すると表示された
●tomcat起動時に「8080は使用中です」と表示されて起動しない問題
現在使用中のものを止めることで解決した
lsof -i:8080
と打ち込み出てきたPIDの数値(例えば9999)を
kill 9999
としてやれば現在のものが止まり、tomcatが動くようになった
とりあえず環境はなんとかこれでWindows、Mac両方で用意できたけど、学校でWindows&自宅でもメイン機がWindowsになってるため、なるべくMacに慣れようと思い自宅での開発はMacを使うことに。
4日目
自宅で開発環境構築でハマったため、ほとんど3日目の内容の続き
ログイン周りのフォームや、画面のレイアウトを直したりが主。
画面にこだわると情報がいっぱい検索に引っかかるけど、肝心の機能面が完成しなかった、なんてことになりかねないため最低限にとどめようと反省
(Bootstrapのことの検索でほとんど一日費やしてしまった。奥が深すぎる&情報が多すぎる)
BootplyというBootstrapのデザインをテストできるサービスもあるらしい。時間がある時にやってみよう
5日目
ログイン認証のAuthFilterがどうやらうまくいってない?と気づく
確認したところweb.xml(デプロイメント記述子)でAuthFilter関連の記述をしないといけないとわかり、以下を追記
<filter>
<filter-name>AuthFilter</filter-name>
<filter-class>com.example.mvc.filter.AuthFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthFilter</filter-name>
<url-pattern>/admin</url-pattern>
</filter-mapping>
これでやっと認証フィルターが効いてくれた
まだ連携はできないけどDBのテーブルも用意を始める
6日目
欲しい物の追加フォームの作成(addItem.jsp)
formタグライブラリの使用
ログイン後の画面(admin.jsp)にも欲しい物一覧を表示させようとするも、それを表示させるメソッドの記述箇所が間違っていることに気づかずにこの日は終了
7日目
認証用によういしていたAuthController内にて干し芋の一覧を表示させるメソッドを記述し、やっとログイン後でも欲しい物一覧を表示させることに成功。
脱線に次ぐ脱線によってこの日はこれくらい…
休校日
商品追加後に、戻るボタンで再度管理画面admin.jspに戻そうとしたところエラー、またナビゲーションバーに用意しているHOMEのリンクもエラーになっていることに気づく
(PageNotFound no mapping found for HTTP request…的なやつ)
これがが出た時は、対応するControllerがなくてTomcatが判断できないエラー?
HOMEに戻りたい場合、
→@RequestMapping(value={"/", "/index"})
としてあげることで戻るボタンが使えるようになった。
ここまでのまとめとして、環境構築は非常に大変、というのがよくわかった
ただ、詰まってたところが解決したりすると脳汁ハンパないので詰まるほど面白いとも言えるかも