|
サーブレットマッピングのところがまったく理解できませんhttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=1082810945&sort=1
サーブレットマッピングのところがまったく理解できません
web.xml 内で <servlet> <servlet-name>hello</servlet-name> <servlet-class>HelloWorld</servlet-class> < /servlet> < servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/servlet/hello</url-pattern> < /servlet-mapping> という例がよく挙げられてますが、なぜおしまいのところで /servlet/hello という風に /servlet を付けねばならないかが腑に落ちません。 ここには何を書くのかがどの本を見てもあまりはっきり書いてありません。 urlパターンとは何のことでしょうか? どこにそれは記述してあるものなのでしょうか? まったく理解できてませんので、やさしめに説明をお願いできたらと思います。
回答(2件中1〜2件) 国際規格でそう決まってるからです。
xmlファイルは木構造というものを表現しています。 WEB.XMLはXMLファイルです。 例えばつぎのようなXML文書があったとします。 <A> <B>14</B> <C>10</C> < /A> < D> <B>9</B> <E>8</E> < /D> とあった場合AというもののBの状態やCの設定などを決めるという意味になります。 そしてAが閉じられて次はDのBという状態やEの状態を決めるという意味になります。 <A>、、、</A>の間に書かれたものは全部Aの属性であるという意味となります。 Aが車で Dが飛行機を表すゲームのデータだとし Bをホイールの種類の指定 Cをハンドルの種類の指定、
Eをその乗り物のカラーだとするなら。 Aの車のBはホイールの種類を指定し、Cというハンドルの種類を決める。 Dのホイールの種類をBで決めて、カラーをEで決める。 という意味になります。 >なぜおしまいのところで /servlet/helloという風に /servlet を付けねばならないか
そんな風に参考書に書いてありました? フレームワークではなく、普通のServletでしたら、/servletは必須ではないですよ。 こうでなければいけない、という決まりはないので、説明があまりないのじゃないでしょうか? 参考にされた例では、jspではなく、servletを起動する場合にわかりやすくしようという意図なのか、よくわかりませんが、そのようにしていたというだけです。 アプリケーションのベースのURLのパスを、サーバで定義していると思います。 例えば、http://localhost:8080/MyProject/ というURLを指定すると、 welcomeに定義された、http://localhost:8080/MyProject/index.jsp が動くようなプロジェクトだとします。 このとき、ユーザが、 http://localhost:8080/MyProject/hiho と打ったら、HelloWorldクラスが動くようにしよう、と思ったら、 <url-pattern>/hiho</url-pattern> と書きます。 こんなこともできるよ、という下の例は、応用編なので、入門書には説明していないのかと思いますが、 ワイルドカードも使えます。 もし、<url-pattern>/hello/*</url-pattern>としたら、 http://localhost:8080/MyProject/hello/aaa と打っても、 http://localhost:8080/MyProject/hello/bbb としても、 HelloWorldクラスを起動します。 |

- >
- コンピュータとインターネット
- >
- コンピュータ
- >
- ソフトウェア




