Det du letar efter finner du på Suns J2EE-dokumentationsidor, mer precist här: HttpSession.
De funktioner som du efterfrågar är dessa:
* public void setMaxInactiveInterval(int interval)
* public void invalidate()
11 svar · 677 visningar · startad av AG
Har letat i flera hjälpfiler om sessions i java.
Det jag är ute efter är att kunna sitta session timeout session abandon etc.
Meningen är att det skall användas i samband med en inloggningssida i jsp.
Alltså lista en massa session attribut.
Andreas
Det du letar efter finner du på Suns J2EE-dokumentationsidor, mer precist här: HttpSession.
De funktioner som du efterfrågar är dessa:
* public void setMaxInactiveInterval(int interval)
* public void invalidate()
Läste igenom den där sidan.
Försökte sedan testa det på en sida. Skrev in följande:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
<%@ page language=javascript %>
<%=session.getId%>
Datorn skrev ut "undefined"
Vad beror det på, kör resin som webbserver. Och varför skriver den ut:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
/session.jsp:6: Attempt to reference method getId in interface javax.servlet.http.HttpSession as an instance variable.
out.print((session.getId));
om man byter ut "javascript" mot "java"?
Det jag vill eftersträva är det man hade i asp, typ:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
"jag heter andreas" = session("user")
Tackar
Andreas
[Redigerat av AG den 20 mar 2001]
Attempt to reference method getId in interface javax.servlet.http.HttpSession as an instance variable.
Ähum... brukar inte getXXX-grejer vara metoder?
<%=session.getId[b]()[/b]%>
"jag heter andreas" = session("user")
Skall vara:
"jag heter andreas" = session.getAttribute("user");
session är ju ett objekt (på en jsp-sida) av typen HttpSession så det är bara att kolla i API-dokumentationen ovan för att se vilka metoder du kan använda.
Ok, testade en annan sak som verkade göra lite som jag ville också. Det var:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
<%
session.value.test = "korv med mos";
%>
<%=session.value.test%>
Är det något fel att göra på detta sätt?
Dët verkar fungera iaf
Andreas
[Redigerat av AG den 20 mar 2001]
Hummmm, du kör med Resins JavaScriptstöd för JSP antar jag? Kan tyvärr inte hjälpa dig då för jag har aldrig använt det (och har inga planer att göra det heller )
Förklara gärna vad du använder, vill ju att mitt program skall fungera med andra webbservrar okså, den där snutten du skikade med fungerade inte, verkade det som.
Andreas
Jag kör Java på mina JSP-sidor, det gör dom flesta. Caucho har dock levererat ett stöd för JavaScript till JSP-sidor som körs på Resin, antagligen för att det kanske blir lite lättare syntax.
I längden är det dock bättre att lämna JavaScript-stödet därhän, delvis av den anledning du nämner; dina applikationer kommer inte vara körbara på andra applikationsservrar. Det är också bättre att köra ett och samma språk rakt av, Java i bönor, Java i servlets, Java på JSP-sidorna.
Hur ser det ut när du försöker plocka ut saker ur sessionen med javakod? Felmeddelanden?
Får följande error på följande kod:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
/session.jsp:4: Invalid left hand side of assignment.
session.getAttribute("user") = "jag heter andreas";
^
1 error
<%@ page language=java %>
<%
session.getAttribute("user") = "jag heter andreas";
%>
<html>
<head><title>Counter</title></head>
<body bgcolor=#ffffff>
Ja titta<br>
</body>
</html>
Andreas
Vad vill du egentligen göra?
Som det är nu så försöker du tilldela metoden getAttribute() ett värde, vilket inte är möjligt. getAttribute() returnerar ett värde.
Vill du lägga in ett värde i sessionen så gör du så här:
session.setAttribute("user", "jag heter andreas");
Alltså:
Lägga in objekt i sessionen:
session.setAttribute(String namn, Object värde);
Plocka ut ett objekt ur sessionen:
mittObjekt = session.getAttribute(String namn);
Har nu testat detta, verkade fungera bra på första sidan.
Gick sen över till att försöka kolla efter sessionen på annan sida enligt följande modell:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
'sida1
<%@ page language=java %>
<%
session.setAttribute("testasess", "Object värde");
%>
<html>
<head><title>Counter</title></head>
<body bgcolor=#ffffff>
Ja titta<br>
<%=session.getAttribute("testasess")%>
</body>
</html>
'sida2
<html>
<p>
<b><%=session.getAttribute("testasess")%></b>
</html>
Sida2 skriver ut värdet på sessionen till "null" vad beror detta på?
Andreas