- - PR -
web.xmlについて
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-05-21 18:49
お世話になります。
デプロイメントディスクリプタの構文規則についてわからない点があるので質問します。 Tomcat 4.1.27を起動すると、 致命的: Parse Error at line 48 column 11: The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)". org.xml.sax.SAXParseException: The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)". といった、構文エラーが出るのですが、この理由がよくわからないのです。 web.xmlには、 <?xml version="1.0" encoding="UTF-8" ?> <!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> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <error-page> <error-code>404</error-code> <location>/error.jsp</location> </error-page> <servlet> <servlet-name>CertificationExerciseServlet</servlet-name> <servlet-class>servletbasic.CertificationExerciseServlet</servlet-class> </servlet> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet> <servlet-name>SelfInfoServlet</servlet-name> <servlet-class>servletbasic.SelfInfoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CertificationExerciseServlet</servlet-name> <url-pattern>/CertificationExerciseServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/HelloServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>SelfInfoServlet</servlet-name> <url-pattern>/SelfInfoServlet</url-pattern> </servlet-mapping> </web-app> とだけ記述しています。 サーブレット2.3のデプロイメントディスクリプタのDTDでは、いくつかのelementは、使わないのなら定義しなくてもいいように書いてあると思うのですが・・・。 エラー情報に書かれているelementは必須なんでしょうか? それとも、別に気にしなくても良いのでしょうか? どなたかご教授願います。 Windows2000 + SP4(最新状態) Tomcat 4.1.27 j2sdk1.4.2_04 | ||||
|
投稿日時: 2004-05-21 18:58
えーと、DTDの読み方はご存知でしょうか?
web-appの下には必須項目はありませんが、
カンマで区切られている要素は、この順番を守る必要があります。 つまり、servlet要素の前にwelcome-file-listやerror-pageが書かれているためにエラーに なっているのです。 | ||||
|
投稿日時: 2004-05-21 20:52
回答ありがとうございます。
必須があったように見えましたが、見間違いだったようです。すみません。 # +が1回以上で、?が0回以上で、何も書いていないのが必須、 # パーティカルバーで区切られているのがどちらかを、で良いのですよね? また、順番があったとは知りませんでした。 手元の書籍を確認すると、ちゃんと順番を守れと書いてありました。 以後、気を付けます。 ありがとうございました。 | ||||
|
投稿日時: 2004-05-21 21:02
0回以上は*、?は0か1です。何も書いてないのは必須というか1。 | ||||
|
投稿日時: 2004-05-21 22:00
たびたび済みません。
# さすが私・・・。 しっかり覚えておきます。 ありがとうございました。 | ||||
1
