# Glassfish, Eclipse + JavaserverPages



## Empire Phoenix (20. Feb 2011)

Hallo, ich habe eineFrage zu jsf, nachdem ich jetzt den ganzen Tag gegoogelt habe und einfach nicht verstehe wo das Problem ist. (Auch wenn ich vermute, das es ein relativ einfaches ist, ich finde es einfach nicht)

Ich will eine simple .jsf mit dem Glassfish benutzen. Habe dazu deren Eclipseteil runtergeladen dort nen prject angelegt, soweit funktioniert das auch gut bei .jsp's. Das Problem ist, das bei .jsf kein Fehler kommt, sondern einfach der code unverarbeitet ausgegeben wird.

Die funktionierende Jsp

```
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
  <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    	<title>GlassFish JSP Page</title>
  </head>
  <body>
    <%  System.out.println( "Evaluating date now" );  
    	java.util.Date date = new java.util.Date();
    %>
    Hello!  The time is now
	<%
    	out.println( date );
    	out.println( "<BR>Your machine's address is " );
    	out.println( request.getRemoteHost());
	%>
  </body>
</html>
```

Die nicht funktionierende JSF

```
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:h="http://java.sun.com/jsf/html" 
      xmlns:f="http://java.sun.com/jsf/core" 
      xmlns:c="http://java.sun.com/jsp/jstl/core">

 <head>
  <title>enter your name page</title>
 </head>
 <body>
   <f:view>
     <h1>
      <h:outputText value="Header"/>
     </h1>
   </f:view>
 </body>
</html>
```

Die aktuelle 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>NHSite</display-name>

  <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>
```

In der Web xml habe ich schon einige verschiedene permutationen von 

```
<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>*.jsf</url-pattern>
     </servlet-mapping>
```
versucht, dann bekomme ich 

```
javax.servlet.ServletException: PWC1232: Exceeded maximum depth for nested request dispatches: 20
```

Allerdings hatte ich irgetwo gelesen, das man bei Glassfish3 nichts einstellen muss, weil der bereits alles für JSF2.0 mitbringt?
Daher habe ich das wieder entfernt, womit die .jsf Dateien dann unverarbeitet ausgegeben werden.

Ich hoffe jemand kann mir helfen, bin derzeit am verzweifeln damit.


----------



## gman (20. Feb 2011)

Probier mal:


```
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:h="http://java.sun.com/jsf/html" 
      xmlns:f="http://java.sun.com/jsf/core" 
      xmlns:c="http://java.sun.com/jsp/jstl/core">

 <h:head>
  <title>enter your name page</title>
 </h:head>
 <h:body>
   <f:view>
     <h1>
      <h:outputText value="Header"/>
     </h1>
   </f:view>
 </h:body>
</html>
```

Also die "h"-Prefixe auch für die head und body-Tags nutzen. Und setze auch das Faces-Servlet wieder ein.


----------



## Empire Phoenix (20. Feb 2011)

Hm hat leider nicht geholfen, jetzt habe ich wieder diesen hier


```
[#|2011-02-20T12:32:22.227+0100|WARNING|glassfish3.0.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=30;_ThreadName=http-thread-pool-80-(1);|ApplicationDispatcher[/nhsite] PWC1231: Servlet.service() for servlet Faces Servlet threw exception
javax.servlet.ServletException: PWC1232: Exceeded maximum depth for nested request dispatches: 20
	at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:807)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:517)
	at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:488)
	at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:379)
	at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:336)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:314)
	at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:542)
	at com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:355)
	at com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:130)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
	at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:822)
-> ab hier zu zeile 1 springen und von vorne lesen, 20 mal
```

Ich vermute das der sich irgetwie bei der suche nach dem Faces servlet aufhängt, aber leider habe ich keine ahnung warum :/


----------



## gman (20. Feb 2011)

Hier steht noch ein Tipp der besagt, das man die Welcome-Filelist anpassen sollte (letzter Post). Versuch es mal damit.


----------



## Empire Phoenix (21. Feb 2011)

Hm nein dann kommt immernoch der obige Fehler. Ich rufe die Datei direct auf mit url/jsftest.jsf, 
Wenn ich die in die welcomelist packe, kommt sofort obiger fehler statt meiner index.jsp test datei, denke das gibt lediglich an welches die Dateien sind die automatisch angezeigt werden sollen wenn keine angegeben ist.


----------



## gman (21. Feb 2011)

> statt meiner index.jsp



Bei JSF 2.0 gibts eigentlich nur XHTML. Mach mal die JSPs weg. Hat deine JSF-Seite eigentlich auch die 
Endung ".jsf"? Das wird aus deinem ersten Post nicht so ganz deutlich. Wenn ja: In *.xhtml umbenennen.


----------



## Empire Phoenix (21. Feb 2011)

Hm doch hatte .jsf, aber das scheint garnicht das problem zu sein, habe es jetzt zum laufen gebracht, ich hatte zwei url pattern dinger drinnen, eine für xhtml und eine für jsf weil ich dachte kann net schaden die xhtml zu behalten,... kann es doch!

Danke an alle die mir geholfen haben


----------

