2

I´ma JSF-初心者で、SpringとHibernateを使用して小さなJSF2Webアプリケーションを構築してみてください。私が選んだサーバーはJBOSS7.1ASです。

プレフィックスURLパターンを使用してサーブレットをマップしようとしたときに奇妙なエラーが発生しました。これは、サーブレットを宣言するweb.xmlの一部です。

<servlet>
    <servlet-name>FacesServlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>/webapplication/*</url-pattern>
</servlet-mapping>

ブラウザを「localhost:8080 / myapp / webapplication / index.xhtml」に向けると、Mojarra / Faceletsが生成されたエラーが発生します:「/index.xhtmlがリソースとしてExternalContextに見つかりません」。代わりにURLパターンを「*.xhtml」に設定すると、すべてが正常に機能します。

Prefix-Patternが機能しない理由がわかりません:/

ご挨拶

4

1 に答える 1

1

私は解決策を見つけました:D!

プレフィックスパターンを使用する場合、xhtmlファイルをその名前のフォルダーに配置する必要があると思いました。たとえば、パターン「/ webapplication / *」を使用したので、「webapplication」フォルダーを作成し、そこにWebファイルを配置しました。さて、ブラウザを「{host} /myapp/webapplication/index.xhtml」に向けると、サーバーが「{root}/webapplication/index.xhtml」内のファイルを検索することを期待していました。代わりに、サーブレットはURLを「{host}/myapp/index.xhtml」として解決しました。ファイルがそこに配置されていないため、FileNotFound-Errorが発生します。

また、リソースフォルダーにurlパターンと同じ名前を付けないことも学びました。

于 2012-08-21T13:29:56.737 に答える