0

私はJSFを初めて使用するため、Websphere 8を使用してEclipseで単純なJSFプロジェクトを開発しようとしていますが、次のエラーが発生します。

Error 404: com.ibm.ws.webcontainer.servlet.exception.NoTargetForURIException: No target servlet configured for uri: /KeyValue/index.jsf 

次のjarファイルを追加すると、この404エラーが発生することがわかりました。

  1. jsf-api
  2. jsf-impl
  3. jstl-api-1.2
  4. jstl-impl-1.2

これが私の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" version="2.5">
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
      </servlet-mapping>
      <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
      </context-param>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
      </welcome-file-list>
    </web-app>

web.xmlファイルに何か問題がありますか?問題を解決するにはどうすればよいですか?

4

1 に答える 1

4

Websphereは、JSFとJSTLがすぐに使用できる本格的なJavaEEアプリケーションサーバーとして出荷されます。TomcatやJettyなどの必要最低限​​のservletcontainerをターゲットにする場合のように、Webアプリケーションに沿ってそれらを提供する必要はありません。これらの問題は、Websphereによって提供されるJSFJARとWebappによって提供されるJSFJARの間のバージョンの非互換性が原因である可能性が高く、特にFacesServlet起動に失敗します。が機能しないとFacesServlet*.jsfURLは認識されなくなり、404になります。ただし、起動の問題に関する詳細FacesServletは、サーバーのWebアプリケーションの起動ログに表示されているはずです。

したがって、これらのJSFおよびJSTL JARをWebアプリケーションから削除すると、期待どおりに機能するはずです。

于 2012-12-07T11:20:01.450 に答える