# myfaces staret nicht



## 0knowledge (28. Mrz 2008)

Für den Einstieg in JSF (myfaces) habe mehrere einfache Tutorials ausprobiert, stoße aber leider immer auf den gleichen Fehler.
	
	
	
	





```
javax.servlet.ServletException: Servlet execution threw an exception

root cause

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
	org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:332)
	org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
	org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
```

Die hierbei benutze Konfig ist (web.xml)
	
	
	
	





```
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
	xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

	<servlet>
		<servlet-name>JavaServer Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>JavaServer Faces Servlet</servlet-name>
		<url-pattern>/faces/*</url-pattern>
	</servlet-mapping>

</web-app>
```
und (faces-config.xml)
	
	
	
	





```
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" 
 "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">

<faces-config>
 	<navigation-rule>
    	<from-view-id>/eingabe.jsp</from-view-id>
    	<navigation-case>
      		<from-outcome>success</from-outcome>
      		<to-view-id>/ausgabe.jsp</to-view-id>
    	</navigation-case>  
	</navigation-rule>
  	<managed-bean>
  		<managed-bean-name>Square</managed-bean-name>
		<managed-bean-class>b1.SquareBean</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean> 
</faces-config>
```
Der dazugehörige Seitenquellcode für eingabe.jsp
	
	
	
	





```
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
	<title>Berechnung eines Flächeninhaltes</title>
</head>

<body>
<f:view>
    <h:form id="inputForm">
		Bitte geben Sie eine Seitenlänge ein:	
		<h:inputText value="#{Square.length}" /> 
		<h:commandButton value="Berechnen" action="success" /> 
	</h:form>
</f:view>
</body>
</html>
```
und ausgabe.jsp
	
	
	
	





```
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
	<title>Berechnung eines Flächeninhaltes</title>
</head>

<body>
<f:view>
    


    <h:form id="inputForm">
		Ergebnis der Berechnung


		Ihre Eingabe war: <h:outputText value="#{Square.length}" />
		

		damit ist der Flächeninhalt: <h:outputText value="#{Square.area}" /> 
	</h:form>
</f:view>
</body>
</html>
```
Zum Entwickeln benutze ich Eclipse mit dem Sysdeo plugin und Tomcat 6.0. Ein Aufruf der Seite _http://localhost:8080/Faces1/faces/eingabe.jsp_ erzeugt den obengenannten Fehler.
Beim starten erzeugt Tomcat u. a. diese Meldungen





> INFO: Starting up Tomahawk on the MyFaces-JSF-Implementation
> 28.03.2008 02:55:19 org.apache.myfaces.webapp.AbstractFacesInitializer initFaces
> WARNUNG: No mappings of FacesServlet found. Abort initializing MyFaces.


so dass ich mir nicht sicher bin ob der Fehler in der konkreten Anwendung oder in der algemeinen Konfiguration des Tomcat liegt. Ich bin davon ausgegangen das es ausreicht die myfaces *.jar Dateien in das lib Verzeichnis des Server zu kopieren (zur Sicherheit habe ich die Dateien aber noch einmal extra zum Eclipse Project hinzugefügt). 
In welche Richtung sollte ich nach dem Fehler suchen?


----------



## Gast (1. Apr 2008)

Das deutet klar auf fehlende Libs hin. 

z.B. jstl.jar. Suche dir ein Bsp. aus dem Web und kopiere die Libs in das lib Verzeichnis deiner Webanwendung.


----------

