# JSF - Daten in Session speichern



## apparat (26. Jul 2006)

Ich habe vor in einer JSF-App einen Login einzubauen.
Nun ist dir Frage wie man die Daten in eine Session speichert. Aus Servlets kenne ich das mit session.setAttribute.
Wie sieht das nun mit JSF aus? Wann speichere ich die Daten in eine Session, also das sie in der ganzen App vorhanden bleiben?
Ich bräuchte ja ein Servlet zum Login. Wenn ich dann in diesem login Servlet die Session speichere, bleibt sie dann in allen anderen Teilen auch vorhanden?

Wie geht das bei JSF?


----------



## Ralf Ueberfuhr (26. Jul 2006)

Beim Rational Application Developer lässt es sich im Page-Data-View einstellen. Manuell geschieht dies in der Datei /WEB-INF/faces-config.xml, hier ein Auszug von einem Beispiel:


```
<?xml version="1.0"?>

<!--
 Copyright 2003 Sun Microsystems, Inc. All rights reserved.
 SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
-->

<!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>
	<managed-bean>
		<managed-bean-name>Number</managed-bean-name>
		<managed-bean-class>NumberBean</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>
	<managed-bean>
		<managed-bean-name>pc_Index</managed-bean-name>
		<managed-bean-class>pagecode.Index</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>
	<managed-bean>
		<managed-bean-name>pc_Output</managed-bean-name>
		<managed-bean-class>pagecode.Output</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>
	<navigation-rule>
		<from-view-id>/index.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/output.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>failure</from-outcome>
			<to-view-id>/index.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>

	<lifecycle>
		<phase-listener>com.ibm.faces.webapp.ValueResourcePhaseListener</phase-listener>
	</lifecycle>
	
	<validator>
		<validator-id>NumberValidator</validator-id>
		<validator-class>NumberValidator</validator-class>
	</validator>
	
	
	<application>
		<variable-resolver>com.ibm.faces.databind.SelectItemsVarResolver</variable-resolver>
		<property-resolver>com.ibm.faces.databind.SelectItemsPropResolver</property-resolver>
	</application>	


</faces-config>
```


----------



## apparat (26. Jul 2006)

würde ich dann eine bean nehmen wo ich die Session Informationen speichere und alle anderen Anfragen über einen Filter laufen lassen oder wie?


----------

