Eclipse中的JSF项目不能与Websphere一起使用

时间:2012-12-06 08:28:43

标签: eclipse jsf websphere web.xml

我是JSF的新手,所以我尝试使用Websphere 8在Eclipse中开发简单的JSF项目,但是我收到以下错误:

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

我观察到当我添加以下罐子时,我得到这个404错误。

  1. jsf-api
  2. JS​​F-IMPL
  3. JS​​TL-API-1.2
  4. JS​​TL-IMPL-1.2
  5. 以下是我的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 个答案:

答案 0 :(得分:4)

Websphere已经成为一个完整的Java EE应用服务器,已经开箱即用JSF和JSTL。在针对像Tomcat或Jetty这样的准系统servlet容器时,您不需要像在需要时那样在Web应用程序中提供它们。这些问题很可能是由Websphere提供的JSF JAR与webapp提供的JSF JAR之间的版本不兼容引起的,导致FacesServlet无法启动。如果没有正常运行的FacesServlet,则*.jsf网址将不再被识别,因此最终为404.但是,有关FacesServlet启动问题的详细信息应该在webapp的启动日志中可见服务器。

因此,从Web应用程序中删除这些JSF和JSTL JAR,它应该按预期工作。