Java Servlet - Session Kavrami
- Sevdanur GENC

- Mar 6, 2012
- 2 min read
Bu makalemizle Java Servlet’te Session kavramini uygulamalarla birlikte inceleyecegiz.
Session yontemi ; User'larin bulunduklari sistemlerde aktif olduklari muddetce verileri tasiyabilirler. Istemciden gonderilen veriler sunucular tarafindan karsilanir. Herbir user'in verilerini ayri ayri tutabilmesi icin SessionId kullanmaktadir. Kullanicilarin actiklari bu oturumlarin surelerini belirleyebilmemiz icin Web.Xml konfigurasyon dosyasini kullanmamiz ve icerisine kodlar yazmamiz yeterli olacaktir. Default sure 30'dur.
Uygulamamiza gecmeden once var olan projemizde yeni bir servlet sinifi olusturuyoruz. Ve ismini KullaniciGirisServlet veriyoruz.
Yapacagimiz uygulama kullanici ismi ve sifresi ile kullaniciyi yonlendirme olacaktir.
Oncelikle kullanicilar icin bir arayuz gelistirmemiz lazim bunu jsp ile yapacagiz. Yeni bir Jsp olusturuyoruz ve ismini KullaniciGiris.Jsp veriyoruz. acilan html taglari arasinda form taglarini aciyoruz ve asagidaki kodlarimizi tanimliyoruz. Burada input'lardan gelecek verileri name'lerle belirttigimiz degiskenlere aktariyoruz. Sebebi KullaniciGirisServlet'den verileri yakalayabilmek icindir.
Sira geldi KullaniciGirisServlet'a, her zamanki gibi doPost'un daki verecegimiz komutlarla isleme basliyoruz.
Goruldugu gibi, olusturdugumuz jsp sayfasindan inputlarla gonderdigimiz verileri gerParameter ile karsiliyoruz ve birer degiskene atiyoruz. Daha sonra bu degiskenleri bir if bloguna sokarak karsilastiriyoruz. Eger sartlar olumlu donerse, Servlet'te bir oturum acabilmemiz icin getSession'in setAttribute metodu ile kullaniciadi diye bir oznitelik atiyoruz. Kullanici ismini talep olarak gonderecegimizde karsi tarafta yanit verecek olan sayfa ise index.jsp oluyoruz. Eger sart olumsuz olursa, ekrana girisin basarisiz olduguna dair bir mesaj verecektir.
KullaniciGiris.Jsp Komutlari ;
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Kullanıcı Giriş Ekranı</h1>
</body>
<form action="KullaniciGirisServlet" method="post">
<br> isim : <input type="text" name="isim" />
<br> sifre : <input type="password" name="sifre" />
<br> <input type="submit" value="Giris Yap" />
</form>
</html>
KullaniciGirisServlet.Java Komutlari ;
package Servlet;
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;
@WebServlet(name = "KullaniciGirisServlet", urlPatterns = {"/KullaniciGirisServlet"})
public class KullaniciGirisServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
} finally {
out.close();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String isim = request.getParameter("isim");
String sifre = request.getParameter("sifre");
if(isim.equals("nano") && sifre.equals("nano"))
{
request.getSession().setAttribute("kullaniciadi", isim);
response.sendRedirect("index.jsp");
}
else
{
response.getWriter().write("kullanıcı girişi başarısız...");
}
}
@Override
public String getServletInfo() {
return "Short description";
}
}
Index.Jsp Komutlari ;
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Servlet Konuları...</h1>
<a href="KullaniciGiris.jsp">Kullanıcı Girişi Yap</a>
</body>
</html>
Ekran Goruntuleri ;
Kullanici Giris Yap butonuna tiklanildiginda KullaniciGiris.Jsp ekrani karsimiza gelecektir.
Keyifli Calismalar Dilerim...
Comments