java - Embedded Tomcat doesn't execute jsf pages -


solved: used wrong namespace, see explanation after post.

when trying run embedded tomcat , navigating jsf page, jsf tags rendered page , doesn't executed.

edit: added maven project to

https://github.com/traugott/embedded-tomcat-example-jsf-dont-work.git 

simply clone with

git clone https://github.com/traugott/embedded-tomcat-example-jsf-dont-work.git 

the file create tomcat embedded server is:

package launch;  import java.io.file; import org.apache.catalina.context; import org.apache.catalina.core.aprlifecyclelistener; import org.apache.catalina.core.standardserver; import org.apache.catalina.startup.tomcat;  public class main {    public static void main(string[] args) throws exception {      string webappdirlocation = "src/main/webapp/";     tomcat tomcat = new tomcat();     tomcat.setport(8080);      tomcat.setbasedir(".");     tomcat.gethost().setappbase(".");     tomcat.setsilent(false);      // add aprlifecyclelistener     standardserver server = (standardserver) tomcat.getserver();     aprlifecyclelistener listener = new aprlifecyclelistener();     server.addlifecyclelistener(listener);      context ctx = tomcat.addwebapp("/", new file(webappdirlocation).getabsolutepath());     tomcat.addservlet(ctx, "jsf_servlet", "javax.faces.webapp.facesservlet");     ctx.addservletmapping("*.xhtml", "jsf_servlet");     tomcat.start();     tomcat.getserver().await();   } } 

the web.xml (under src/main/webapp/web-inf) is:

<?xml version="1.0" encoding="utf-8"?> <web-app version="2.5" 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_2_5.xsd">    <display-name>test</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>*.xhtml</url-pattern>   </servlet-mapping>    <welcome-file-list>     <welcome-file>index.xhtml</welcome-file>   </welcome-file-list>    <listener>      <listener-class>com.sun.faces.config.configurelistener</listener-class>   </listener>     </web-app> 

the index.xhtml (under src/main/webapp/):

<?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:h="http://xmlns.jcp.org/jsf/html"       xmlns:ui="http://xmlns.jcp.org/jsf/facelets">   <h:head>   </h:head>   <h:body>     <h:outputtext value="hallo jsf-tomcat-embedded-welt"/>   </h:body> </html> 

and, @ last, pom.xml

<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"   xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">   <modelversion>4.0.0</modelversion>   <groupid>com.heroku.sample</groupid>   <artifactid>embeddedtomcatsample</artifactid>   <version>1.0-snapshot</version>   <name>embeddedtomcatsample maven webapp</name>   <url>http://maven.apache.org</url>   <properties>     <tomcat.version>7.0.34</tomcat.version>   </properties>   <dependencies>         <dependency>         <groupid>org.apache.tomcat.embed</groupid>         <artifactid>tomcat-embed-core</artifactid>         <version>${tomcat.version}</version>     </dependency>     <dependency>         <groupid>org.apache.tomcat.embed</groupid>         <artifactid>tomcat-embed-logging-juli</artifactid>         <version>${tomcat.version}</version>     </dependency>     <dependency>         <groupid>org.apache.tomcat.embed</groupid>         <artifactid>tomcat-embed-jasper</artifactid>         <version>${tomcat.version}</version>     </dependency>     <dependency>         <groupid>org.apache.tomcat</groupid>         <artifactid>tomcat-jasper</artifactid>         <version>${tomcat.version}</version>     </dependency>     <dependency>         <groupid>org.apache.tomcat</groupid>         <artifactid>tomcat-jasper-el</artifactid>         <version>${tomcat.version}</version>     </dependency>     <dependency>         <groupid>org.apache.tomcat</groupid>         <artifactid>tomcat-jsp-api</artifactid>         <version>${tomcat.version}</version>     </dependency>     <dependency>       <groupid>com.sun.faces</groupid>       <artifactid>jsf-api</artifactid>       <version>2.1.13</version>     </dependency>     <dependency>       <groupid>com.sun.faces</groupid>       <artifactid>jsf-impl</artifactid>       <version>2.1.13</version>     </dependency>     <dependency>       <groupid>javax.servlet</groupid>       <artifactid>javax.servlet-api</artifactid>       <version>3.0.1</version>     </dependency>   </dependencies>   <build>     <finalname>embeddedtomcatsample</finalname>     <plugins>         <plugin>             <groupid>org.codehaus.mojo</groupid>             <artifactid>appassembler-maven-plugin</artifactid>             <version>1.1.1</version>             <configuration>                 <assembledirectory>target</assembledirectory>                 <programs>                     <program>                         <mainclass>launch.main</mainclass>                         <name>webapp</name>                     </program>                 </programs>             </configuration>             <executions>                 <execution>                     <phase>package</phase>                     <goals>                         <goal>assemble</goal>                     </goals>                 </execution>             </executions>         </plugin>     </plugins>   </build> </project> 

i don't know problem is, guess missed something.

can ?

i go it. i've used wrong namespace. in question above namespace still wrong (it namespace jsf 2.2). uploaded index.xhtml correct namespace github.

for versions given in pom.xml-file, namespace jsf html tags have be: http://java.sun.com/jsf/html


Comments

Popular posts from this blog

database - VFP Grid + SQL server 2008 - grid not showing correctly -

jquery - Set jPicker field to empty value -

.htaccess - htaccess convert request to clean url and add slash at the end of the url -