Servlet Ders10 - HttpSession


     Session sunucu tarafında saklanan istemciye ait bilgilerdir.Session istemcilerin birbirinden ayırt edilebilmesi için kullanılır.

Ön Bilgi
//session nesnesi oluşturma
HttpSession session=request.getSession();

//session nesnesinin x attributeüne y değerini verme
session.setAttribute("x", "y");

//daha önces oluşturulan session nesnesini alma
//false değeri daha önce oluşturulan nesne yoksa
//yeniden nesne oluşturmasını engeller.
HttpSession session=request.getSession(false);

//x isimli attribute değerini alma
String x=(String) session.getAttribute("x");



index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>index.html</title>
</head>
<body>


<form action="Servlet">
Ad<br/>
<input type="text" name="ad"/><br/><br/>
<input type="submit" value="gonder"/>
</form>

</body>
</html>

Servlet.java
package test;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


@WebServlet("/Servlet")
public class Servlet extends HttpServlet {
 private static final long serialVersionUID = 1L;

 protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  
  response.setContentType("text/html");
  PrintWriter out=response.getWriter();
  String ad=request.getParameter("ad");
  HttpSession session=request.getSession();
  session.setAttribute("ad", ad);
  out.println("<br/> Session tanimlandi! <br/> <a href='Servlet2'><h2>Servlet2'ye git</h2><a>");
  
 }

 protected void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  doGet(request, response);
 }

}

Servlet2.java
package test;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@WebServlet("/Servlet2")
public class Servlet2 extends HttpServlet {
 private static final long serialVersionUID = 1L;

 protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  
  response.setContentType("text/html");
  PrintWriter out=response.getWriter();
  
  HttpSession session=request.getSession(false);
  String ad=(String) session.getAttribute("ad");
  out.println("Merhaba "+ad);
  out.println("<br/> <a href='Servlet3'><h2>Sessioni sonlandirmak için Servlet3'ye git</h2><a>");
  
  
 }

 protected void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  doGet(request, response);
 }

}

Servlet3.java
package test;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@WebServlet("/Servlet3")
public class Servlet3 extends HttpServlet {
 private static final long serialVersionUID = 1L;

 protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  
  response.setContentType("text/html");
  PrintWriter out=response.getWriter();
  
  HttpSession session=request.getSession(false);
  session.invalidate();
  out.println("<br/><h2>Session sonlandirildi !</h2><a>");
  
  
 }

 protected void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  doGet(request, response);
 }

}

Açıklamalar
@WebServlet("/Servlet")
//Bu Servlet urlsinin /Servlet olacağını belirtir.

response.setContentType("text/html");
//response içerik tipinin text/html türünde olduğunu belirtir 

PrintWriter out=response.getWriter();
//out nesnesi server tarafından çıktı üretilmek için oluşturulur.
//session nesnesi oluşturma
HttpSession session=request.getSession();

//session nesnesinin x attributeüne y değerini verir.
session.setAttribute("x", "y");

//daha önces oluşturulan session nesnesini alir
//false değeri daha önce oluşturulan nesne yoksa
//yeniden nesne oluşturmasını engeller.
HttpSession session=request.getSession(false);

//x isimli attribute değerini alir.
String x=(String) session.getAttribute("x");


Servlet HttpSession projesi

Servlet HttpSession projesi

Servlet HttpSession projesi

Servlet HttpSession projesi

Yorumlar

Bu blogdaki popüler yayınlar

Java SE Ders24 - Composition (Kompozisyon)

Spring Ders20 - Aspect Oriented Programming - AspectJ Annotation Style

JSF Ders30 - Page Template (Sayfa Şablonu)