Spring Sessions erzeugen und abrufen

purzel

Bekanntes Mitglied
Hallo, ich arbeite mich gerade in Spring ein und habe dazu eine Frage.

Wie kann man eine Session erzeugen und wieder abrufen? Ich arbeite mit Spring 3 MVC!

Mit Google bin ich leider nicht fündig geworden... :(

LG

Purzel
 
Zuletzt bearbeitet:
G

Gelöschtes Mitglied 5909

Gast
Meinst du den ApplicationContext oder was meinst du?

Java:
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

Wenn du eine HttpSession meinst, kannst du über HttpServletRequest#getSession() an die Session gelangen.

Chapter13.Web MVC framework

Generell: Die Spring Doku hilft meistens
 

purzel

Bekanntes Mitglied
Danke für deine Antwort,

in JSF2 war es ja einfach eine Session als scope zu erzeugen, gibt es da auch etwas in der Richtung bei Spring oder muss ich dann evtl. die HttpSession nehmen? Wenn ich die Möglichkeit wie in JSF2 habe, kannst du mir ein kleines Bsp. posten?

Danke!
 
G

Gelöschtes Mitglied 5909

Gast
Ich hab ehrlich gesagt keine Ahung von JSF, aber mich würde es wundern wenn JSF eine eigene Session hat.
(Bzw eine andere als die HttpSession - wie man drauf zugreift ist was anderes)
 

purzel

Bekanntes Mitglied
Willst du einen Bean welcher innerhalb einer Session lebt (Stichwort Session-Scope)?
Das kannst du entsprechend konfigurieren (XML/Annotation)

Hast Du dafür evtl. ein Beispiel?

Habe es bisher erfolglos so probiert:

Login.java
Java:
public boolean Login(HttpServletRequest request) {
        try{
            Class.forName(db_driver);
            try{
                Connection db = DriverManager.getConnection(db_url, db_username, db_password);

                String selectStatement = "SELECT username, password FROM users WHERE username = ? AND password = ?";

                PreparedStatement prepStmt = db.prepareStatement(selectStatement);
                prepStmt.setString(1, username);
                prepStmt.setString(2, password);
                ResultSet rs = prepStmt.executeQuery();

                if(rs.next()) {
                    loginvalue = true;
                    HttpSession session = request.getSession(true);
                    session.setAttribute("username", username);
                } else {
                    loginvalue = false;
                }
                
                db.close();
            } catch(Exception db_error) {
                System.out.println(db_error);
            }
        } catch(Exception db_driver_error) {
            System.out.println(db_driver_error);
        }
        return loginvalue;
    }

Profil.java
Java:
Login login = new Login();
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, Exception {
        ModelAndView modelAndView = new ModelAndView("profil");
        modelAndView.addObject("ok", login.Login(request));
        HttpSession session = request.getSession(true);
        Session_ID = session.getId();
        Session_IsNew = session.isNew();
        Session_Username = session.getAttribute("username").toString(); //ergibt immer nullPointerException ???:L
        modelAndView.addObject("session_id", Session_ID);
        modelAndView.addObject("session_isnew", Session_IsNew);
        modelAndView.addObject("session_username", Session_Username);
        return modelAndView;
    }
 

DerEisteeTrinker

Bekanntes Mitglied
es wäre jetzt mal interessant, wie du das Attribut "username" in die Session bekommen möchtest. Denn wenn du NULL bekommst, dann ist da unter dem Namen nichts vorhanden.

Wenn du eine XML-Definition von Spring benutzt, dann kannst du das über den Scope definieren.
 

purzel

Bekanntes Mitglied
es wäre jetzt mal interessant, wie du das Attribut "username" in die Session bekommen möchtest. Denn wenn du NULL bekommst, dann ist da unter dem Namen nichts vorhanden.

Das Attribut "username" kommt aus dem Formular, das funktioniert auch da das DBQuery korrekt ausgeführt wird.

Wenn du eine XML-Definition von Spring benutzt, dann kannst du das über den Scope definieren.

Hast Du dafür evtl. ein kleines Beispiel, oder kannst Du mir einen Tipp geben wie so etwas aussieht?
 

pizza1234

Mitglied
Hi,
als erstes empfehle ich dir mal, wenn du unbedingt mit plain JDBC arbeiten willst, das JDBC-Template von Spring zu benutzen : Doku.
Wie deine Login-Methode funktieren soll, ist mit schleierhaft, wie kommen denn "db_username", usw in die login-Methode? Ich glaube, du schmeißt hier auch ne Menge Begriffe durcheinander. Dein Sessionhandling übernimmt normalerweise dein Container (Tomcat) für dich. Damit DI funktioniert, sprich an deine injizierten Beans kommst, musst du den Tomcat auch dafür konfigurieren. Dann kommst du an deinen ApplicationContext von Spring und kannst dir per Annotation/xml deine Beans in deinen MVC-Controller injizieren. Login & Co, also Authorisierung/Authentifizierung solltest du entweder vom Tomcat oder von zb. Spring Security machen lassen.
Schau dir mal die Beispiele Petclinic usw. auf der Springseite an und lies vor allem ausführlich die Doku...!

Grüße
Peter
 

purzel

Bekanntes Mitglied
Wie deine Login-Methode funktieren soll, ist mit schleierhaft, wie kommen denn "db_username", usw in die login-Methode? Ich glaube, du schmeißt hier auch ne Menge Begriffe durcheinander.

Danke für deine Antwort!

Das "db_username" steht als finales Attribut bereit, was ich vergessen habe zu erwähnen.

Zu den anderen Empfehlungen: Danke für die Tipps, werde das mit dem Spring Security mal genauer ansehen.
 

purzel

Bekanntes Mitglied
Danke für die Tipps, werde das mit dem Spring Security mal genauer ansehen.

Ich habe mir das nun endlich angesehen mit Spring Security. Bin auch schon weit gekommen sodass ich mich ein- und ausloggen kann. Das einzige was nicht funktioniert ist die Eigenschaft (role). Es wird mir zwar korrekt aus der Datenbank ausgelesen (Granted Authorities: ROLE_USER, ROLE_MOD, ROLE_ADMIN), allerdings erhalte ich ein Access is denied wenn ich die geschützte Seite für die Role (ROLE_ADMIN) aufrufe.

Wo könnte mein Fehler liegen?

PS:

applicationContext-security.xml
<http use-expressions="true">
<intercept-url pattern="/secure/admin/**" access="hasRole('ROLE_ADMIN')" />
<intercept-url pattern="/secure/mod/**" access="hasRole('ROLE_MOD')" />
<intercept-url pattern="/secure/**" access="isAuthenticated()" />
<intercept-url pattern="/**" access="permitAll" />
<form-login login-processing-url="/j_spring_security_check" login-page="/login.jsp" authentication-failure-url="/login.jsp?login_error=t" />
<logout />
<remember-me />
</http>

index.jsp (erscheint nicht wie gewünst)
<sec:authorize access="hasRole('ROLE_ADMIN')">
Du bist ein Admin! <a href="admin/index.jsp">Verwaltung</a><br/><br/>
</sec:authorize>

<sec:authorize access="hasRole('ROLE_MOD')">
Du bist ein Moderator! <a href="mod/index.jsp">Moderator</a><br/><br/>
</sec:authorize>

LG

Purzel
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
dunhillone Problem mit Spring & Hibernate Sessions Frameworks - Spring, Play, Blade, Vaadin & Co 2
dunhillone Problem mit Spring & Hibernate Sessions Frameworks - Spring, Play, Blade, Vaadin & Co 2
8u3631984 Ist es möglich in Spring Entity generische Listen verwenden Frameworks - Spring, Play, Blade, Vaadin & Co 3
R Spring Boot Test Assertions mit Objekten Frameworks - Spring, Play, Blade, Vaadin & Co 6
8u3631984 Pfad zu Test Datei in application.yml in Spring Boot Test Frameworks - Spring, Play, Blade, Vaadin & Co 7
R Spring Boot sql Beziehungen Frameworks - Spring, Play, Blade, Vaadin & Co 12
8u3631984 Spring JPA Probleme beim SPeichern von Sets Frameworks - Spring, Play, Blade, Vaadin & Co 3
M Spring Boot 3 Datenbanken zur Laufzeit Verbinden Frameworks - Spring, Play, Blade, Vaadin & Co 5
8u3631984 Spring JDBC Probleme beim Spaltennamen Frameworks - Spring, Play, Blade, Vaadin & Co 3
LimDul Spring-Batches in Docker über Rest starten/verfolgen Frameworks - Spring, Play, Blade, Vaadin & Co 0
ExceptionOfExpectation In Meiner Spring-Boot Applikation verlangt die Datenbank Wert für eine ID Frameworks - Spring, Play, Blade, Vaadin & Co 5
H Spring Boot Applikation und JHM Benchmark sowie ContextConfiguration in H2 Tests ich bekomme es nicht hin Frameworks - Spring, Play, Blade, Vaadin & Co 2
ExceptionOfExpectation Tests in Spring-Boot Frameworks - Spring, Play, Blade, Vaadin & Co 4
R Eure Erfahrungen mit Primefaces und Spring - wer managed die Beans Frameworks - Spring, Play, Blade, Vaadin & Co 4
Avalon Get Request doppelt abfeuern ohne Post Redirect Get Pattern. Spring Boot Thymeleaf MVC Frameworks - Spring, Play, Blade, Vaadin & Co 12
thor_norsk Konfigurationsprobleme mit Spring Boot Frameworks - Spring, Play, Blade, Vaadin & Co 9
R Spring Boot Integration-testing mit Keycloak Frameworks - Spring, Play, Blade, Vaadin & Co 1
R Spring Boot Integration-testing mit Keycloak Frameworks - Spring, Play, Blade, Vaadin & Co 13
L Spring Data und Rest Controller? Frameworks - Spring, Play, Blade, Vaadin & Co 4
thor_norsk Spring Boot Fehler Frameworks - Spring, Play, Blade, Vaadin & Co 1
L Spring Data und Rest Conroller? Frameworks - Spring, Play, Blade, Vaadin & Co 4
thor_norsk Spring Boot und Docker Frameworks - Spring, Play, Blade, Vaadin & Co 5
B Spring Amazon-SP-Api Frameworks - Spring, Play, Blade, Vaadin & Co 3
8u3631984 Aktualisiere Spring Controller Frameworks - Spring, Play, Blade, Vaadin & Co 4
L Spring Data: Modellierung mit einer Embeddable bean Frameworks - Spring, Play, Blade, Vaadin & Co 2
D Spring Boot Test ob Validation geprüft wurde Frameworks - Spring, Play, Blade, Vaadin & Co 8
K Spring Boot OneToMany Frameworks - Spring, Play, Blade, Vaadin & Co 6
8u3631984 Spring Boot Docker Image erstellen und mit docker-compose konfigurieren Frameworks - Spring, Play, Blade, Vaadin & Co 1
M Wann Spring Batch nutzen? Frameworks - Spring, Play, Blade, Vaadin & Co 1
P Spring Hessian Remote Beispiel Frameworks - Spring, Play, Blade, Vaadin & Co 20
8u3631984 Spring 2.7.8 Info Enpoint nicht zuerreichen Frameworks - Spring, Play, Blade, Vaadin & Co 1
gradlew.bat spring-boot:run funktioniert nicht Frameworks - Spring, Play, Blade, Vaadin & Co 4
Zrebna Spring Boot/Thymeleaf: Bestätigungsemail senden. Frameworks - Spring, Play, Blade, Vaadin & Co 2
Zrebna Spring - Thymeleaf: Wieso wird gem. Fallunterscheidung entsprechende View nicht geladen? Frameworks - Spring, Play, Blade, Vaadin & Co 3
Dimax Spring UsernameNotFoundException(msg); auf der View msg ausdrücken Frameworks - Spring, Play, Blade, Vaadin & Co 1
Dimax Spring UsernameNotFoundException(Message) auf der View Message ausdrücken Frameworks - Spring, Play, Blade, Vaadin & Co 2
B Spring Boot und JPA Error creating bean Frameworks - Spring, Play, Blade, Vaadin & Co 24
R Spring Security: Wie kommt 'UserDetails' an Username und Passwort ran? Frameworks - Spring, Play, Blade, Vaadin & Co 6
R Spring Security: Wie den User dynamisch authentifizieren? Frameworks - Spring, Play, Blade, Vaadin & Co 8
R Spring Security: Authentication & Permissions Frameworks - Spring, Play, Blade, Vaadin & Co 4
R Spring Boot: Warum soll PasswordEncoder in einer neuen Methode definiert sein? Frameworks - Spring, Play, Blade, Vaadin & Co 1
8u3631984 Cross-Origin beim Abrufen von Spring Endpoint Frameworks - Spring, Play, Blade, Vaadin & Co 1
D Spring Boot und Microservices Frameworks - Spring, Play, Blade, Vaadin & Co 1
M Spring Boot additional Datasource for a single entity Frameworks - Spring, Play, Blade, Vaadin & Co 0
T Spring Resourcen Ordner ermitteln Frameworks - Spring, Play, Blade, Vaadin & Co 5
B Spring JPA und Repository Frameworks - Spring, Play, Blade, Vaadin & Co 12
D Mapstruct Dependency Injection funktioniert nicht mit Spring Frameworks - Spring, Play, Blade, Vaadin & Co 15
Avalon Wie sieht bei Euch das Deployment einer Spring Boot Anwendung aus? Frameworks - Spring, Play, Blade, Vaadin & Co 4
M Threads in Spring Boot Frameworks - Spring, Play, Blade, Vaadin & Co 7
W DI-Problem in Spring Boot Frameworks - Spring, Play, Blade, Vaadin & Co 4
T Spring Boot: Was bewirkt parent in maven genau? Frameworks - Spring, Play, Blade, Vaadin & Co 4
T Spring Security: Run-as replacement Einsatzbereich? Frameworks - Spring, Play, Blade, Vaadin & Co 1
OnDemand Vaadin+Spring Boot erster Seitenload nach Neustart endlos Frameworks - Spring, Play, Blade, Vaadin & Co 0
doncarlito87 Wie erhalte ich ein JSON aus eine NativeQuery (Spring Boot)? Frameworks - Spring, Play, Blade, Vaadin & Co 8
Avalon @Query Select Abfrage liefert falsche Werte (Spring Boot, JPA, Hibernate) Frameworks - Spring, Play, Blade, Vaadin & Co 3
Avalon Erstellung Dockerimage mit spring-boot:build-image in Spring Boot mit Umgebungsvariablen Frameworks - Spring, Play, Blade, Vaadin & Co 0
N Spring Integration - Logging Frameworks - Spring, Play, Blade, Vaadin & Co 7
D Spring Boot Field Injection in MapStruct Frameworks - Spring, Play, Blade, Vaadin & Co 5
D Spring Anfänger benötigt Hilfe Frameworks - Spring, Play, Blade, Vaadin & Co 9
OnDemand Spring Boot seltsame Logeinträge: Manipulationsversuche? Frameworks - Spring, Play, Blade, Vaadin & Co 2
D Spring Date keine neue Tabelle fuer Attribut Frameworks - Spring, Play, Blade, Vaadin & Co 1
T Spring Security Config File anpassen Frameworks - Spring, Play, Blade, Vaadin & Co 1
8u3631984 Spring Cloud : Resttemplate mit Loadballancer Frameworks - Spring, Play, Blade, Vaadin & Co 11
Dimax Spring resource not found Frameworks - Spring, Play, Blade, Vaadin & Co 2
M Spring MongoDB unique index Frameworks - Spring, Play, Blade, Vaadin & Co 3
M Spring Entity testen Frameworks - Spring, Play, Blade, Vaadin & Co 1
M Spring Entity testen Frameworks - Spring, Play, Blade, Vaadin & Co 5
Dimax Spring App Probleme beim Ausführen auf dem Tomcat Server Frameworks - Spring, Play, Blade, Vaadin & Co 1
D Spring WebFlux Cors konfigurieren Frameworks - Spring, Play, Blade, Vaadin & Co 1
Dimax Schöne View mit anchor scrolling in Spring Frameworks - Spring, Play, Blade, Vaadin & Co 2
Dimax Spring JPA Multiple Keys Frameworks - Spring, Play, Blade, Vaadin & Co 3
S Spring Security mit oauth2 in lokaler Konfiguration principal mocken Frameworks - Spring, Play, Blade, Vaadin & Co 0
D Spring Boot Mile Stone und Snapshot Versionen Frameworks - Spring, Play, Blade, Vaadin & Co 2
OnDemand Spring Boot Exception Body Frameworks - Spring, Play, Blade, Vaadin & Co 2
D Was ist das Framework "Spring"? Frameworks - Spring, Play, Blade, Vaadin & Co 1
M Spring Unit/Integrations Testing Frameworks - Spring, Play, Blade, Vaadin & Co 3
D Spring Unit Test: UnsatisfiedDependencyException: Error creating bean with name Frameworks - Spring, Play, Blade, Vaadin & Co 2
H Resource Liste Lazy Autowired Spring Context Frameworks - Spring, Play, Blade, Vaadin & Co 2
M Java Spring Security Frameworks - Spring, Play, Blade, Vaadin & Co 5
M Spring Security Login with Credentials Frameworks - Spring, Play, Blade, Vaadin & Co 0
N Spring Boot - Overkill für private Projekte? Frameworks - Spring, Play, Blade, Vaadin & Co 3
krgewb Spring und GWT - & wird zu & amp; Frameworks - Spring, Play, Blade, Vaadin & Co 2
K Migration eines internen Frameworks zu Spring:Boot Frameworks - Spring, Play, Blade, Vaadin & Co 0
OnDemand JPA/Spring Repository Like Suche leeres Ergebnis Frameworks - Spring, Play, Blade, Vaadin & Co 0
Z Hibernate & Postgres in Spring Boot (Syntaxprobleme) Frameworks - Spring, Play, Blade, Vaadin & Co 2
Z Spring Boot mit JPA;, Hibernate, Rest & Lombok Frameworks - Spring, Play, Blade, Vaadin & Co 8
M Spring Initializer - Webservices Frameworks - Spring, Play, Blade, Vaadin & Co 0
D Spring Hateoas Frameworks - Spring, Play, Blade, Vaadin & Co 1
ma095 Spring und Postgresql Errors Frameworks - Spring, Play, Blade, Vaadin & Co 4
OnDemand Spring+Vaadin App startet nicht Frameworks - Spring, Play, Blade, Vaadin & Co 1
OnDemand Spring Request externe API SSL Error Frameworks - Spring, Play, Blade, Vaadin & Co 7
OnDemand Spring Repo speichert, aber es kommt in der DB nicht an Frameworks - Spring, Play, Blade, Vaadin & Co 3
Dimax Im Spring ,Mysql-Funktion aufrufen Frameworks - Spring, Play, Blade, Vaadin & Co 2
OnDemand Spring Security/Boot/Vaadin Cookie Problem bei iFrame Frameworks - Spring, Play, Blade, Vaadin & Co 4
OnDemand Spring Boot: Feld ignorieren Frameworks - Spring, Play, Blade, Vaadin & Co 3
8u3631984 Spring + Thymleaf : Checkbox Object mappen Frameworks - Spring, Play, Blade, Vaadin & Co 0
N Buch zum Spring Framework bzw. Spring Boot Frameworks - Spring, Play, Blade, Vaadin & Co 3
OnDemand Jasypt Spring Boot HIbernate wie komme ich an den Key? Frameworks - Spring, Play, Blade, Vaadin & Co 4
8u3631984 Spring Boot im Docker Container - Logback wird nicht verwendet Frameworks - Spring, Play, Blade, Vaadin & Co 13
sascha-sphw Spring - Authentication object was not found Frameworks - Spring, Play, Blade, Vaadin & Co 3

Ähnliche Java Themen

Neue Themen


Oben