Alt hvad du behøver at vide om session i Java?



Dette vil introducere dig til et emne kaldet Session In Java og undervejs underrette dig om, hvordan Session management fungerer i Java.

Dette vil introducere dig til et emne kaldet Session In Java og i processen orientere dig om, hvordan Session management fungerer i . Følgende punkter vil blive dækket i denne artikel,

Så lad os komme i gang dengang,





måder at oprette singleton-klasse i java på

Session i Java

Tidsintervallet, hvor to systemer (dvs. klienten og serveren) kommunikerer med hinanden, kan betegnes som en session. I enklere termer er en session en tilstand bestående af flere anmodninger og svar mellem klienten og serveren.

Det er et kendt faktum, at HTTP og webservere begge er statsløse. Derfor er den eneste måde at opretholde brugerens tilstand ved at gøre brug af teknologier, der implementerer sessionssporing.
Sessionssporing i servlets kan implementeres ved en række metoder, hvor cookies er en af ​​dem. De har dog flere ulemper:



  • Kun tekstinformation kan opbevares af dem.
  • Hvis cookies er deaktiveret af en bruger, kan webapplikationen ikke gøre brug af dem.
  • Ikke mere end 4 kb data kan indeholdes af en enkelt cookie.
  • En anden måde at implementere sessionssporing på er ved at oprette sessioner med unikke session-id'er til hver bruger i en java-servlet.

Fortsætter med denne artikel om Session i Java

Http Sessionsgrænseflade

Servlets i java giver en grænseflade kendt som 'HttpSessionInterface'.
De består af forskellige metoder, hvoraf nogle diskuteres nedenfor:

  • offentlig HttpSession getSession (boolsk oprettelse): Denne metode får den session, der er knyttet til anmodningen. Hvis den ikke er tilgængelig eller ikke er til stede, oprettes der en ny session, der er baseret på det specificerede Boolske argument.
  • public String getId (): Det unikke session-id returneres ved denne metode.
  • public long getCreationTime (): Det tidspunkt, hvor sessionen blev oprettet, returneres ved denne metode. Det måles i millisekunder.
  • offentlig lang getLastAccessedTime (): Det tidspunkt, hvor sessionen sidst blev åbnet, returneres ved denne metode. Det måles i millisekunder.
  • public void invalidate (): En session kan ugyldiggøres ved hjælp af denne metode.

Eksempel:
I eksemplet nedenfor har vi brugt metoden getAttribute () og setAttribute () i HttpSession-grænsefladen.



Fortsætter med det første eksempel i denne Session In Java-artikel

index.html

Brugernavn Kodeord:

Fortsætter med andet eksempel

S ervlet1.java

import java.io. * import javax.servlet. * import javax.servlet.http. * public class Servlet1 udvider HttpServlet {public void doGet (HttpServletRequest anmodning, HttpServletResponse svar) {prøv {respons.setContentType ('text / html') PrintWriter pwriter = respons.getWriter () String name = request.getParameter ('userName') String password = request.getParameter ('userPassword') pwriter.print ('Welcome' + name) pwriter.print ('Her er din adgangskode:' + adgangskode) HttpSession-session = request.getSession () session.setAttribute ('brugernavn', navn) session.setAttribute ('uspass', adgangskode) pwriter.print (' Se detaljer ') pwriter.close ()} catch (Exception exp) {System.out.println (exp)}}

Fortsætter med tredje eksempel

Servlet2.java

import java.io. * import javax.servlet. * import javax.servlet.http. * public class Servlet2 udvider HttpServlet {public void doGet (HttpServletRequest anmodning, HttpServletResponse svar) {prøv {respons.setContentType ('text / html') PrintWriter pwriter = respons.getWriter () HttpSession session = request.getSession (false) String myName = (String) session.getAttribute ('usname') String myPass = (String) session.getAttribute ('uspass') pwriter.print ('Name : '+ myName +' Pass: '+ myPass) pwriter.close ()} catch (Exception exp) {System.out.println (exp)}}}

Fortsætter med fjerde eksempel i denne Session In Java-artikel

web.xml

MyServlet1 Servlet1 MyServlet1 / loginform MyServlet2 Servlet2 MyServlet2 / Velkommen

Der er forskellige fordele og ulemper ved denne grænseflade som angivet nedenfor:

Session i Java

Fordele:

  • Alle slags objekter, såsom database og tekst, kan gemmes i en session.
  • Sessioner er sikre.

Fortsætter med ulemper

Ulemper:

  • Da sessionsobjektet er gemt på en server, er der performance overhead.
  • Serialisering og afserialisering fører også til omkostninger.

Det er meget fordelagtigt at bruge HttpSessionInterface til at opnå sessionssporing.

gør dobbelt til int java

Således er vi nået til slutningen af ​​denne artikel om 'Session In Java'. Hvis du ønsker at lære mere, skal du tjekke af Edureka, et pålideligt online læringsfirma. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til at træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarsektionen på denne blog, og vi vender tilbage til dig hurtigst muligt.