xmlについての初心者のエラーとは?

このQ&Aのポイント
  • Javaのサーブレットの勉強を今日始めた初心者がxmlファイルを書いてクリックすると、学校のパソコンではソースが表示されるが、自宅のパソコンではエラーが出る。
  • エラーメッセージにはXMLページを表示できず、XSLスタイルシートを使用したXML入力は表示できないとあり、ドキュメントの最上位では無効なエラーが発生していることが分かる。
  • ブラウザはIE6を使用しており、解決策を求めている。
回答を見る
  • ベストアンサー

xmlについて

Javaのサーブレットの勉強を今日始めた初心者です。 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"> <web-app> <servlet> <servlet-name>myservlet</servlet-name> <servlet-class>javahello.HelloWorldParamServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myservlet</servlet-name> <url-pattern>/servlet/myservlet</url-pattern> </servlet-mapping> </web-app> ______________________________________________ エラーメッセージ _______________________ XML ページを表示できません XSL スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。 -------------------------------------------------------------------------------- ドキュメントの最上位では無効です。リソース 'file:///C:/Program Files/Apache Group/Tomcat 4.1/webapps/sjc/WEB-INF/web.xml' の実行エラーです。ライン 17、位置 ... </web-app> _________________________ ブラウザはIE6です。 どなたか頭の悪い私に教えていただけないでしょうか?

  • Java
  • 回答数3
  • ありがとう数4

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

  • ベストアンサー
  • bgbg
  • ベストアンサー率53% (94/175)
回答No.3

一番最後の</web-app>の後に余計な改行や文字が入っていませんか。 PCによって動かないのではなく文字の打ち間違いに原因がある気がします。 出来れば完全に動くファイルをそのまま使ってみましょう。 もしくは、動かない方のPCはインターネットにつながっていますか? インターネットにつながってないPCでこのXMLは表示できないはずです。

pochao_29
質問者

お礼

ありがとうございます。 昨夜遅くに、解決いたしました。 別サイトで質問したところ、的確な答えが頂けました。 文字の打ち間違え等ではなかったです。 bgbgさんは、可能性を示してのお答えなので感謝いたします。

その他の回答 (2)

回答No.2

こんばんわぁ、Blackwinglsです。 ひょっとして学校で作ったのをコピー&ペーストしていませんか? そう長いソースでもないので、自宅のパソコンでテキストエディタ使ってコツコツと打ち込んでみてください。 たぶん、何でダメだったのかそれで分かると思いますよ。 私のPCでは正常に表示できたので、#1さんがおっしゃるようにソースは悪くないと思います。 ではでは~☆ミ 余談 > 余計なお世話かもしれませんが、頭が悪いのなら勉強して下さい。 プププ・・・ 手厳しいコメントですが、笑えました(^-^;

pochao_29
質問者

お礼

ちなみに、家にある、もう一台のパソコンで同じことをしたら、表示できました。こっちのパソコンは勉強用には使えないので、何か、パソコンによって違うことがあるのでしょうか?お願いです。本当にお願いです、教えてください。(コチラは単純にコピー&ペーストでしたがいけました。)

pochao_29
質問者

補足

すみません。コツコツうったんですがダメでした。 ホントにお願いします。教えてください。

noname#19197
noname#19197
回答No.1

学校で動いてた同じソースというのは、ファイルが同一のものということですか? このソース自体は悪くないようです。 ファイルのエンコードを確認してみて下さい。 メモ帳だと、見えないコードがまぎれたりすることがあります。 改行コードをCR+LFにしたりして色々試して見て下さい。 余計なお世話かもしれませんが、頭が悪いのなら勉強して下さい。

pochao_29
質問者

お礼

ちなみに、家にある、もう一台のパソコンで同じことをしたら、表示できました。こっちのパソコンは勉強用には使えないので、何か、パソコンによって違うことがあるのでしょうか?お願いです。本当にお願いです、教えてください。

pochao_29
質問者

補足

ありがとうございます。 朝学校で、習い、家でtomcat等をインストールしてやってみてダメで、本屋で本を買ってきてみても判らず、すがる思いで質問したのですが、初心者以下は質問してはいけないようですね。ゴメンナサイ。

