Alles wat u moet weten over sessie in Java?



Dit zal u kennis laten maken met een onderwerp genaamd Session In Java en u in het proces informeren over hoe sessiebeheer werkt in Java.

Dit zal u kennis laten maken met een onderwerp genaamd Session In Java en u gaandeweg informeren over hoe sessiebeheer werkt . De volgende tips komen in dit artikel aan bod:

Dus laten we beginnen,





Sessie in Java

Het tijdsinterval waarin twee systemen (d.w.z. de client en de server) met elkaar communiceren, kan worden aangeduid als een sessie. In eenvoudiger bewoordingen is een sessie een toestand die bestaat uit verschillende verzoeken en antwoorden tussen de client en de server.

Het is een bekend feit dat HTTP- en webservers beide staatloos zijn. Daarom is de enige manier om de toestand van de gebruiker te behouden, door gebruik te maken van technologieën die sessietracking implementeren.
Het volgen van sessies in servlets kan op een aantal manieren worden geïmplementeerd, waaronder cookies. Ze hebben echter meerdere nadelen:



  • Alleen tekstuele informatie kan door hen worden bewaard.
  • Als cookies door een gebruiker zijn uitgeschakeld, kan de webapplicatie er geen gebruik van maken.
  • Een enkele cookie kan niet meer dan 4 kB aan gegevens bevatten.
  • Een andere manier om sessietracking te implementeren, is door sessies met unieke sessie-id's voor elke gebruiker in een java-servlet te maken.

Verderop met dit artikel over sessie in Java

Http-sessie-interface

Servlets in java bieden een interface die bekend staat als ‘HttpSessionInterface’.
Ze bestaan ​​uit verschillende methoden, waarvan er enkele hieronder worden besproken:

  • openbare HttpSession getSession (boolean create): deze methode haalt de sessie op die aan het verzoek is gekoppeld. In het geval dat het niet beschikbaar of niet aanwezig is, wordt er een nieuwe sessie gemaakt die is gebaseerd op het opgegeven Booleaanse argument.
  • public String getId (): het unieke sessie-ID wordt door deze methode geretourneerd.
  • public long getCreationTime (): de tijd waarop de sessie is gemaakt, wordt geretourneerd door deze methode. Het wordt gemeten in milliseconden.
  • public long getLastAccessedTime (): de tijd waarop de sessie voor het laatst is geopend, wordt geretourneerd door deze methode. Het wordt gemeten in milliseconden.
  • public void invalidate (): een sessie kan ongeldig worden gemaakt door deze methode te gebruiken.

Voorbeeld:
In het onderstaande voorbeeld hebben we gebruik gemaakt van de getAttribute () en setAttribute () methode van de HttpSession-interface.



We gaan verder met het eerste voorbeeld in dit Session In Java-artikel

hoe database testen te doen

index.html

Gebruikersnaam wachtwoord:

Verder gaan met het tweede voorbeeld

S ervlet1.java

import java.io. * import javax.servlet. * import javax.servlet.http. * public class Servlet1 breidt HttpServlet uit {public void doGet (HttpServletRequest-verzoek, HttpServletResponse-reactie) {probeer {response.setContentType ('text / html') PrintWriter pwriter = response.getWriter () String name = request.getParameter ('userName') String password = request.getParameter ('userPassword') pwriter.print ('Welkom' + naam) pwriter.print ('Hier is je wachtwoord:' + wachtwoord) HttpSession session = request.getSession () session.setAttribute ('gebruikersnaam', naam) session.setAttribute ('uspass', wachtwoord) pwriter.print (' details bekijken ') pwriter.close ()} catch (uitzondering exp) {System.out.println (exp)}}

We gaan verder met het derde voorbeeld

hoe singleton class in java te schrijven

Servlet2.java

import java.io. * import javax.servlet. * import javax.servlet.http. * public class Servlet2 breidt HttpServlet uit {public void doGet (HttpServletRequest-verzoek, HttpServletResponse-antwoord) {probeer {response.setContentType ('text / html') PrintWriter pwriter = response.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 (uitzondering exp) {System.out.println (exp)}}}

We gaan verder met het vierde voorbeeld in dit Session In Java-artikel

web.xml

MyServlet1 Servlet1 MyServlet1 / loginform MyServlet2 Servlet2 MyServlet2 / Welkom

Er zijn verschillende voor- en nadelen van deze interface, zoals hieronder vermeld:

Sessie in Java

Voordelen:

  • Allerlei objecten, zoals database en tekst, kunnen in een sessie worden opgeslagen.
  • Sessies zijn beveiligd.

Verdergaan met nadelen

Nadelen:

  • Omdat het sessieobject op een server is opgeslagen, is er prestatieoverhead.
  • Serialisatie en deserialisering leiden ook tot overhead.

Het is zeer voordelig om de HttpSessionInterface te gebruiken om sessietracking te bereiken.

Hiermee zijn we aan het einde gekomen van dit artikel over ‘Session In Java’. Als je meer wilt weten, bekijk dan de door Edureka, een vertrouwd online leerbedrijf. Edureka's Java J2EE- en SOA-trainings- en certificeringscursus is ontworpen om u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van deze blog en we nemen zo snel mogelijk contact met je op.