[Seasar-user:12909] sa-struts-tutorial の web.xmlについて

Masanobu Shimura [E-MAIL ADDRESS DELETED]
2008年 2月 17日 (日) 00:24:22 JST


志村です。下記現象に遭遇したので報告します。

MAYAAとの連携をTESTしたかったので、web.xmlに MayaaServletの定義
を追加した所、

「SchemaLocation: schemaLocation value = '
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd'<http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd%27>must
have even number of
URI <http://d.hatena.ne.jp/keyword/URI>'s.」
といったようなErrorがでました。

Googleで見た所下記の記述をみつけました。
http://d.hatena.ne.jp/t-katochin/20060113/1137146038より引用

偶数個必要ってなんだ??と思いながら調べたところ、ようやく分かりました。ネームスペース 対 XSDファイル
という書き方をしなくちゃなんですね。スペースで区切って記述することで解決しました。

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
                       ↓
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

これを直した所、次に
「The content of element 'welcome-file-list' is not complete. One of
'{"http://java.sun.com/xml/ns/j2ee":welcome-file}' is expected.」
といったようなErrorがでました。

    <welcome-file-list>
    </welcome-file-list>

を削除した所、次に
「Invalid content was found starting with element 'role-name'. No child
element is expected at this point.」
といったようなErrorがでました。

    <security-role>
        <role-name>tomcat</role-name>
        <role-name>role1</role-name>
    </security-role>

となっていましたが、調べた所
http://www.techscore.com/tech/J2EE/Servlet/10-2.html を引用
<security-role>の中に設定できる<role-name>は1つだけで、複数ロールを定義する場合には、その数だけ<security-role>を続けてください。

とのことでしたので、
    <security-role>
        <role-name>tomcat</role-name>
    </security-role>

    <security-role>
        <role-name>role1</role-name>
    </security-role>

と変更しましたら、無事 ERRORが解消しました。

MayaaServletを追加する前は、全く ERRORがでなかった理由が良く判りませんが。

よろしく
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080217/f239eebb/attachment-0001.html 


Seasar-user メーリングリストの案内