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");
Yorumlar
Yorum Gönder