• 締切済み

tomcatコマンドプロンプトのエラーメッセージ。

D:\tomcat\webapps\netjv\Web-infの中にWeb.xmlを配置したところ、tomcat再起動時に下記のエラーメッセージが出てきました。意味がわかるかたお願いします。 略 ・ ・ 2003-02-08 13:37:20 - Ctx(/netjv) : Validating web.xml 2003-02-08 13:37:20 - Ctx(/netjv) : web.xml: Error org.xml.sax.SAXParseException : 要素 "servlet" ではここに "servlet-class" を指定することを許可されません。 ERROR reading D:\tomcat\webapps\netjv\WEB-INF\web.xml2003-02-08 13:37:20 - Ctx(/ netjv) : Line 9 /web-app/servlet/ 2003-02-08 13:37:20 - Ctx(/netjv) : web.xml: Error org.xml.sax.SAXParseException : 要素 "servlet" ではここに "init-param" を指定することを許可されません。 2003-02-08 13:37:20 - Ctx(/netjv) : Line 10 /web-app/servlet/ 2003-02-08 13:37:20 - Ctx(/netjv) : web.xml: Error org.xml.sax.SAXParseException : 要素 "servlet" ではここに "init-param" を指定することを許可されません。 2003-02-08 13:37:20 - Ctx(/netjv) : Line 14 /web-app/servlet/ 2003-02-08 13:37:20 - Ctx(/netjv) : web.xml: Error org.xml.sax.SAXParseException : 要素 "servlet" ではここに "init-param" を指定することを許可されません。 2003-02-08 13:37:20 - Ctx(/netjv) : Line 18 /web-app/servlet/ 2003-02-08 13:37:20 - Ctx(/netjv) : web.xml: Error org.xml.sax.SAXParseException : 要素 "servlet" には追加属性が必要です。 ・ ・ ・ 略

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

みんなの回答

noname#16216
noname#16216
回答No.2

<web-app>  <servlet>   <servlet-name>xmlsrv</servlet-name> <- (1)   <servlet-class>chap2.XmlServlet</servlet-class>   <init-param>     : (1) で示している箇所です。 <servlet>には、必ず <servlet-name> が必要です。 ちなみにこれは、web.xml 内で利用するサーブレットクラスの別名として 定義するもので、名前自体は何でも構いません。

noname#16216
noname#16216
回答No.1

正しい順序で要素が記述されていないことが原因です。 web.xml には、DTDに従って記述する順序や記述しなければならない 要素が存在します。

参考URL:
http://www.sk-jp.com/java/servlet/webxml.html
wareha_uminoko
質問者

補足

参考URLを拝見させてもらったのですが,よくわかりませんでした。すいませんが,どこが悪いかご指摘頂けないでしょうか? <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <servlet> <servlet-class>chap2.XmlServlet</servlet-class> <init-param> <param-name>xmlfilepath</param-name> <param-value>/tomcat/webapps/cocoon/netjv/ </param-value> </init-param> </servlet> <servlet> <servlet-class>chap2.MailSendServlet</servlet-class> <init-param> <param-name>smtphost</param-name> <param-value>localhost</param-value> </init-param> <init-param> <param-name>charset</param-name> <param-value>iso-2022-jp</param-value> </init-param> <init-param> <param-name>from</param-name> <param-value>***@mail.goo.ne.jp</param-value> </init-param> </servlet> </web-app>

