什么工作当我在web.xml中添加JSF相关标签时

时间:2013-01-03 08:22:19

标签: jsf

当我向 web.xml 添加JSF相关标签时,没有任何工作,并且它会出错。如果我删除 web.xml 中的XML标记,那么所有.jsp和servlet都可以正常工作。我还将jsf-api.jar,jsf-impl.jar,jstl.jar和standard.jar添加到我的项目的lib文件夹中仍然无法正常工作所以我将这些jar文件添加到tomcat中的lib文件夹中但是它仍然不是工作

index.xhtml到url的错误1:

  

XML解析错误:找不到元素
  地点:http://www.touchegolfmart.com/index.xhtml
  第1行,第1列:

Erro2没有index.xhtml到url

找不到文件
Firefox无法在http://www.touchegolfmart.com/找到该文件。

我的web.xml文件是


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


   <web-app version="3.0" 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-app_3_0.xsd">
 <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
 </context-param>
 <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>*.xhtml</url-pattern>
 </servlet-mapping>
 <session-config>
    <session-timeout>
        30
    </session-timeout>
 </session-config>
 <welcome-file-list>
    <welcome-file>index.xhtml</welcome-file>
   </welcome-file-list>
</web-app>

tomcat的conf文件夹中的server.xml中的上下文路径是:

 <Host name="touchegolfmart.com" appBase="/home/rathan">
      <Alias>www.touchegolfmart.com</Alias> 
      <Context path="" reloadable="true" docBase="public_html" debug="1"/>
     <!-- <Context path="/manager" debug="0" privileged="true"
          docBase="/usr/local/jakarta/tomcat/server/webapps/manager">
      </Context>-->
   </Host>

文件夹结构是: index.jsp的
WEB-INF / classes中
WEB-INF / lib目录
WEB-INF / faces-config.xml中
WEB-INF / web.xml中
WEB-lib的/ lib目录/ JSF-api.jar中,JSF-impl.jar中,的jstl.jar,standard.jar。
META-INF / context.xml中

2 个答案:

答案 0 :(得分:0)

我很快就举了一些例子。 在webapp文件夹中创建T文件夹。 创建文件hello.xhtml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"      
      xmlns:h="http://java.sun.com/jsf/html">

    <h:head>
        <title>JSF 2.0 Hello World</title>
    </h:head>
    <h:body>
        <h3>JSF 2.0 Hello World Example</h3>
        <h:form>

            <h:commandButton value="Click" action="welcome"></h:commandButton>
        </h:form>
    </h:body>
</html>

创建文件welcome.xhtml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"      
      xmlns:h="http://java.sun.com/jsf/html">

    <h:head>
        <title>JSF 2.0 Hello World</title>
    </h:head>
    <h:body bgcolor="white">
        <h2>JSF 2.0 Hello World Example</h2>
    </h:body>
</html>

在T文件夹中创建此文件夹WEB-INF后创建了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" id="WebApp_ID" version="2.5">
  <display-name>JSFHelloWorld</display-name>
  <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
  </context-param>
  <welcome-file-list>
    <welcome-file>faces/hello.xhtml</welcome-file>
  </welcome-file-list>
  <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>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>
</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_2_0.xsd"
    version="2.0">

</faces-config>

还在T / WEB-INF文件夹中创建了lib文件夹,里面有jsf-api-2.1.12.jar,jsf-impl-2.1.12.jar,jstl-1.2.jar文件。

这样可行,但我没有使用任何POJO。

答案 1 :(得分:0)

不要手动将文件放在appBase文件夹中,而是放置.war文件并通过jar命令解压缩,然后重新启动tomcat使我的应用程序工作。