2012-12-06 149 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,它应该按预期工作。