JSF在JBoss4.2.2 GA上部署出现java.lang.ClassCastException

imA 2007-12-14 08:31:03
我写了一个简单的JSF应用,代码如下:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp_ID">
<display-name>myjsf</display-name>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>
javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>

<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>feng.jsf.UserBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<navigation-rule>
<display-name>pages/index</display-name>
<from-view-id>/pages/index.jsp</from-view-id>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/pages/welcome.jsp</to-view-id>
</navigation-case>
</navigation-rule>

</faces-config>

pages/index.jsp
<%@ taglib uri="/WEB-INF/jsf_core.tld" prefix="f"%>
<%@ taglib uri="/WEB-INF/html_basic.tld" prefix="h"%>
<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head>
<title>第一个JSF程序</title>
</head>
<body>
<f:view>
<h:form>
<h3>请输入您的名称</h3>
名称:<h:inputText value="#{user.name}" />
<p><h:commandButton value="送出" action="login" />
</h:form>
</f:view>
</body>
</html>

pages/welcome.jsp
<%@ taglib uri="/WEB-INF/jsf_core.tld" prefix="f"%>
<%@ taglib uri="/WEB-INF/html_basic.tld" prefix="h"%>
<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head>
<title>第一个JSF程序</title>
</head>
<body>
<f:view>
<h:outputText value="#{user.name}" />您好!
<h3>欢迎使用JavaServer Faces!</h3>
</f:view>
</body>
</html>

f.jsf.UserBean.java
package f.jsf;

public class UserBean {
private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

}

目录结构如下图:

我将这个应用打包成war格式,然后部署到%JBoss_Home%\server\default\deploy目录下,然后启动JBoss(run -c default),在启动时产生了如下异常:
2007-12-13 14:30:26,963 ERROR [STDERR] java.lang.ClassCastException: com.sun.faces.lifecycle.LifecycleFactoryImpl
2007-12-13 14:30:26,973 ERROR [STDERR] at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:805)
2007-12-13 14:30:26,973 ERROR [STDERR] at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:486)
2007-12-13 14:30:26,973 ERROR [STDERR] at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:381)
2007-12-13 14:30:26,973 ERROR [STDERR] at org.jboss.web.jsf.integration.config.JBossJSFConfigureListener.contextInitialized(JBossJSFConfigureListener.java:69)
......................

我用的jsf版本是1.1,jdk版本是5.

谁能知道怎么回事?帮我找一下线索,我弄了一天了也不知所以然,谢谢。

有线索的朋友可以联系我 Gtalk:hahalyf@gmail.com QQ:75773126 Msn:imyf_liang@hotmail.com(不经常上) 谢谢!!
...全文
168 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
imA 2007-12-14
  • 打赏
  • 举报
回复
tomcat上面正常,

可能跟JBoss的jsf实现有关,我用的sun的jsf实现。

但是我也曾尝试把lib下面的jar包去掉,发布到JBoss上,但是还是有异常。

6,786

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