自分が新人だった頃に知っておきたかったweb.xmlの基礎。

自分が新人だった頃。
web.xmlの設定にハマり、ブラウザでサーブレットが表示できないと嘆いていたあの頃。
ネットでいくら検索しても意味がわからず、結局全然うまくいかなかった。
その頃の自分に言いたい。

基礎からやれ、と。

web.xmlの基礎的なこと、まとめ。

配備記述子 web.xmlのまとめ

web.xmlのweb-appタグは手で書くと間違えそうなので、Tomcatのものをパクるといい。

C:\Program Files (x86)\Apache Software Foundation\apachetomcat-6.0.35\conf以下に
web.xmlがあるので、それの以下の部分をコピー&ペーストしよう。
以下のものをコピペして使ってもいい。

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
<!-- サーブレットのマッピングなど-->
</web-app>

web.xmlのルートタグはweb-appタグである。
web.xml内では大文字・小文字が区別される。

web.xmlサーブレットを登録する方法

サーブレットを登録するには明確なルールがある。

<servlet>
<servlet-name>サーブレット名</servlet>
<!-- servlet-classにはパッケージ名を含んだ完全修飾名を記載する -->
<servlet-class>サーブレットクラス名</servlet-class>
</servlet>
<servlet-mapping>
<!--ここのservlet-nameは上のサーブレット名と同じにする!-->
<servlet-name>サーブレット名</servlet-name>
<url-pattern>マッピングするURLパターン</url-mapping>
</servlet-mapping>

web.xmlにエラーページをマッピングする方法

HTTPステータスコードを指定してエラーページの設定を行う。

<web-app>
<error-page>
<error-code>ステータスコード</error-code>
<location>ファイル名</location>
</error-page>
</web-app>

・例外クラスによってエラーページを指定する方法

<web-app>
<error-page>
<exception-type>例外クラスの完全修飾名</exception-type>
<location>ファイル名</location>
</error-page>
</web-app>

サーブレットを呼び出すURLの決まり

以下のようなルールに基いてURLが決まる

http://<ホスト名>:<ポート番号>/<コンテキストルート名>/<URLパターン>

コンテキストルートは昨日のブログに書いたから省略。
URLパターンというのは、url-patternタグに書いたものだ。

その他

META-INFディレクトリもブラウザからはアクセスできない。
WEB-INF以下にアクセス出来ないのと同様。

読んだ本

SUN教科書 Webコンポーネントディベロッパ(SJC-WC) 試験番号:310-083

SUN教科書 Webコンポーネントディベロッパ(SJC-WC) 試験番号:310-083

この本は、サーブレット/JSPの基礎固めに最適だと思う。
この本か、「基礎からの〜」で勉強してからじゃないと、ネットで調べても意味不明なはず。

感謝のプログラミング

今回で感謝のプログラミングは【428時間目】
10000時間まで、あと【9572時間】



お金があるかないかで人生の楽しさは全く変わってきます。

お金があっても幸せになれるとは限りませんが、お金がない人生は不幸です。

お金がなかった私が、転職して年収1000万を超えるまでにお世話になったブログを紹介します。

エンジニア転職のリアル

今の時代は、お金を稼げるかどうかは能力の有無よりも触れた情報の質によるものが大きいです。
ぜひ皆さんも良質な情報に触れて、お金持ちになって人生を充実させてください。