関連するQ&A

  • TOMCAT起動エラー

    エクリプスでTOMCATを起動させると以下のようなエラーがでます Parse Fatal Error at line 1 column 1: Premature end of file. org.xml.sax.SAXParseException: Premature end of file. 調べていたらhttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=14048&forum=12で回答あるじゃんと思ったら、 『servlet.xml』 <?xml version='1.0' encoding='utf-8'?> 『web.xml』 <?xml version="1.0" encoding="ISO-8859-1"?> ・・・どこがいけないのかが分かりません 回答お願いします

  • Tomcat起動時にエラーが発生します。

    2つのプロジェクトをEclipseで作成しています。 Tomcat4.1をEclipseから起動させていますが、起動時に以下のようなエラーが表示されます。 このエラーに関して解決策がわかる方がいたらご教授いただきたいです。 サービス Tomcat-Standalone を起動します Apache Tomcat/4.1.18 2006/05/26 16:28:33 org.apache.commons.digester.Digester error 致命的: Parse Error at line 97 column 13: The content of element type "servlet" must match "(icon?,servlet-name,display-name?,description?,(servlet-class|jsp-file),init-param*,load-on-startup?,run-as?,security-role-ref*)". org.xml.sax.SAXParseException: The content of element type "servlet" must match "(icon?,servlet-name,display-name?,description?,(servlet-class|jsp-file),init-param*,load-on-startup?,run-as?,security-role-ref*)". at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:232)                  :                  : web.xmlの<servlet>タグの記述方法に間違いがある・・・というような、エラーメッセージに見えるのですが、 同じプロジェクトを他のマシンに入れて、Tomcatを起動しても、このエラーメッセージがでない・・・という状況です。 よろしくお願いいたします。

    • ベストアンサー
    • 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*)" と一致しなければなりません。 お詳しい方、何卒ご教示の程願います。

  • 【Java】Eclipseで作成したTomcatプロジェクトへブラウザ

    【Java】Eclipseで作成したTomcatプロジェクトへブラウザからアクセスできません。 Tomcatは問題なく起動していて、Apache Tomcatへはアクセスできます。 以下に詳細を記載していますのでアドバイスをお願いします。 環境は以下の通りです。 ・Windows XP ・Internet Explorer8.0 or Firefox ・Eclipse Platform 3.4.2 Ganymede (All in one) ・Tomcat6.0 ・jre1.6 EclipseでTomcatを起動でき、その際のコンソールにも特にエラーはありません。 Tomcatを起動した際に http://localhost:8080/ へアクセスすると、Apache Tomcatへ繋がります。 なので問題なくTomcatは起動しています。 EclipseでTomcatプロジェクトとして”mbshop”という名のプロジェクトを作成しました。 http://localhost:8080/mbshop/とアクセスするとHTTPステータス 404 - /mbshop/ と表示されてしまいます。 mbshop配下にWEB/INFがあり、その中にweb.xmlを記述しています。 web.xmlの記述内容は以下の通りです。 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app version="2.5" 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 http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd" <servlet> <servlet-name>invoker</servlet-name> <servlet-class> org.apache.catalina.servlets.InvokerServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> </web-app> Tomcatが起動できApache Tomcatのサイトへアクセスできるのに、 Eclipse内のTomcatプロジェクトが表示できないのは、なぜでしょうか。 いくら調べても原因が見つかりません。 ご存知の方がいれば、アドバイスを下さい。 宜しくお願いします。

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

    現在、以下の環境で開発しております。 ・Eclipce 3.2 + Tomcat5.0 + Struts ・OS:WindowsXP プロジェクトのweb.xmlを以下の様に書き換えるとJspを認識してくれなくなってしまいます。原因が全く掴めず難儀しております。 どうかご助言の程願います。 <?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> <display-name>Struts Blank Application</display-name> -----------------------このブロックを挿入すると404エラーになる <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>Shift_JIS</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> --------------------------------------------------- <!-- Standard Action Servlet Configuration (with debugging) --> <servlet> ・ ・ 日本語の文字化け防止に入れたいのですが、現象の為、入れられず困っています。

  • Tomcatでサーブレットを動かそうとするとHTTP 404エラーにな

    Tomcatでサーブレットを動かそうとするとHTTP 404エラーになってしまいます。 使用環境は以下の通りです。 Tomcat 5.5.20 jdk 1.6.0_20 Eclipse pleiades-e3.5 Tomcatプロジェクト名entryを作成し、WEBINF-src以下に inputパッケージを、その中にHelloServlet.javaを作り、 web-xmlをentryの直下に作成しました。 取り敢えず動作確認をしたいのですが、404エラーになってしまいます。 Tomcatを再起動しても駄目でした。 どなたか助言を頂けると大変助かります。。 以下確認した事です。 ・http://localhost:8080/manager/htmlにて/entryのデプロイを確認済み。 ・textファイルを配置した時はhttp://localhost:8080/entry/hello.txt で動作確認済み。 ・web-xmlは動作確認がとれているものをコピペして必要な部分だけ書き直し、       何度か確認したのですが、記述中の←の所でスペルが正しくありませんと言われています。 <?xml ← version="1.0" encoding="Shift-JIS"?> <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 http://java.sun.com/xml/ns/j2ee/web-appp_2_4.xsd" version="2.4"> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>input.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/HelloServlet</url-pattern> </servlet-mapping> </web-app> 情報が少なくて申し訳ないですが、よろしくお願いします。

    • ベストアンサー
    • Java
  • eclipseでTomcat起動時にエラーがでる

    今.eclipseを使用してサーブレットを作成しようとしているのですが、 Tomcatを起動しようとするとエラーが発生し、画面が表示できません。 http://localhost:8080/にはアクセスできるのですが、 エラーは以下です。 2007/10/04 14:45:05 致命的: エンドポイントを初期化中のエラーです java.net.BindException: Address already in use: JVM_Bind:8080 at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:297) at org.apache.coyote.http11.Http11BaseProtocol.init 2007/10/04 14:45:05 org.apache.catalina.startup.Catalina load 致命的: Catalina.start LifecycleException: プロトコルハンドラの初期化に失敗しました: at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:247) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412) 2007/10/04 14:45:05 org.apache.catalina.startup.Catalina load 情報: Initialization processed in 2714 ms 2007/10/04 14:45:06 org.apache.catalina.core.StandardService start 情報: サービス Catalina を起動します 2007/10/04 14:45:06 org.apache.catalina.core.StandardEngine start 情報: Starting Servlet Engine: Apache Tomcat/5.5.15 2007/10/04 14:45:06 org.apache.catalina.core.StandardHost start 情報: XML検証は無効です 2007/10/04 14:45:07 org.apache.tomcat.util.digester.Digester endElement 致命的: End event threw exception java.lang.IllegalArgumentException: Can't convert argument: null at org.apache.tomcat.util.IntrospectionUtils.convert(IntrospectionUtils.java:975) 致命的: アプリケーションのweb.xml中の解析エラーです java.lang.IllegalArgumentException: Can't convert argument: null at org.apache.tomcat.util.digester.Digester.createSAXException(致命的: 19行の20列目で発生しました 2007/10/04 14:45:07 org.apache.catalina.startup.ContextConfig start 致命的: 前のエラーのためにこのアプリケーションは利用できないようにマークします 2007/10/04 14:45:07 org.apache.catalina.core.StandardContext start 致命的: Error getConfigured 2007/10/04 14:45:07 org.apache.catalina.core.StandardContext start 致命的: 以前のエラーのためにコンテキストの起動が失敗しました [/Chap03] 2007/10/04 14:45:09 org.apache.catalina.core.ApplicationContext log 情報: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]] 2007/10/04 14:45:10 org.apache.catalina.core.ApplicationContext log情報: Coyote HTTP/1.1を http-8080 で起動します 2007/10/04 14:45:13 org.apache.jk.common.ChannelSocket init 情報: JK: ajp13 listening on /0.0.0.0:8009 2007/10/04 14:45:13 org.apache.jk.server.JkMain start 情報: Jk running ID=0 time=0/292 config=null 2007/10/04 14:45:13 org.apache.catalina.storeconfig.StoreLoader load 情報: Find registry server-registry.xml at classpath resource 2007/10/04 14:45:14 org.apache.catalina.startup.Catalina start 情報: Server startup in 8267 ms その際、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> <display-name>Chapter 3 Example</display-name> <servlet> <servlet-name>Chap03SampleServlet</servlet-name> <servlet-class>tmif.chap03.sample01.PersonalInfoCheckServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>Chap03SampleServlet</servlet-name> <ur1-pattern>/servlet/PersonalInfoCheck</ur1-pattern> </servlet-mapping> </web-app> です。 Tomcatのバージョンは5.5・JDKのバージョンは1.5でOSはVistaです。 このときのエラー箇所は</servlet-mapping>の中だと思うのですが 実際エラーとは思えないのですが、ここが原因なのでしょうか? よろしくおねがいします。

  • TomcatのServletについて

    TomcatのServletについて TomcatのServletでエラーが出て困っています。 エラーは405で、「HTTPのGETメソッドは、このURLではサポートされていません。」と表示されます。 このときのServletとweb.xmlは以下の通りです。 -----<Servlet>----------------------------------- public class MyServlet extends HttpServlet { private static final long serialVersionUID = 1L; public MyServlet() { // TODO Auto-generated constructor stub super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/plain; charset=windows-31j"); response.setCharacterEncoding("windows-31j"); PrintWriter writer = response.getWriter(); writer.println("log check"); } } -------------------------------------------------- -----<web.xml>----------------------------------- <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" metadata-complete="true"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> <servlet> <servlet-name>Test</servlet-name> <servlet-class>servlet.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Test</servlet-name> <url-pattern>/test.do</url-pattern> </servlet-mapping> </web-app> -------------------------------------------------- テスト用のServletを動かしてみると、 エラーが出てしまって、どうすればいいか困っています。 なんとかご助言をお願いいたします。 まだまだ情報が足りないかもしれません。 そのようなご指摘もお願いいたします。 よろしくお願いいたします。

  • Tomcat Servletが動きません

    『Javaへの道:Tomcat』のページを参考に同じようにやってるのですが、 JSPはうまくいくのですがServletがうまくいきません。 (長文になります) 参考ページと私の環境で違う点 Windows XP Home → XP Pro Tomcat 6 → Tomcat 7 JDK6.0 → JDK6.23 ポート8080 → 8081 以下のファイル、フォルダを作りました(参考ページそのままです)。 C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\jspdir\HelloJsp.jsp C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\WEB-IMF\classes\HelloServlet.class C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\WEB-IMF\web.xml C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\Catalina\localhost\javaroad.xml --↓↓HelloJsp.jspここから↓↓-- <HTML> <BODY> from JSP source<br> <%= new java.util.Date() %> </BODY> </HTML> --↑↑HelloJsp.jspここまで↑↑-- --↓↓web.xmlここから↓↓-- <?xml version="1.0" encoding="ISO-8859-1"?> <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 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>Hello</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/Hello</url-pattern> </servlet-mapping> </web-app> --↑↑web.xmlここまで↑↑-- --↓↓javaroad.xmlここから↓↓-- <Context path="/javaroad" reloadable="false"/> --↑↑javaroad.xmlここまで↑↑-- JSPを起動 http://localhost:8081/javaroad/jspdir/HelloJsp.jsp → 正しく表示される Servletを起動 http://localhost:8081/javaroad/Hello → ステータス404 The requested resource (/javaroad/Hello) is not available. <気になる点> 1.Tomcatを起動するためStratボタン押しても1回では起動せず、2~3回で起動する。  1回目のときcommons-daemon.2011-01-15.logにこんなログが出る。  [2011-01-15 23:01:16] [error] Pid file 'C:\Program Files\Apache Software Foundation\Tomcat 7.0\logs\tomcat7.pid' exists  [2011-01-15 23:01:16] [error] ServiceStart returned 1 2.servletクラスは正しくコンパイルできているのか 状況を詳しく説明しようとして長々と書いてしましたが Servletを表示するにはどうしたらいいでしょう? 足りない情報があれば追加します。

    • ベストアンサー
    • Java

専門家に質問してみよう