session se JSP

Συζητήσεις για την Java

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
antiposter
Δημοσιεύσεις: 25
Εγγραφή: 25 Ιαν 2008 18:44
Τοποθεσία: Στην άλλη πλευρά της οθόνης

session se JSP

Δημοσίευση από antiposter » 11 Μαρ 2008 02:56

νομίζω ότι καλύτερα ταιριάζει εδώ!!

Λοιπόν θέλω να βάλω session σε jsp και χρησιμοποιώ τον ακόλουθο κώδικα

Κώδικας: Επιλογή όλων

<%
  HttpSession session = request.getSession&#40;&#41;;
  String userName = session.getAttribute&#40;"userName"&#41;;
%>
Είναι σωστή η χρηση αυτών των εντολών??
:-?
Μου βγάζει το εξής λάθος

Κώδικας: Επιλογή όλων

An error occurred at line&#58; 32 in the jsp file&#58; /*************.jsp
Duplicate local variable session
31&#58; 
32&#58; HttpSession session=request.getSession&#40;&#41;;
:-?

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

session se JSP

Δημοσίευση από cherouvim » 11 Μαρ 2008 08:10

Υπάρχει ήδη μία μεταβλητή με το όνομα session στο scope που δουλεύεις, και είναι αυτό ακριβώς που θέλεις.

Προσπάθησε να μη γράφεις java κώδικα μέσα στο JSP σου. Το username μπορείς να το πάρεις έτσι:

Κώδικας: Επιλογή όλων

<jsp&#58;useBean id="userName" scope="session" class="java.lang.String" />
...
...
<html>
  <head>
    <title>Session Example</title>
http://www.java2s.com/Code/Java/JSP/Session.htm

Άβαταρ μέλους
antiposter
Δημοσιεύσεις: 25
Εγγραφή: 25 Ιαν 2008 18:44
Τοποθεσία: Στην άλλη πλευρά της οθόνης

session se JSP

Δημοσίευση από antiposter » 11 Μαρ 2008 13:26

OK πολύ καλά και το λινκ πολύ αναλυτικό
Ευχαριστώ :D :D

Άβαταρ μέλους
antiposter
Δημοσιεύσεις: 25
Εγγραφή: 25 Ιαν 2008 18:44
Τοποθεσία: Στην άλλη πλευρά της οθόνης

session se JSP

Δημοσίευση από antiposter » 11 Μαρ 2008 14:17

Μια ακόμα σχετική ερώτηση:
στην περίπτωση που το session δεν έχει αρχικοποιηθεί, και το username δεν έχει τιμή, θέλω να χρησιμοποιήσω αυτό ή κάτι παρόμοιο:

Κώδικας: Επιλογή όλων

<%
 if&#40;session == null&#41;
 	&#123;
 		String redirectURL="http&#58;//www.freestuff.gr";
 		response.sendRedirect&#40;redirectURL&#41;;
 	&#125;
 
%>
Αλλά κολλάει μετά στο

Κώδικας: Επιλογή όλων

  String userName = session.getAttribute&#40;"userName"&#41;; 
επειδή δεν έχει πάρει τιμή νομίζω..
Τι μπορώ να κάνω για να ελέγχεται αν έχει ξεκινήσει το session ή όχι???
Χαμένη μάχη είναι αυτή που δεν δόθηκε...Εικόνα

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

session se JSP

Δημοσίευση από cherouvim » 11 Μαρ 2008 14:49

Μετά το response.sendRedirect συνήθως πρέπει να πεις ένα σκέτο return; για να μη συνεχίσει η εκτέλεση του JSP.

Γενικά, όταν κάνεις request.getSession() δημιουργείται το session. Αλλιώς μπορείς να χρησιμοποιήσεις το request.getSession(boolean create)

Κοίτα το API
http://java.sun.com/j2ee/1.4/docs/api/j ... quest.html

Απάντηση

Επιστροφή στο “Java”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες