webアプリ作成で詰まった!
人生で2度目となるwebアプリ作成
イチから全てを作成するのが2度目になるのですがほとんど1度目と言って良いくらい何もかも忘れていました。
【問題】CSSのレイアウトが反映されない!!
---環境---
webアプリ作成環境としては
・Eclipse
・java11
・jsp/servlet
・Apache(アプリケーションサーバ)
サーバーサイドのコーディングをしている時はアプリケーションは一見正常に作動しているように見えたのですが、サーバーサイドのコーディングがひと段落ついたのでフロント部分をコーディングし、作動してみるとcssが全く反映されませんでした。
。。。。
気づくのに2日(作業8時間)
正直諦めかけました。色々と試行錯誤する上でなんとか辿り着きました。
ウェルカムページの設定が間違っていた。
ウェルカムページとはTopServletなど最初のページに指定しているURLパターン(リンクみたいな)の事を言います。
https://www.yahoo.co.jp/
上記のyahooのtopページですが「jp/」以降何も指定がないと思います。このリンクを押してtopページに飛ぶ前に経由しているのがTopServletです。そしてそこで設定しているウェルカムページが https://www.yahoo.co.jp/
です。
☆一連の流れ
yahooのリンクを押す
↓
TopServletに飛ぶ
↓
設定してあるウェルカムページ(yahooトップなど)に飛ぶ
↓
yahooトップページが開く
ウェルカムページの設定が「index.jsp」となっていなければいけないものを「/」などと書いていたのでcssが全く反映されなかったようです。
ではなぜindex.jspと指定しなければいけないのか、なぜ指定するとcssが反映されるようになるのか
⇨それは「web.xmlというファイルでデフォルトで指定されているから」です。
【web.xmlとは】
・htmlやサーブレットクラスの設定、webアプリの設定をできるものです。
TopServletのURLパターンとweb.xmlの設定を合わせてあげないとうまく動作しないようです。今回に関して言えば私はURLパターンを「/」のように全ての範囲を対象にしていたのでweb.xmlのデフォルト設定とは違ったのでcssの反映もされなかったようです。web.xmlの設定はアプリケーションのエラーにかなり直結しているみたいなので何かエラーがあれば一度見てみるのも手だなと思いました。
まとめ
今回2度目のアプリケーションを作っていて思ったのはまだまだ経験が足りないと感じた事です。今回のエラーなんて手慣れたエンジニアさんに聞けばすぐに解決できた気がします。エンジニアはコーディングしているよりもエラーに対応する時間のほうが長いと感じていますので、エラーが出た時の検索力であったり、思考の切り替えというのがエラー解決に繋がってくるなと染み染み感じました。