İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

JSP Nesne Scope Kavramının Anlaşılması

Bu örnekte farklı scope özelliklerine sahip olan iki bean örneklemesi geröekleştrine bir JSP sayfası incelenecektir.Bir bean session scope ile özellik değerine sahip olurken diğeri ise uygulama scope ile tanımlanacaktır.JSP sayfasının her çağrımında her bean içerisindeki sayaç bir arttırılacaktır.Oturum ve uygulama scope arasındaki farkı sayaç sayfasına farklı web tarayıcılardan erişerek görebileceksiniz.Her tarayıcı , açtıkları oturum için farklı sayaçlar kullanırlarken uygulama scope içerisindeki sayacı ile global bier değişken gibi ortak olarak kullanmaktadırlar.

Bu örnek için TOMCAT sunucunuzun kurulu olması gerekmektedir.

COUNTER.JSP ÇATISI

<%@ page import="com.jguru.CounterBean" %>
<%-- sınıf ve scope özelliklerinin uygun değerleri burada atanacaktır --%>
<jsp:useBean id="session_counter" class="" scope="" />
<jsp:useBean id="app_counter" class="" scope="" />
<% session_counter.increaseCount();
synchronized(page) {
app_counter.increaseCount();
}
%>
<h3>
Number of accesses within this session:
<%-- isim özelliği için uygun değerlerin atanması --%>
<jsp:getProperty name="" property="count" />
</h3>
<p>
<h3>
Total number of accesses:
<%-- isim özelliği için uygun değerlerin atanması --%>
<% synchronized(page) { %>
<jsp:getProperty name="" property="count" />
<% } %>
</h3>

COUNTERBEAN.JAVA ÇATISI

package com.jguru;
public class CounterBean {
//sayaç için bir tamsayı tanımlanmalıdır
public int getCount() {
//sayaç geri döndürülmelidir.
}
public void increaseCount() {
//sayaç arttırılmalıdır
}
}

Yapılacak işler

TAM KAYNAK KODLARI

COUNTER.JSP

COUNTER.jspİndir Göster Gizle Kopar Satır Gizle Satır Göster
  1 <%@ page import="com.jguru.CounterBean" %>
  2 <jsp:useBean id="session_counter" class="com.jguru.CounterBean" scope="session" />
  3 <jsp:useBean id="app_counter" class="com.jguru.CounterBean" scope="application" />
  4 <% session_counter.increaseCount();
  5 synchronized(page) {
  6 app_counter.increaseCount();
  7 }
  8 %>
  9 <h3>
 10 Number of accesses within this session:
 11 <jsp:getProperty name="session_counter" property="count" />
 12 </h3>
 13 <p>
 14 <h3>
 15 Total number of accesses:
 16 <% synchronized(page) { %>
 17 <jsp:getProperty name="app_counter" property="count" />
 18 <% } %>
 19 </h3>

COUNTERBEAN.JAVA

COUNTERBEAN.javaİndir Göster Gizle Kopar Satır Gizle Satır Göster
  1 package com.jguru;
  2 public class CounterBean {
  3 int count;
  4 public int getCount() {
  5 return count;
  6 }
  7 public void increaseCount() {
  8 count++;
  9 }
 10 }

Uygulama

Örnek olarak http://localhost:8080/examples/jdc/counter/Counter.jsp adresinde konuşlandırdığımız JSP sayfamıza Netscape Navigator tarayıcımız ile girecek olursak aşağıdaki ekranı görüntüleriz.

Fakat aynı JSP sayfasına Microsoft Internet Explorer gibi farklı bir tarayıcıdan girecek olursak izleyen ekranda görüldüğü gibi sayaçların arasındaki farkı görebiliriz.

Dosya Listesi

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır