Bağlantıları Uygulama – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
Sayfaları, İçerik Birimlerini ve Bağlantıları Uygulama
Bu bölümde, içerik birimlerinden ve bağlantılardan oluşan tipik WebML sayfalarına karşılık gelen birkaç JSP sayfa şablonu örneğine gösterilen hesaplamayı somut olarak uyguluyoruz. Temsili örneklerden oluşan bir galeri oluşturmak için Acer-Euro çalıştırma durumunun veri yapısını ve köprü metni modelini kullanıyoruz.
Özellikle haber kategorileri ve haberler, çalışan nesneler olarak kullanılacaktır. Kolaylık sağlamak için, haber kategorilerinin ve haber nesnelerinin Varlık-İlişki modelini ve eşdeğer ilişki tablolarını hatırlatır.
Bağımsız Sayfalar
Bağlamdan bağımsız tek bir birimden oluşan bir WebML sayfası gösterir. Özellikle sayfa, tüm haber kategorilerinin listesini yayınlamak için NewsCategories adlı bir dizin birimi içerir. Örnekte, her haber kategorisinin basitçe kategori adıyla gösterildiğini ve dizinin artan kategori adına göre sıralandığını varsayıyoruz.
Gösterilen genel yapı ile ilgili olarak, şablonun organizasyonu daha basittir, çünkü birkaç isteğe bağlı parçaya ihtiyaç duyulmaz. İstek parametrelerinin çıkarılması gerekli değildir, çünkü NewsCategories biriminin giriş bağlantısı yoktur ve bu nedenle sayfa, örneğin aşağıdaki gibi bir URL’de gezinerek parametresiz bir HTTP isteği ile çağrılır (sayfa şablonlarının newsCategories.jsp adlı bir dosyaya kaydedilir):
Bu nedenle, sayfa şablonu doğrudan veritabanına bağlanma kodunu içeren Bölüm 2’den başlar. Bu kod sonraki tüm örneklerde aynı kalacak ve sadece bu ilk durum için yorumlanacaktır.
Birkaç ön JSP bildiriminden sonra (satır 1-2), 4. satırda veritabanı sürücüsü yüklenir ve JDBC sürücü yöneticisi içinde kendisinin bir örneğini otomatik olarak kaydeder.
Gerçek veritabanı bağlantısı, 5. satırda DriverManager sınıfının getConnection işlevi çağrılarak oluşturulan Connection türünde bir Java nesnesi tarafından temsil edilir. getConnection işlevi üç giriş değerini kabul eder: veri kaynağı adı, kullanıcı adı ve parola.
Bu bölümün geri kalanında, sırasıyla kullanıcı adı ve parola olarak acmeuser ve acmepwd dizelerini kullanarak acme adlı bir veritabanına bağlanacağız. Veritabanıyla etkileşime başlamanın mümkün olduğu bir bağlantı nesnesinin oluşturulmasıyla sona erer.
Veritabanına bağlantı kurulduktan sonra şablon, ünitenin sorgusunun oluşturulması ve yürütülmesi ile devam eder. Mevcut örnekte, bu görev özellikle basittir, çünkü tek bir birim vardır ve bununla ilişkili sorgunun kodu sabittir ve giriş parametreleri yoktur. Açıkçası, tek bir birim olduğu için sayfa içinde parametre yayılımı gerçekleşmez.
8. satırda, sorguları yürütmek için bir arabirimi temsil eden stmt adlı boş bir ifade nesnesi oluşturmak için bağlantı nesnesinde createStatement işlevi çağrılır. Bu ifade nesnesi, üzerinde executeQuery işlevini çağırarak sorguyu veritabanına oluşturmak için kullanılır (satır 9-10).
Android linki uygulamada açma
Google Play hazır uygulamalar
Bağlantıyı açacak uygulama
Play Store gibi uygulamalar
Gerekli hazır Uygulamalar için Google Play Hizmetleri bu cihazdan kaldırıldı
Web sayfası yükle
Android uygulama
Play storeden nasil indirilir
ExecuteQuery işlevi, SQL sorgusunun gerçek kaynak kodunu argüman olarak alır ve sorgu sonucunu bir kayıt kümesi biçiminde döndürür. Bu örnekte, sorgu basit bir SELECT ifadesidir ve sonuç, Java değişkeni olarak adlandırılan sonuca atanır.
WebML dizin biriminde hiçbir seçicinin belirtilmediğini ve bu nedenle SELECT ifadesinin WHERE koşulunu içermediğini ve NEWSCATEGORY tablosundan mevcut tüm satırları çıkardığını unutmayın. SELECT deyimi, dizin biriminde gösterilen özniteliğe karşılık gelen NAME sütununu içeren bir öznitelik listesine ve WebML biriminin sıralama ölçütünü (NAME’e göre artan) yansıtan bir ORDER BY yan tümcesine sahiptir.
HTML işaretlemesinin üretimi 12. satırda başlar. Bazı statik HTML’den sonra (satır 12-17), sayfa şablonu sayfanın dinamik kısmını hesaplamak için bir bölüm içerir (18-25. satırlar). Bu bölüm, SQL sorgusunun sonucundan oluşturulmuş bir HTML tablosu içerir. Özellikle, tablo, sonuç kümesindeki her kayıt için bir satır içerir ve her satır, geçerli kaydın NAME özniteliğinin değerinden oluşturulmuş tek bir hücre içerir.
Tabloyu oluşturmak için, bir while döngüsü gereklidir (20-24 satırlar), bu döngü, sonuç.next() işlevi false döndürdüğünde durur, yani işlenecek başka satır yoktur. Döngünün içinde, geçerli kaydın NAME özniteliğinin değerini içeren bir HTML satırı ve hücresi oluşturulur.
Bu nedenle, döngünün yürütülmesi, NEWSCATEGORY tablosundaki satır sayısı kadar HTML satırı üretir. Son olarak, JSP şablonunun son kısmı (28–33. satırlar) veritabanıyla iletişim kurmak için kullanılan çeşitli Java nesnelerini kapatır.
Bu bölümün örneği, bağımsız çoklu veri birimlerine ve seçicili birimlere de genelleştirilebilir:
- Bağımsız bir çoklu veri birimi, 9-10 satırlarında gösterilenle aynı veri alma sorgusunu gerektirir. HTML işaretleme üretim kısmı, örneğin çoklu veri biriminin örneklerini bir listede düzenlemek yerine bir matriste döşemek için, muhtemelen birimin örneklerinin farklı bir düzeniyle benzer olacaktır. İndeks ve çoklu veri birimi arasındaki gerçek fark, giden bağlantılarının uygulanmasındadır; bu fark açıklığa kavuşturulacaktır.
- Bir indeks veya çoklu veri biriminin bir seçicisi varsa, birimin sorgusunun SQL deyimi uygun bir WHERE yan tümcesi içerir. Örneğin, gösterilen dizin birimi, yalnızca ApprovalStatus özniteliği 1’e eşit olan ve aşağıdaki SQL sorgusuna karşılık gelen haber kategorilerini alan öznitelik tabanlı bir seçiciye sahiptir.
Birden çok varlıktan içerik alan ve dizin girişlerini hiyerarşik bir şekilde sunan hiyerarşik dizin birimlerini işlemek için biraz daha karmaşık bir kod gerekir. Örnek olarak, hiyerarşik bir dizin biriminin kategoriye göre gruplandırılmış haber öğelerini gösterdiği örneğini ele alalım.
İlk değişiklik, her haber öğesinin başlığının ait olduğu kategorinin adıyla eşleştirildiği bir satır kümesi elde etmek için NEWSCATEGORY ve NEWSITEM tablolarına katılması gereken birimin içeriğini almak için SQL sorgusundadır.
Ardından, sorgunun sonuç kümesi, örneğin, kategori adlarını ve her kategori için o kategorideki her haberin başlığını gösteren iki iç içe HTML listesi oluşturmak için HTML işaretlemesini üretmek için kullanılır. Bu amaçla, kod tarafından örneklendiği gibi, birkaç iç içe koşullu ifade içeren bir döngü gereklidir.