Jsf und Websphere

firestone

Bekanntes Mitglied
Hallo zusammen,

nach viel zumprobieren etc habe ich nun herausgefunden das viele Probleme die ich mit meiner JSF Anwendung habe daran lagen, das Websphere als jar Datei nur JSP 1.1 anbietet die Anwendung aber auf JSF 2.0 basiert.

Nun habe ich meinen Implementierungsdeskriptor so eingestellt das er zuerst die Klasse der Anwendung läd. Nun vermute ich das meine Anwendung noch zu wenig jar Dateien hat.

ich habe derzeit nur 2 jar Dateien eingebunden

jsf-api-2.0.1.jar
jsf-impl-2.0.1.jar

Welche jar Dateien sind noch zwingend notwendig, damit meine JSF Anwendung funktionieren kann ? Ich arbeite mit xhtml Dateien und bekomme derzeit den Fehler

Wo kann ich die Jar Dateien runter laden die ich noch brauche ?
Java:
java.io.FileNotFoundException: JSPG0036E: Die Ressource /showMenu.jsp wurde nicht gefunden.	at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.findWrapper(AbstractJSPExtensionProcessor.java:317)	at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:282)	at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:321)	at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:325)	at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:257)	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:239)	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:118)	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:592)	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:481)	at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:321)	at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:609)	at com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:113)	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3507)	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:269)	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:815)	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:122)	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:267)	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)	at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)

Lg Fireli
 

firestone

Bekanntes Mitglied
Kann mir denn keiner helfen :(

also ich bin zwar ein Stück weiter aber funktioniert immer noch nicht komplett

Ich habe nun folgende jar Dateien eingebunden
jsf-api-2.0.1.jar
jsf-facelets.jar
jsf-impl-2.0.1.jar

Diese drei jar Files habe ich auch als gemeinsam genutze Bibliothek in den Websphere Server eingebaut und diese in einen Klassenlader eingebunden . Die Files werden auch zuerst geladen zusätzlich habe ich in der EAR Datei gesagt das er mit den Klassen der Anwendung zuerst laden soll

Die Anwendung selbst hat auch diese 3 jar Files im build Pfad

meine web.xml sieht wie folgt aus
Java:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app id="WebApp_ID">
	<display-name>Stammdaten</display-name>
  	<welcome-file-list>
    	<welcome-file>showMenu.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>*.jsf</url-pattern>
		<url-pattern>*.xhtml</url-pattern>
	</servlet-mapping>
</web-app>

meine faces-config
Java:
<?xml version="1.0"?>
<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">

	<application>
		<locale-config>
			<default-locale>de</default-locale>
			<supported-locale>en</supported-locale>
			<supported-locale>de</supported-locale>
		</locale-config>
		<message-bundle>de.bsdwest.jsf.resources.messages</message-bundle>
		<resource-bundle>
			<base-name>de.bsdwest.jsf.resources.messages</base-name>
			<var>msgs</var>
		</resource-bundle>
	</application> 	
	
</faces-config>

Ich bekomme zumindest die showMenu.xhtml die wie folgt aussieht angezeigt
Java:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!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://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">

<h:head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" type="text/css" href="./css/default.css" />    
    <title>#{msgs.mainmenu_title}</title>
</h:head>

<h:body>
	<f:view>
	
	<h2>#{msgs.mainmenu_header}</h2>
	
	<p>
		
		<h:form>
		<ul>
			<li><a href="showActualList.jsf">#{msgs.mainmenu_actualList}</a></li>
			<li><a href="showAllItems.jsf">#{msgs.mainmenu_fullList}</a></li>
			<li>
				<h:commandLink id="link" action="#{ctrlStammdaten.createEntry}">
  					<h:outputText value="#{msgs.mainmenu_newEntry}"/>
				</h:commandLink>
			</li>
		</ul>
		</h:form>
	</p>
	</f:view>
</h:body>
</html>

Versuche ich nun aber die showActualList.jsf aufzurufen, so bekomme ich einen file not found error und bei dem h:command link passiert gar nichts :(

Hat jemand einen Tip was noch fehlt? Ich weiss das diese Anwendung unter einem normalen Eclipse gelaufen ist möchte sie jetzt aber auf einem Websphere 7.0 laufen lassen :(

Lg Fireli
 

firestone

Bekanntes Mitglied
Ok ich bin noch einen schritt weiter wenn ich in der showMenu.xhtml die Endung jsf in xhtml ändere, so bekomme ich meine Seiten angezeigt Oo

woran liegt das ?
 

y0dA

Top Contributor
Dein WAS ist ein 6.1 ?

Wir stehen auch gerade bei dem Problem an, dass der WAS 6.1 ein "altes" JSP.jar hat, sonst wäre alles funktional für myFaces 1.2 - zur Zeit könnten wir nur 1.1 nehmen und da mache ich es lieber gleich selber..

Bist du mit deinem Problem noch weiter gekommen?
 

firestone

Bekanntes Mitglied
Huhu

ja also die Anwendung habe ich ans laufen bekommen bis auf die Tatsache das in meiner xhtml Datei die normalen links also <a href.... mit der Endung jsf nicht funktionieren . Also ich habe in dem Link auf eine Datei mit der Endung jsf verlinkt diese Seite gibt es aber nur als xhtml Datei dachte er löst den Namen automatisch auf und setzt das um macht er aber nicht wieso weiss ich nicht.

Aber die Anwendung ans rennen gekriegt habe ich indem ich eine sogenannte gemeinsam genutze Bibliothek angelegt habe . Da rein habe ich die neuen jar Files gelegt. Dann habe ich dem ganzen Server noch einen Klassenlader verpasst der genau die neu angelegte Bibliothek läd dann habe ich noch den Anwendungen beim starten mitgegeben das die Anwendung mit den Klassen der Anwendung zuerst läd und das alles zusammen hat die Lösung des Problems gebracht .

;) wenn noch fragen sind her damit :)
 
Ähnliche Java Themen

Ähnliche Java Themen


Oben