2012-12-06 30 views
0

工作,我是新來的JSF,所以我想使用WebSphere 8在Eclipse中簡單的JSF項目,但我收到以下錯誤:JSF項目不與WebSphere

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

我觀察到,當我添加下面的罐子時,我得到這個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文件有問題嗎?我該如何解決這個問題?

+1

你的web.xml看起來很好。然而,將所提到的JAR添加到Web應用程序卻非常奇怪,因爲Websphere本身已經與這些庫一起提供。您不應該需要添加這些庫。擺脫這些JAR並重試。然而,我不能保證它能修復異常和404,它可能有不同的原因。 – BalusC

+0

@BalusC我刪除了那些JAR,它現在工作正常!謝謝! :) – Rajath

+0

好的,我將其轉貼爲答案。 – BalusC

回答

4

Websphere作爲一個完整的Java EE應用程序服務器,已經包含JSF和JSTL。在瞄準準系統servlet容器(如Tomcat或Jetty)時,您不需要像Web應用程序那樣提供它們。這些問題很可能是由於Websphere提供的JSF JAR與Web應用程序提供的JSF JAR之間的版本不兼容導致的,其中包括FacesServlet無法啓動。如果沒有運行FacesServlet,則*.jsf URL將不會再被識別,因此最終會變成404.有關FacesServlet啓動問題的更多詳細信息應該在Web應用程序的服務器啓動日誌中可見。

因此,從您的Web應用程序中刪除這些JSF和JSTL JAR,它應該按預期工作。