JSP & Servlet ile Sayfalama

Merhaba arkadaşlar,
Bu yazıda sizlere Jsp ve Servlet ile bir menu olusturup sayfalama yapacağız.Hemen projemizi başlatalım ve Jsp kısmında menuyu tasarlıyalım.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<ul id="menu">
	<li><a href="KontrolServlet?sayfa=anasayfa">Ana Sayfa</a></li>
	<li><a href="KontrolServlet?sayfa=hakkimizda">Hakkimizda</a></li>
	<li><a href="KontrolServlet?sayfa=iletisim">Iletisim</a></li>
</ul>
</body>
</html>

Burada menüye görsellik katmak için Css sayfamıza şu kodla dahil ediyoruz

		<link rel="stylesheet" href="style.css />

Web-Content’i sağ tıklayıp index.jsp ile aynı dizinde olan bir css sayfası açalım ismine dikkat edelim style.css yapmıştık ve menümüzü biraz düzeltelim.

@CHARSET "UTF-8";
#menu {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}
#menu li {
	float: left;
	width: 150px;
	position: relative;
}
#menu a {
	font-family: "Times New Roman", Times, serif;
	font-size: 16px;
	color: #FFFFFF;
	text-decoration: none;
	background-color: #00CCFF;
	display: block;
	padding-top: 5px;
	padding-right: 5px;
	border: 1px solid #00CCFF;
	text-align: center;
	line-height: 30px;
	margin-right: 2px;
}
#menu a:hover {
	background-color: #0099FF;

Menümüz şu şekilde oluşacaktır

menuasd

Daha sonrda tıkladığımız bağlantıyı bir değişkene aktaracamız bir sayfa adında bir servlet oluşturalım
ve burda sadece getParameter() ile bağlantıyı bir değişkene aktaralım

@WebServlet("/sayfa")
public class sayfa extends HttpServlet {
	private static final long serialVersionUID = 1L;
 
    public sayfa() {
        super();
 
    }
 
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		 doPost(request, response);
	}
 
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String sayfa = request.getParameter("sayfa");
		response.sendRedirect(sayfa);
	}
 
}

daha sonra bir kontrol yapısı oluşturmalıyız yani sayfa servletinden aldığımız değişkeni başka bir servlet içinde neye eşit olduna bakmalıyız.Bunun içinde bir tane daha KontrolServlet adında servlet oluşturmalıyız

@WebServlet("/KontrolServlet")
public class KontrolServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
 
    public KontrolServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
 
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doPost(request, response);
	}
 
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String sayfa = request.getParameter("sayfa");
 
		if(sayfa.equals("anasayfa")){
				request.getRequestDispatcher("anasayfa").forward(request, response);
			}else if(sayfa.equals("hakkimizda")){
					request.getRequestDispatcher("hakkimizda").forward(request, response);
				}else if(sayfa.equals("iletisim")){
					request.getRequestDispatcher("iletisim").forward(request, response);
				}	
	}
 
}

Burada basit bir şekilde if else yapısı ile gelen degişkenin neye eşit olduguna bakıyoruz ve eşit oldugu sayfaya yönlendiriyoruz.
asdasd
hakkimizda
iletisim
Sayfadaki url baktığımızda nerede olugumuzu gösteriyor ve yazılarda geliyor.Yazımı burada sonlandırıyorum herkese iyi çalışmalar

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>