PDA

Tam Sürümünü Görmek İçin : jsp&servlet ve nesneler


yufyuf
22/01/2003, 05:18
jsp&sevlet kullanarak web programlari gelistirebilmek icin aldigim kitaptaki asagidaki ornek kodu calistiramadim

Sanirim sorun diger .java dosyalarinda tanimanmis olan siniflarin :
a)Urun
b)Adresleme
c)Hesap
bu safada taninmamasi

Aciklayici cevabinizi bekliyorum yeni bir kitapla vakit kaybetmek istemiyorum

TESEKKURLER

package servletlerim.bolum8;

import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class AlisVerisSepeti implements java.io.Serializable {

// Sepete eklenecek ürünler en iyi Vector objesi
// içinde saklanabilir.
protected Vector urunler;

// Constuctor oluşturma
public AlisVerisSepeti()
{
urunler = new Vector();
}

// Bütün ürünlerin alınması
public Vector getUrunler()
{
return (Vector) urunler;
}

// Çoklu ürünler için yeni ekleme.
// Varolan ürünlerden eklenecekse bu ürünün
// talep miktarını artırma, eğer yeni ürün eklenecekse
// yeni bir ekleme yapma.



public synchronized void addUrun(Urun yeniUrun)
{
urunler.addElement(yeniUrun);
}

// Ürünlerden birini çıkarma
// Her ürünün bir sıra numarası var
// Dolayısıyla numarası parametre olarak aktarılıyor.
public synchronized void removeUrun(int urunNumarası)
{
Urun urun = (Urun) urunler.elementAt(urunNumarası);

// Talepten ürün miktarı kadar düşme
urun.talepMiktar -= urun.miktar;

// Eğer talep miktarı sıfırlanmışsa
// ürünü sepetten çıkar
if (urun.talepMiktar <= 0) {
urunler.removeElementAt(urunNumarası);
}
}

protected static int yeniTalepNumara = 1;

// Her bir talep için kayıt etme ve kayda
// numara verme işlemi
public String talepTamamla(Hesap hesaplama, Adresleme adresleme)
throws AlisVerisSepetiHatasi
{
// Her bir kayıt için numara belirleme ve bu
// kayıtların bir dosya içine kaydı.
try {
int talepNumarası = 0;

// Çoklu ulaşımı engelleme
synchronized(this) {
talepNumarası = yeniTalepNumara;
yeniTalepNumara += 1;
}

PrintWriter dosyaYaz = new PrintWriter(
new FileOutputStream("talep" + talepNumarası));

// Hesap bilgilerinin dosyaya yazılması
dosyaYaz.println("--- Kart Bilgileri ---");
dosyaYaz.println("Kart Tipi:" +hesaplama.krediKartTip);
dosyaYaz.println("Kart Numarası:" +hesaplama.krediKartNumara);
dosyaYaz.println("Kart Üst. İsim:" +hesaplama.kartIsim);
dosyaYaz.println();

// Adresleme bilgilerinin dosyaya yazılması
dosyaYaz.println("--- Müşteri Bilgileri ---");
dosyaYaz.println("Adı:" +adresleme.isim);
dosyaYaz.println("Adres:" +adresleme.adres);
dosyaYaz.println("Şehir:" +adresleme.sehir);
if (adresleme.ulke != null) {
dosyaYaz.println("Ülke:" +adresleme.ulke);
}
if (adresleme.postaKodu != null) {
dosyaYaz.println("Posta Kodu:" +adresleme.postaKodu);
}
if (adresleme.telefon != null) {
dosyaYaz.println("Telefon:" +adresleme.telefon);
}
if (adresleme.ePosta != null) {
dosyaYaz.println("E Posta:" +adresleme.ePosta);
}
dosyaYaz.println();

// Ürün bilgilerinin yazılması
dosyaYaz.println("--- Talep edilen Ürünler ---");
dosyaYaz.println("Ürün Kodu Fiyatı Miktarı ");
Enumeration e = urunler.elements();
while (e.hasMoreElements()) {
Urun urun = (Urun) e.nextElement();
dosyaYaz.println(urun.kod + ", " +
urun.fiyat + ", " +
urun.talepMiktar);
}
dosyaYaz.close();

// Talep numarasını gönderme
return "" + talepNumarası;
}
catch (Exception hata) {
throw new AlisVerisSepetiHatasi(
"Talep kaydedilirken hata oluştu:" +
hata.toString());
}
}
}


Senol
27/01/2003, 00:37
merhaba,

sorunu halledebildin mi, yoksa hala ugrasiyor musun?