web.xmlで複数のSevletのURLを指定

このQ&Aのポイント
  • web.xmlで複数のServletのURLをまとめて指定する方法について
  • Servletクラスを追加するたびにweb.xmlにURLを指定する方法について
  • classesフォルダ内のServletクラスのURL指定について
回答を見る
  • ベストアンサー

web.xmlで複数のSevletのURLを指定

お世話になります。 現在、新しいServletを作るたびにweb.xmlに追加しているのですが、 フォルダ内全てのServletのURLをまとめて指定するようなことは出来ないのでしょうか。 例. classesフォルダ |--hogeフォルダ   |--Serv1.class(hoge.Serv1)   |--Serv2.class(hoge.Serv2)   |--Serv3.class(hoge.Serv3) の3つのServletクラスをそれぞれ /hoge/Serv1 /hoge/Serv2 /hoge/Serv3 あるいは /hoge/hoge.Serv1 /hoge/hoge.Serv2 /hoge/hoge.Serv3 に指定。 それとも1つ1つSevrletの数だけのURLを指定していく方法しかないのでしょうか。 ご存知の方、よろしくお願い致します。

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

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

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

たぶんinvokerを有効にすることで解決できると思います。

sakuhat
質問者

お礼

<servlet>   <servlet-name>invoker</servlet-name>   <servlet-class>     org.apache.catalina.servlets.InvokerServlet   </servlet-class> </servlet> <servlet-mapping>   <servlet-name>invoker</servlet-name>   <url-pattern>/hoge/*</url-pattern> </servlet-mapping> で出来るようになりました。 ありがとうございました。

関連するQ&A

  • web.xmlの書き方

    初めまして。最近Servletを始めた者です。 いきなりweb.xmlの書き方でつまづいてしまっています。 フォルダ構成は webapps\study\WEB-INF |____classes___test___Test.class | |____jsp(空) | |____web.xml になっています。 環境はWin2k j2sdk-1_4_1_04 jakarta-tomcat-4.1.27 です。 とりあえず自分の書いたweb.xmlは下記のとおりです。 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app>  <servlet>   <servlet-name>Test</servlet-name>   <servlet-class>test.Test</servlet-class>  </servlet> <servlet-mapping> <servlet-name>Test</servlet-name> <url-pattern>/servlet/Test</url-pattern> </servlet-mapping> </web-app> このまま http://localhost:8080/study/servlet/Test にアクセスしようとすると javax.servlet.ServletException: サーブレットインスタンスを割り当て中のエラーです java.lang.NoClassDefFoundError: test/Test (wrong name: Test) と出てしまいTest.classは表示されません。 ちなみにTest.classを一つ上のフォルダclassesの直下に入れてあげて <servlet-class>test.Test</servlet-class> を <servlet-class>Test</servlet-class> にしてあげるとちゃんと表示されます。 なのでそこの記述の仕方がわかっていないのだと思っていますがなかなかうまくいかないのです。 もしよろしければご教授願えるとありがたいです。 それでは失礼いたします。

    • ベストアンサー
    • 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
  • 新しいWebアプリをTomcat4.0に追加するには?

    servletを使った掲示板の製作を行っています。 実際のWebアプリは開発中のため 試しに簡単なアプリを仮に登録しようと思い Webアプリを配置したもののローカルでもうまく起動してくれません。 フォルダ構成も  %CATALINA_HOME%\webapps   |----SampleAdressApp\      |----WEB-INF\           |----classes\               |----*******1.class               |----*******2.class           |----web.xml      |----index.html   |----examples\ といった配置で配置しています。 web.xmlには Tomcatの既存(サンプル)のweb.xmlをコピーし 以下を追加しました。 <servlet> <servlet-name> *********1 </servlet-name> <servlet-class> SampleAdressApp.*********1 </servlet-class> </servlet> <servlet-mapping> <servlet-name> *********1 </servlet-name> <url-pattern> /SampleAdressApp1 </url-pattern> </servlet-mapping> それで http://localhost:8080/SampleAdressApp/index.html で接続しにいくと、以下のメッセージが表示されてエラーになります。  Apache Tomcat/4.0.4 - HTTP Status 404 - /SampleAdressApp/index.html  type Status report  message /SampleAdressApp/index.html  description The requested resource (/SampleAdressApp/index.html) is not available. 解決するにはどうすればよいのでしょうか? 直接、server.xmlに追加する方法もとってみましたが、 無理でした・・・ 教えてください m(__)m よろしくお願いします、

  • web.xmlの書き方2

    すいません下の質問なのですが フォルダ構成は WEB-INF |____classes___test___Test.class | |____jsp(空) | |____web.xml となっております。 あと質問に追加なのですが。 他の書籍のweb.xmlを参考にして web.xmlの書き出しの部分を <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> では無く、 <?xml version="1.0" encoding="UTF-8" ?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> にしてトライしてみたところ、そもそもTomcatを起動させる時点で多数のエラーが出ます。 Tomcatのエラーは 致命的: Parse Error at line 8 column -1: 要素タイプ "servlet-name" は宣言されて いません。 org.xml.sax.SAXParseException: 要素タイプ "servlet-name" は宣言されていません。 といった物が多数でます。 これについてもお答え願えれば幸いです。 それでは失礼いたします。

    • ベストアンサー
    • Java
  • web.xml難しいです。。

    Tomcatを起動すると以下のエラーが出てて、 解決できません。 サービス Tomcat-Standalone を起動します Apache Tomcat/4.1.18 2003/03/10 22:12:47 org.apache.commons.digester.Digester error 致命的: Parse Error at line 29 column 11: The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filt er*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-map ping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,sec urity-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref *)". ■Web.xmlの内容 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>KS</servlet-name> <servlet-class>jp.co.test1.KSevlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>KServlet</servlet-name> <url-pattern>/servlet/KServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>KDServlet</servlet-name> <servlet-class>jp.co.test1.KDServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>KDServlet</servlet-name> <url-pattern>/servlet/KDServlet</url-pattern> </servlet-mapping> </web-app>

    • ベストアンサー
    • Java
  • Javaサーブレットを読み込んでくれません…

    現在、社内での新プロジェクトの為にJSPの研修を行っています。 開発環境 ・Windows2000 Service Pack 4 ・JDK 1.5.0_06 ・Tomcat 5.5.20 JDKとTomcatのインストールは正常に終了し、http://localhost:8080/は正常に見ることが出来ました。 その後、<Tomcat-Home>/webapps/ROOT/entryフォルダを作成し、 ・entry/WEB-INF/ ・entry/WEB-INF/classes/ 以上二つのフォルダを作成して、WEB-INFフォルダ直下にweb.xmlファイルを作成しています。 classesフォルダの中にHelloServlet.classを置き、web.xmlファイルの中身を書き換えてTomcatを再起動させてみたのですが、http://localhost:8080/entry/HelloServletとURLを打ってみても見ることが出来ません。 何か間違っているのか、設定不足なのか…教えていただければ幸いです、よろしくお願いいたします。 ************<web.xml>************ <web-app> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/HelloServlet</url-pattern> </servlet-mapping> *********************************

    • ベストアンサー
    • Java
  • web.xmlの書き方

    web.xmlの書き方 質問させてください webcontent\day5\rsMeta.jspというファイルにブラウザからアクセスしたいのですが、エラーが出ます。 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>Jijyodoryoku</display-name> <servlet> <servlet-name>rsMeta</servlet-name> <jsp-file>/day5/rsMeta.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>rsMeta</servlet-name> <url-pattern>/rsMeta</url-pattern> </servlet-mapping> </web-app>

    • ベストアンサー
    • 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
  • 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
  • tomcatのweb.xmlについて

    tomcatのweb.xmlについての質問です。 eclipseにサーバーからソースをインポートしてプロジェクトを作成しました。 ビルドパス等の問題は解決したのですが、web.xmlの以下に示す箇所だけどうしてもエラーが解消出来ません。 色々調べてみた結果、要素の順番が悪いのだろうとは理解出来ましたが、順番を変えてもエラーが出続けます。 どこがいけないのでしょうか? web.xmlの記述 <servlet> <init-param> <param-name>browseDirs</param-name> <param-value>false</param-value></init-param> <servlet-name>FileServlet</servlet-name> <servlet-class>jrun.servlet.file.FileServlet</servlet-class> <description>This servlet may override a corresponding FileServlet in SERVER-INF/default-web.xml.If removed, the servlet in default-web.xml will be used.</description> </servlet> エラー内容 要素タイプ "servlet" のコンテンツは "(icon?,servlet-name,display-name?,description?,(servlet-class|jsp-file),init-param*,load-on-startup?,run-as?,security-role-ref*)" と一致しなければなりません。 お詳しい方、何卒ご教示の程願います。

専門家に質問してみよう