• ベストアンサー

SJC-WCの問題で

先日SJC-WCを受けたときの問題でうる覚えですが、質問させてください。 web.xmlに(servletはあるものとしてください) <servlet-mapping> <servlet-name>ServletA</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>ServletB</servlet-name> <url-pattern>/date/*</url-pattern> </servlet-mapping> が記述されているものとして、以下のリクエストがある場合 どのサーブレットが呼び出されるか?というものです。 回答の選択肢にうる覚えですが、わからないものがあったので、おしえてください。 URLとして /date/sample.do が指定されたとき、ServletAかServletBのどちらが呼び出されるか? というのがドラッグ&ドロップで回答する形で問題がありました。 どっちも該当しそうなのですが、1つしか選択できず悩みましたが、 どちらが正解なのでしょうか?私はServletAを選択したと思います。 (実際試せ!というのは勘弁してください。。。)

質問者が選んだベストアンサー

  • ベストアンサー
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.1

う~ん。私も試さずにいうならば、'B'じゃないかと思いますよ。 コンテキストルートが"/"だとした場合、 /date/sample.do にマッチするのは、 /date/* になりますから。 'A'の方は /*.do がマッチするので、/date下はひっかかりませんよね?

ratsbane
質問者

お礼

ありがとうございます。 Bですか? Aは「/*.do」じゃなくて、 「*.do」なので、.doなら全部にマッチすると思いました。 試すしかないですかね。。。

その他の回答 (1)

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.2

元は サーブレット名 パスパターン ControlServlet *.do VendorServlet /Vendor/* があって リクエストURL サーブレット名 /Vendor/ A /Vendor/index.jsp B /securet/command.do C /Vendor/command.do D /Vendor.do E でアルファベットの部分にD&Dせよ。かな 今回はDのことになりますが 多分VendorServletだろうと思います。(自信なし) まあ この試験はこのような問題が 69問も続くのです。 やっぱり心配ならばVendorResearch社の 問題集のお世話になる方法もありますが 誤植誤回答も多いです。

ratsbane
質問者

お礼

実際試してみました。 お2人ともおっしゃるように、私は間違いでした。 まさに↑な問題でした。 *.doじゃない方にマッピングしてるサーブレットが動きました。 ありがとうございました。

関連するQ&A