Това ще ви запознае с тема, наречена Session In Java, и по време на процеса ще ви запознае с това как работи управлението на сесии . Следните указания ще бъдат обхванати в тази статия,
Нека започнем тогава,
Сесия в Java
Интервалът от време, в който две системи (т.е. клиентът и сървърът) комуникират помежду си, може да се нарече сесия. По-просто казано, сесията е състояние, състоящо се от няколко заявки и отговор между клиента и сървъра.
какви са променливите на екземпляра в java
Известен факт е, че и HTTP, и уеб сървърите са без гражданство. Следователно, единственият начин да се поддържа състоянието на потребителя е чрез използване на технологии, които прилагат проследяване на сесии.
Проследяването на сесии в сървлети може да се реализира по редица методи, като бисквитките са един от тях. Те обаче имат множество недостатъци:
- Те могат да съхраняват само текстова информация.
- Ако бисквитките са деактивирани от потребител, уеб приложението не може да ги използва.
- Една бисквитка може да съдържа не повече от 4kb данни.
- Друг начин за внедряване на проследяване на сесии е чрез създаване на сесии с уникални идентификатори на сесии за всеки потребител в Java сървлета.
Продължавайки с тази статия за Session в Java
Http интерфейс на сесията
Сервлетите в java предоставят интерфейс, известен като „HttpSessionInterface“.
Те се състоят от различни методи, някои от които са разгледани по-долу:
- public HttpSession getSession (boolean create): Този метод получава сесията, свързана със заявката. В случай че не е налице или не присъства, се създава нова сесия, която се основава на зададения булев аргумент.
- public String getId (): Уникалният идентификатор на сесията се връща от този метод.
- public long getCreationTime (): Времето, когато е създадена сесията, се връща от този метод. Измерва се в милисекунди.
- public long getLastAccessedTime (): Времето, когато последният достъп до сесията се връща от този метод. Измерва се в милисекунди.
- public void invalidate (): Сесията може да бъде обезсилена чрез този метод.
Пример:
В примера, даден по-долу, използвахме метода getAttribute () и setAttribute () на интерфейса HttpSession.
Продължавайки с първия пример в тази статия за Session In Java
index.html
Потребителско име: Парола:
С ervlet1.java
import java.io. * import javax.servlet. * import javax.servlet.http. * public class Servlet1 extends HttpServlet {public void doGet (HttpServletRequest request, HttpServletResponse response) {try {response.setContentType ('text / html') Print pwriter = response.getWriter () Име на низа = request.getParameter ('userName') String password = request.getParameter ('userPassword') pwriter.print ('Welcome' + name) pwriter.print ('Ето вашата парола:' + парола) HttpSession сесия = request.getSession () session.setAttribute ('usname', name) session.setAttribute ('uspass', парола) pwriter.print (' виж детайлите ') pwriter.close ()} catch (Exception exp) {System.out.println (exp)}}
Servlet2.java
import java.io. * import javax.servlet. * import javax.servlet.http. * public class Servlet2 extends HttpServlet {public void doGet (HttpServletRequest request, HttpServletResponse response) {try {response.setContentType ('text / html') Print 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 (Exception exp) {System.out.println (exp)}}}
Продължавайки с четвъртия пример в тази статия за Session In Java
web.xml
MyServlet1 Servlet1 MyServlet1 / форма за вход MyServlet2 Servlet2 MyServlet2 / Добре дошли
Съществуват различни предимства и недостатъци на този интерфейс, изброени по-долу:
Java какво прави добавя
Сесия в Java
Предимства:
- Всички видове обекти, като база данни и текст, могат да се съхраняват в сесия.
- Сесиите са сигурни.
Продължаване с недостатъци
Недостатъци:
cloudera сертифициран администратор за apache hadoop
- Тъй като обектът на сесията се съхранява на сървър, има допълнителни разходи за производителност.
- Сериализацията и десериализацията също водят до режийни разходи.
Изключително изгодно е да се използва HttpSessionInterface за постигане на проследяване на сесията.
Така стигнахме до края на тази статия за „Сесия в Java“. Ако искате да научите повече, разгледайте от Edureka, доверена компания за онлайн обучение. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен да ви обучи както за основните, така и за разширените Java концепции, заедно с различни Java рамки като Hibernate & Spring.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог и ние ще се свържем с вас възможно най-скоро.