WEB-INFの下にあるリソースはパブリックドメインではなく、これは仕様によるものであることを理解しています。
web.xmlで次のように構成することにより、WEB-INFの下のリソース(HTMLなど)にアクセスできます。
<servlet>
<servlet-name>resourceId</servlet-name>
<jsp-file>/WEB-INF/resource.xsl</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>resourceId</servlet-name>
<url-pattern>/resource.xsl</url-pattern>
</servlet-mapping>
しかし、クライアント側でドキュメント作成APIを使用すると、document.implementation.createDocumentが非推奨の警告を発し、代わりにXMLHttpRequestを提案するという奇妙な状況に直面します。このAPIを使用してXSL/XMLドキュメントを次のようにロードしようとしています
xmlFile = document.implementation.createDocument("", "", null);
xmlFile.async = false;
xmlFile.load("resource.xsl");
そして、私は警告を受け取ります:
Document.load()の使用は非推奨です。コードをアップグレードするには、DOMXMLHttpRequestオブジェクトを使用します。詳細についてはhttps://developer.mozilla.org/en/XMLHttpRequest*
しかし、リソースをWebContentまたはWebRootフォルダーの下に直接配置し、そのためのweb.xml構成を削除すると、スムーズに機能します。ぜんぜんわかりません。私はこれをFF3.6.5、5.0.1、9、10でテストしました。これを説明してください。
また、失敗時、つまりWEB-INFフォルダーに配置されたリソースが原因で警告が表示された場合、警告にもかかわらずブラウザーの読み込みに成功することもわかりました。Firebugはそれを示しています。ただし、XSLまたはXMLはtext / htmlとしてロードされ、オブジェクトxmlFileはかなり空で、データが入力されていません。成功した場合、応答ヘッダーにapplication / xmlが表示され、xmlFileオブジェクトが適切に入力されています。助けてください