• ベストアンサー

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を選択したと思います。 (実際試せ!というのは勘弁してください。。。)

  • Java
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • 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

  • どこまで覚えればいいの?SJC-WC試験

    こんばんは。 javaの資格ですが、こちらに質問させていただきました。 今度、お仕事で、webアプリを担当することになりました。 なので、お勉強もかねて、 SJC-WC(Sun Certified Web Component Developer)を受験しようと思っています。 (SJC-Pは以前に取得済みです) 学習書を買ってきて、すこし読んでみたのですが、 HttpServletRequest、HttpServletResponse、 さらにはServletに関するクラス、インターフェイス、メソッドがたくさん出てきて、 とまどっています。 もちろん全部覚えられればよいのですが、数が多すぎて、覚えきることが出来ません・・・。 これって、すべて覚えないといけないのでしょうか? それとも、学習書に出ているような代表的なものを覚えればよいのでしょうか? 練習問題を見ると、ときどき、「戻り値はなに?」という問題があります。 ってことは、メソッドのシグネチャまできちんと覚えないといけないのかな? と不安になっています・・・。 webアプリのことを学習するのが目的なんだし、 いちいち全部覚えるよりも、 シグネチャも代表的なメソッドだけ覚えればいいのかな、とも思っています。 細かく覚えなくても大丈夫なのか、どのように勉強されたのか、 受験された方の、ご意見やアドバイスを聞きたいです。 宜しくお願いします。

  • strutsに関連したxmlのサーブレットマッピング

    失礼致します。 初歩的なことですが質問させてください。 strutsにおけるxmlファイルの記述例は次のようになります。 <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> ここで、新しいサーブレット(download)を追加しようと次のように記述を加えました。 <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <servlet-name>download</servlet-name> <servlet-class>Download</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-patte <servlet-name>download</servlet-name> <url-pattern>/download</url-pattern>rn> </servlet-mapping> すると、入り口のファイルに対し、「The requested resource (/プロジェクト名/ファイル名.jsp) is not available.」と警告されました。 strutsではサーブレットの追加は出来ないのでしょうか?ご指摘お願いします。

    • ベストアンサー
    • Java
  • javaサーブレットのweb.xmlについておしえてください

    サーブレット作成中です。初心者です。 まずやりたいことは a.jspを作成しa.jspではformタグのactionにSampleを指定しています。 そして/test/Best.classを実行し、 b.jspに値を表示させます。つぎにb.jspからSample2参照させ /test/Best2.classを実行させたいと思いますが、 以下のようにweb.xmlに書いているのですが うまくいきません。 何がいけないのでしょうか?他に何か設定等いるのでしょうか? また他に手段があるのでしょうか? おしえてください。 ※ちなみにSampleだけの場合はうまくいっています。 SampleとSample2というように二つ設定させると うまくいきません。 ------ web.xmlの中身の一部------- <servlet> <servlet-name>Sample</servlet-name> <servlet-class>test.Best</servlet-class> <servlet-name>Sample2</servlet-name> <servlet-class>test.Best2</servlet-class> </servlet> <servlet-mapping> <servlet-name>Sample</servlet-name> <url-pattern>/Sample</url-pattern> <servlet-name>Sample2</servlet-name> <url-pattern>/Sample2</url-pattern> </servlet-mapping> --------------------------

    • ベストアンサー
    • Java
  • JSPからサーブレットを呼び出す際に404エラー

    現在、tomcatでサーブレット/JSPの勉強をしています。 参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。 JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。 ・ファイルの配置 basic |-input |...|-echo.jsp |-WEB-INF |...|-src |......|-input |.........|-EchoServlet.java |...|-classes |......|-input |.........|-EchoServlet.class |...|-web.xml ・echo.jsp内のサーブレットのパスに関する記述 <FORM ACTION="../servlet/input.EchoServlet"> ・web.xmlの記述 <servlet> <servlet-name>EchoServlet</servlet-name> <servlet-class>input.EchoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>EchoServlet</servlet-name> <url-pattern>/servlet/EchoServlet</url-pattern> </servlet-mapping> tomcatの/confのinvokerのコメントは外していません。 過去の質問も調べてみて、上記の記述の辺りがおかしいのではないかと 思うのですが、、お気付きの点がありましたら教えて頂けないでしょうか。

    • ベストアンサー
    • Java
  • JSPファイルは参照できましたが、サーブレット不可

    JSPファイルは参照できましたが、サーブレットが上手く行きません Eclipse(Ver3)+Tomcat6を使用し、「サーブレット&JSP 逆引き大全」のコーディングを行っております。 JSPファイルは参照できましたが、サーブレットが上手く行きません 表示しようとすると下記エラーが出ます。 The requested resource (/myapp/Sample014/) is not available. ◎web.xmlの設定 [省略]・・・・・・・・・・・・ <servlet> <servlet-name>Sample014</servlet-name> <servlet-class>com.gokui.Sample014</servlet-class> </servlet> <servlet-mapping> <servlet-name>Sample014</servlet-name> <url-pattern>/Sample014</url-pattern> </servlet-mapping> [省略]・・・・・・・・・・・・ ◎ロケーション D:\Users\ueda\workspace\myapp\WEB-INF\web.xml ◎状態 ・http://localhost:8080/myapp/Sample015.jsp は表示される。 ・http://localhost:8080/myapp/Sample014/ は表示されず。 下記URLは参照したのですが、未解決です。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1158881041 http://www.javaroad.jp/bbs/answer.jsp?q_id=20100904015203906 アドバイス頂けると有り難いです。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • java Web.xml ファイルの設定について

    Eclipse 3.4を使用してwebアプリを作成しているのですが、 web.xmlの「filter-mapping」の設定を行った時に処理が「filter」 にて指定した場所へ遷移しません。web.xmlの設定が誤っているのではないかと思い色々調べたのですが、解決しませんでした。 どなたか解決方法等、分かる方がいらっしゃれば教えていただいても よろしいでしょうか。 以上ですが、よろしくお願いいたします。 <Web.xml> <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Rev1</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <filter> <description></description> <display-name>LoginFilter1</display-name> <filter-name>LoginFilter</filter-name> <filter-class>datachk.LoginFilter1</filter-class> </filter> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/Search.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/Datachk</url-pattern> </filter-mapping> <servlet> <description></description> <display-name>LoginChk</display-name> <servlet-name>LoginChk</servlet-name> <servlet-class>datachk.LoginChk</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginChk</servlet-name> <url-pattern>/LoginChk</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>Search</display-name> <servlet-name>Search</servlet-name> <jsp-file>/Search.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>Search</servlet-name> <url-pattern>/Search.jsp</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>Datachk</display-name> <servlet-name>Datachk</servlet-name> <servlet-class>datachk.Datachk</servlet-class> </servlet> <servlet-mapping> <servlet-name>Datachk</servlet-name> <url-pattern>/Datachk</url-pattern> </servlet-mapping> </web-app>

    • ベストアンサー
    • Java
  • eclipse + lomboz + tomcatでのサーブレットの実行方法

    お世話になります。 現在、eclipse + lomboz + tomcatを連携し、メッセージを表示するサーブレット(一部抜粋:参照1)を実行しようとしているのですが、ブラウザにエラーメッセージ(内容:ページが見つかりません HTTP 404 - ファイル未検出)が表示されてしまいます。デプロイ、debug serverは成功してるのですが、サーブレットファイルがうまく配置されてないのでしょうか? web.xmlのmappingやserver.xmlの設定はチェックしております(参照2)。 直接URLで指定したjspファイル、tomcatのサンプルサーブレットの表示はできます。 参照1 ********** SC.java の一部抜粋****************** PrintWriter out = response.getWriter(); out.println("HelloServlet"); *********************************************** 参照2 ********** server.xml ************  <Context path="/SC" reloadable="true" docBase="○○" workDir="○○" /> ********************************** ********** web.xmlの編集 ********** <servlet> <servlet-name>SC</servlet-name> <servlet-class>SC</servlet-class> </servlet> <servlet-mapping> <servlet-name>SC</servlet-name> <url-pattern>/SC</url-pattern> </servlet-mapping> ********************************** ソフトのバージョン  Eclipse:3.0.2  rg.objectweb.lomboz_3.0.1.N20050106  emf-sdo-xsd-SDK-2.0.2  tomcat4.1.27 一般的に何か足りない点や間違ってる点がありましたらご教授願います。 宜しくお願いします。

  • struts関連 web.xmlに複数の<servlet-mappin

    struts関連 web.xmlに複数の<servlet-mapping>を記述する方法について 初歩的なことなのかもしれませんが質問させてください。 Struts1.3.5での質問なのですが、web.xmlにURLパターンを複数記述している場合に servlet-mapping の記載位置が後の方のURLパターンが、 JSPのFormタグで生成されるパスに設定されてしまい、原因が分からず困っています。 現象としては、 例えば、web.xmlの<servlet-mapping>にそれぞれ異なる URLパターンを[/abc/*]→[/xyz/*]の順で記述している場合、 web.xml(抜粋)---------------------------------------------- <servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/abc/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/xyz/*</url-pattern> </servlet-mapping> ---------------------------------------------------------- URLパターンが[/abc/*]となる以下のURLをブラウザで表示した所、 [https:/localhost/{コンテキストルート}/abc/LoginAction] 表示されたJSP内で指定しているformタグのアクションパスが web.xmlで記載したURLパターンのパスではなく、 web.xmlで後の方に記載した別のURLパターンのパス(/xyz/)が設定されてしまいます。 ・表示されるJSP内で指定しているアクションパス <html:form action="/LoginAction"> 上記で生成されるHTML <form name="LoginForm" method="post" action="/コンテキスト名/xyz/LoginAction">       web.xmlでURLパターンを[/xyz/*]→[/abc/*]の順で記述した場合は、 正しくURLパターンで記述したパスが設定されます。 <form name="LoginForm" method="post" action="/コンテキスト名/abc/LoginAction"> ただし、この場合はURLパターンが[/xyz/*]のURLを表示した場合に <form ~ action="/{コンテキストルート}/abc/LoginAction">となってしまいます。 どなたかこうした現象について回避策をご存知の方はいらっしゃらないでしょうか?

    • ベストアンサー
    • Java
  • サーブレットのマッピングについて

    サーブレットのマッピングについて教えてください。 現在サーブレットを学習しています。 書籍に付属するサンプルをとりあえず動かしている段階なのですが、マッピングがうまくいきません。 http://localhost:8080/エントリポイント/servlet/MyServlet とアドレス入力した場合はきちんと表示されるのですが、WEB-INF直下にweb.xmlファイルを作成して http://localhost:8080/エントリポイント/servlet/ms にアクセスすると404エラーが返ってきます。 これは何が原因なのでしょうか? 知識不足もあって皆目検討がつかないため、皆様のお力をお借りしたく思います。 よろしくお願いいたします。 なお、サーブレットはWEB-INF直下のclassesというディレクトリ内にコンパイルしておいてあります。 また、web.xmlの内容は以下のとおりです。 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <!-- MyServlet→msと定義する --> <web-app> <servlet> <servlet-name>ms</servlet-name> <servlet-class>MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ms</servlet-name> <url-pattern>/classes</url-pattern> </servlet-mapping> </web-app>

    • ベストアンサー
    • Java
  • サーブレットファイル 404

    OS はWindows 8で、JDK 6 、Tomcat 6です。 今朝からサーブレットやjspのリンクを叩いても 「 ~を開くことが出来ません。インターネットサイトのレポートによるとリクエストしたアイテムが見つかりませんでした。(HTTP/1.0 404) 」 としか出なくなりました。昨日までは表示されていたんですが・・・ http://localhost:8080/で左上に猫のロゴがあるページは表示されます。 例としてSample1.javaがありますが、 アドレスはhttp://localhost:8080/自分のフォルダ/servlet/Sample1で このサーブレットファイルはC:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\自分のフォルダ\WEB-INF\classesにあります。  web.xml(C:\Users\自分の名前\Desktop\プログラム\Java基本\java_prc\YJK_ish\WEB-INFの直下に有) を確認しても <servlet> <servlet-name>Sample1</servlet-name> <servlet-class>Sample1</servlet-class> </servlet> <servlet-mapping> <servlet-name>Sample1</servlet-name> <url-pattern>/servlet/Sample1</url-pattern> </servlet-mapping> と入っています。 一応8080でバッティングさせないようにPHPで使う方のApache のサーバーもhttpd -k stopで止めておきました。 考えられる原因は何でしょうか? 他に確かめる方法は無いのでしょうか?

    • ベストアンサー
    • Java

専門家に質問してみよう