Giriş

Web sitesi geliştirmek için farklı geliştirme araçları ve yöntemleri kullanılabilir. HTML, CSS ve JavaScript kullanılarak oluşturulan sayfalar; çoğunlukla PHP, C# (ASP/.NET) veya Java (JSP/Servlet, JSF) dillerinden biri ile sunucu tarafından kullanıcıya iletilir.

Günümüzde web sayfası yayınlamak için kullanılan altyapıların büyük çoğunluğu PHP ile hazırlanmıştır. PHP bilmiyorsanız ya da Java gibi güçlü bir dil tercih ediyorsanız seçenekleriniz azalmaktadır. İşte bu noktada Java Basic Content Adviser (JBCA) devreye giriyor: Java, HTML5, JavaScript, Bootstrap ve ilişkili teknolojilerin birlikte kullanıldığı, hazır ve tutarlı bir web altyapısı.

Bu yazının devamında JBCA altyapısından yararlanarak web sitesi içerik yönetiminin nasıl yapıldığını ve sayfaların JSP/Servlet üzerinden ziyaretçiye nasıl sunulduğunu adım adım inceliyoruz.

Sayfa Tasarımı

Web sayfası geliştirmek için Bootstrap iyi bir seçenek oluşturmaktadır. Sayfa tasarımını kendiniz yapabileceğiniz gibi bir grafik tasarımcıdan profesyonel destek de alabilirsiniz. Oluşturulan HTML sayfalar, JavaScript kodları, stiller ve görsel öğeler dosya olarak hazır bulunmalıdır.

📷 01 — Proje dosya yapısına genel bakış
Proje dosya yapısı

Sayfa İçeriklerinin Kaydedilmesi

Sayfaları HTML dosyası olarak JBCA sayfa yönetimi arayüzü üzerinden veritabanına kaydediyoruz. Bu yaklaşım, içerik değişikliklerini merkezi bir noktadan yönetmeyi ve tüm sayfaların tutarlı bir yapıda sunulmasını kolaylaştırır.

📷 02 — JBCA sayfa yönetimi ile HTML içerik kaydı
Sayfa kayıt ekranı

Tema Yönetimi

Temalar, sayfanın ana (merkez) bölümü ile birlikte üst, alt menü ve yan bölümlerini de belirlememize yardımcı olur. Bu sayede her sayfayı tek tek düzeltmek yerine tema parçalarında değişiklik yapmak yeterli olur.

📷 03 — Tema yapılandırma ekranı
Tema yönetimi

Sayfanın link kaydını oluşturarak JSP ile sayfanın ana bölümüne eklenecek yan bölümleri de ziyaretçiye gönderebiliriz.

📷 04 — Link kayıt ekranı
Link kaydı

Temalarla bağlantılı sayfalar haritalanarak belirlenir.

📷 05 — Tema-sayfa eşleştirme ekranı
Tema-sayfa eşleştirme

Menüler için ayrı bir yönetim ekranı mevcuttur. Menü güncellemesi HTML metin olarak yapılabilmekte; alternatif olarak sayfa dosyası girişiyle de gerçekleştirilebilmektedir. Menüler tema aracılığıyla ana bölüme bağlıdır.

📷 06 — Menü yönetim ekranı
Menü yönetimi

CSS & JavaScript Kod Yönetimi

CSS, JavaScript ve diğer tarayıcı tarafı scriptleri kaydedebileceğimiz özel kod yönetim ekranları mevcuttur.

📷 07 — Kod (CSS/JS) kayıt ekranı
Kod kayıt ekranı

Binary Dosya Yönetimi

Veritabanına kaydedilen binary dosyalar tekrar görüntülenebilir, indirilebilir ve silinebilir; tam bir dosya yönetim döngüsü sağlanır.

📷 08 — Binary dosya yönetim ekranı
Dosya yönetimi

İletişim Mesajları

İletişim ekranı ile web sitesinden gönderilen mesajlar listelenerek görüntülenebilir.

📷 09 — İletişim mesajları ekranı
İletişim mesajları

Eclipse — Proje Yapısı

Eclipse IDE üzerinde projeye genel bir bakış.

📷 10 — Eclipse proje genel görünümü
Eclipse proje yapısı

WebContent klasörü içerisindeki JSP dosyalarından bir kesit.

📷 11 — WebContent / JSP dosya listesi
JSP dosyaları

JSP ile HTML Parçalarının Birleştirilmesi

Örnek olarak hizmetler.jsp sayfasında HTML parçaları JSP üzerinde birleştirilip ziyaretçiye sunuluyor.

📷 12 — hizmetler.jsp — HTML birleştirme kodu
JSP HTML birleştirme
📷 13 — hizmetler.jsp — devamı
JSP kodu devamı

LinPageBean — Veritabanından HTML Getirme

LinPageBean ile JSP sayfa yönetimi için HTML ve kod parçaları veritabanından getirilir.

📷 14 — LinPageBean sınıfı
LinPageBean

Başlangıç değerleri belirlendikten sonra getLinPage(String linkName) metodu ile bağlı ana sayfa ve tema bilgisi alınır.

📷 15 — getLinPage() metodu
getLinPage metodu

Bağlı HTML sayfa bölümleri getThemePage(String position) metodu ile veritabanından getirilir.

📷 16 — getThemePage() metodu
getThemePage metodu

Menü bölümünün alınması ise getMenuStr() metodu ile gerçekleştirilir.

📷 17 — getMenuStr() metodu
getMenuStr metodu
💡 JBCA (Java Basic Content Adviser) kullanımı; basit bir kod yapısı ve hazır HTML sayfa bölümlerinin veritabanında tutulması sayesinde hızlı ve güvenilir bir içerik yönetim altyapısı sunar. Java bilgisiyle, PHP gerektiren CMS'lere alternatif güçlü bir web geliştirme çözümü elde etmiş olursunuz.