我是jsf rich face编程的新手。正在创建一个名为“ Greeter”的简单程序。我已包含所有与RichFaces相关的jar文件
richfaces-api-3.1.4.GA.jar
richfaces-impl-3.1.4.GA.jar
richfaces-ui-3.1.4.GA.jar
jhighlight-1.0.jar
commons-logging.jar
commons-beanutils.jar
commons-collections.jar
commons-digester.jar
web.xml文件是
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- Plugging the "Blue Sky" skin into the project -->
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
<!-- Making the RichFaces skin spread to standard HTML controls -->
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>
<!-- Defining and mapping the RichFaces filter -->
<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<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.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>
<description>UsernName Bean</description>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>demo.user</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>name</property-name>
<property-class>java.lang.String</property-class>
<value/>
</managed-property>
</managed-bean>
</faces-config>
index.jsp文件是
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<!-- RichFaces tag library declaration -->
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<html>
<head>
<title>RichFaces Greeter</title>
</head>
<body>
<f:view>
<a4j:form>
<rich:panel header="RichFaces Greeter" style="width: 315px">
<h:outputText value="Your name: " />
<h:inputText value="#{user.name}" >
<f:validateLength minimum="1" maximum="30" />
</h:inputText>
<a4j:commandButton value="Get greeting" reRender="greeting" />
<h:panelGroup id="greeting" >
<h:outputText value="Hello, " rendered="#{not empty user.name}" />
<h:outputText value="#{user.name}" />
<h:outputText value="!" rendered="#{not empty user.name}" />
</h:panelGroup>
</rich:panel>
</a4j:form>
</f:view>
</body>
</html>
和user.java文件是
package demo;
public class user {
private String name="";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
并且浏览器上的错误消息是
HTTP状态404-/Gree/index.jsp
类型状态报告
消息/Greeter/index.jsp
说明所请求的资源(/Greeter/index.jsp)不可用。
日志文件消息为
2011年4月10日,上午12:05:05 org.apache.coyote.http11.Http11Protocol初始化
INFO:在端口8080上初始化Coyote HTTP / 1.1
2011年4月10日上午12:05:05 org.apache.catalina.startup.Catalina负载
INFO:初始化在1000毫秒内完成
2011年4月10日12:05:05 org.apache.catalina.core.StandardService开始
INFO:启动服务Catalina
2011年4月10日,上午12:05:05 org.apache.catalina.core.StandardEngine启动
信息:启动Servlet引擎:Apache Tomcat / 5.0.16
2011年4月10日,上午12:05:05 org.apache.catalina.core.StandardHost开始
INFO:禁用XML验证
2011年4月10日,上午12:05:05 org.apache.catalina.core.StandardHost getDeployer
INFO:创建用于直接部署的主机部署程序(非jmx)
2011年4月10日,上午12:05:05 org.apache.catalina.core.StandardHostDeployer安装
INFO:处理上下文配置文件URL文件:G:\ Tomcat5.0 \ conf \ Catalina \ localhost \ admin.xml
2011年4月10日,12:05:06 org.apache.struts.util.PropertyMessageResources
信息:初始化,config ='org.apache.struts.util.LocalStrings',returnNull = true
2011年4月10日,12:05:06 org.apache.struts.util.PropertyMessageResources
信息:正在初始化,config ='org.apache.struts.action.ActionResources',returnNull = true
2011年4月10日,上午12:05:07 org.apache.struts.util.PropertyMessageResources
信息:正在初始化,config ='org.apache.webapp.admin.ApplicationResources',returnNull = true
2011年4月10日,上午12:05:09 org.apache.catalina.core.StandardHostDeployer安装
INFO:处理上下文配置文件URL文件:G:\ Tomcat5.0 \ conf \ Catalina \ localhost \ balancer.xml
2011年4月10日,上午12:05:09 org.apache.catalina.core.StandardHostDeployer安装
INFO:处理上下文配置文件URL文件:G:\ Tomcat5.0 \ conf \ Catalina \ localhost \ manager.xml
2011年4月10日,上午12:05:09 org.apache.catalina.core.StandardHostDeployer安装
INFO:在URL文件:G:\ Tomcat5.0 \ webapps \ Gree的上下文路径/ Gree上安装Web应用程序
2011年4月10日上午12:05:10 org.apache.catalina.core.StandardContext开始
严重:error filterStart
2011年4月10日上午12:05:10 org.apache.catalina.core.StandardContext开始
严重:由于先前的错误,上下文启动失败
2011年4月10日,上午12:05:10 org.apache.catalina.core.StandardHostDeployer安装
INFO:在URL文件:G:\ Tomcat5.0 \ webapps \ jsp-examples的上下文路径/ jsp-examples中安装Web应用程序
2011年4月10日,上午12:05:10 org.apache.catalina.core.StandardHostDeployer安装
INFO:在URL文件的上下文路径中安装Web应用程序:G:\ Tomcat5.0 \ webapps \ ROOT
2011年4月10日,上午12:05:10 org.apache.catalina.core.StandardHostDeployer安装
INFO:在URL文件:G:\ Tomcat5.0 \ webapps \ servlets-examples的上下文路径/ servlets-examples上安装Web应用程序
2011年4月10日,上午12:05:10 org.apache.catalina.core.StandardHostDeployer安装
INFO:在URL文件:G:\ Tomcat5.0 \ webapps \ tomcat-docs的上下文路径/ tomcat-docs上安装Web应用程序
2011年4月10日,上午12:05:10 org.apache.coyote.http11.Http11Protocol开始
INFO:在端口8080上启动Coyote HTTP / 1.1
2011年4月10日,12:05:11 org.apache.jk.common.ChannelSocket初始化
INFO:JK2:ajp13在/0.0.0.0:8009上监听
2011年4月10日,上午12:05:11 org.apache.jk.server.JkMain开始
INFO:Jk运行ID = 0时间= 0/47 config = G:\ Tomcat5.0 \ conf \ jk2.properties
2011年4月10日12:05:11 org.apache.catalina.startup.Catalina开始
INFO:服务器在5797毫秒内启动
请帮助我摆脱这个错误。我已经尝试了很多,但是错误消息来了。谢谢。
最佳答案
检查您在web.xml中编写的代码,
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
因此,您可以通过index.faces而不是index.jsp访问页面
关于jsp - JSF中的简单程序抛出404错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5607185/