関連する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
  • サーブレットのマッピングについて

    サーブレットのマッピングについて教えてください。 現在サーブレットを学習しています。 書籍に付属するサンプルをとりあえず動かしている段階なのですが、マッピングがうまくいきません。 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
  • 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
  • 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
  • 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におけるサーブレットの呼び出し

    tomcatに関してですが、現在サーブレットからjspを呼び出すようなことをしたいと思い、web.xmlを以下のように設定し、”http:localhost:8080/servlet/Login”としても『HTTP Status 404 - 』が返却されます。jspからサーブレットを呼び出すことはできるのですが・・・(この場合、jspファイルをWEB-INFの直下にディレクトリを作成するとやはりアクセスができませんでした。WEB-INFと同レベルに置けばアクセスは可能でした。)。 どなたかわかる方がいれば教えて下さい! よろしくお願いします。 --------------- 環境 --------------- Windows2000Server eclipse ver2.1.1 tomcat ver4.1 --------------- ディレクトリ構成 --------------- WEB-INF Lclasses | LLogin_serv.java Ljsp LLogin.jsp --------------- 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"> <web-app> <servlet> <servlet-name>Login</servlet-name> <servlet-class>serv.Login_serv</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet> <url-pattern>Login</url-pattern> </servlet-mapping> </web-app> 補足:tomcat-confにあるweb.xmlの『invoker』はコメントを外し有効にしてます。

    • ベストアンサー
    • 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
  • 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 3.5 完全攻略』という本で学習途中なのですが、Se

    『Eclipse 3.5 完全攻略』という本で学習途中なのですが、Servletで行き詰まってしまいました。 どなたかアドバイスをお願いいたします。 <エラー内容> http://localhost:8080/myweb/ にアクセスしても404エラーです。 「The requested resource (/myweb/) is not available.」 といわれてしまいます。 <環境> Eclipse 3.5 Tomcat 6.0 Workspace:CATALINA_HOME/webapps Tomcatプロジェクトです。 プロジェクト名はmywebです。 <実行させたいjavaのファイル> WEB-INF/srcにあります。 パッケージはhoge クラス名はMyServlet なので、ソースはhoge.MyServlet.java です。 package hoge; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyServlet extends HttpServlet{   @Override   protected void doGet(HttpServletRequest req, HttpServletResponse resp)         throws ServletException, IOException {       // TODO 自動生成されたメソッド・スタブ       super.doGet(req, resp);       resp.getWriter().println("hello");   } } <Web.xml> WEB-INF直下にあります。 <?xml version="1.0" encoding="ISO-8859-1"?> <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_2_5.xsd"    version="2.5">   <servlet>     <servlet-name>mysrv</servlet-name>     <servlet-class>hoge.MySertvlet</servlet-class>   </servlet>   <servlet-mapping>     <servlet-name>mysrv</servlet-name>     <url-pattern>/mysrv</url-pattern>   </servlet-mapping> </web-app> よろしくお願い致します。

    • ベストアンサー
    • Java
  • Servletが動かない

    下記のようなサーブレットを作成し、web.xmlも記述して動かしてみようとしたところ下記のようなエラーが発生して動きません。(Win2000、Tomcat4.1) ~~~HelloWorldServlet.java package test_servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloWorldServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html; charset=Shift_JIS"); PrintWriter out = res.getWriter(); out.println("<html>"); out.println("<head>"); out.println("</head>"); out.println("<body>"); for (int i = 1; i <= 10; i++) { out.println("Hello World" + Integer.toString(i)); } out.println("</body>"); out.println("</html>"); } } ~~~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"> <web-app> <servlet> <servlet-name>HellowWorld</servlet-name> <servlet-class>test_servlet.HelloWorldServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HellowWorld</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping> </web-app> ~~~http://localhost:8080/hello接続時のスタック javax.servlet.ServletException: クラス test_servlet.HelloWorldServlet はサーブレットではありません

    • ベストアンサー
    • Java

専門家に質問してみよう