2010-11-18 10 views
1
webapps 
| 
|----helloworld 
    | 
    |----WEB-INF 
      | 
      |-----classes-HelloWorldServlet.class 
      |-----lib----servlet-api.jar 
      |-----web.xml 

上記は私のディレクトリ構造です。 web.xmlでは、私はサーブレットのマッピングのためにurl-patternで何を与えるべきかを知らない。私はそこに何を与えるべきですか?どのURLパターンですか?サーブレットマッピングURLパターン

+3

ディレクトリ構造は 'url-pattern'とは関係ありません。それはあなたが何とかしたいものなのです。 – skaffman

答えて

3

サーブレットをマッピングするメカニズムは、skaffmanに記載されているように、ディレクトリ構造とは関係ありません。

基本的には、(サーブレットに関する)web.xmlの二つのものがあります。

  • <servlet>サーブレットのエイリアスを定義し、タグ、および(例えば、com.foo.pkg.YourServlet用)の完全修飾名を

  • <servlet-mapping>指定されたエイリアス(<servlet>定義から取られたもの)に対してurl-patternを指定します。

名前からわかるように、url-patternは、どのURL部分がサーブレットを呼び出すべきかを示します。したがって、特定のサーブレットをURLパターン/myfirstserletにマップすると、ユーザがhttp://localhost:8080/helloword/myfirstservletを開いたときにアクセス可能になります。最初の部分はホスト名とポート、コンテキスト名(webappの名前)、およびurl-pattern

注:サーブレットには現在デフォルトのパッケージ(つまりパッケージは使用していません)が使用されています。これは推奨されないので、パッケージ名を付けてください。 (それをWEB-INF/classes/com/foo/pkg/に入れてください)。これは指定によって行われますpackage com.foo.pkg;

+0

http:// localhost:8080/helloword/war/myfirstservletのようなものが必要な場合、どのように達成できますか? –

+0

それを '/ war/myfirstservlet'にマップして、webapps/helloworldに入れてください。 – Bozho

+0

ありがとうございます。しかし、私は理解していないと思います、試しました。この質問をご覧くださいhttp://stackoverflow.com/q/5650136/543544 –

関連する問題