Yanıtlar:
JSP, sunucu makinesinde çalışan ve istemci tarafı dillerinde (HTML, CSS, JavaScript, vb.) Şablon metni yazmanıza izin veren bir Java görünüm teknolojisidir . JSP , sayfa akışını veya çıktısını dinamik olarak kontrol etmenizi sağlayan Java kodu parçalarıyla desteklenen taglibs'i destekler . İyi bilinen bir taglib JSTL'dir . JSP ayrıca arka uç verilerine (sayfa, istek, oturum ve uygulama kapsamlarında bulunan öznitelikler aracılığıyla) çoğunlukla taglibs ile birlikte erişmek için kullanılabilecek İfade Dilini destekler .
İlk kez bir JSP istendiğinde veya web uygulaması başlatıldığında, sunucu uygulaması kapsayıcısı onu genişleten bir sınıfa derler HttpServlet
ve web uygulamasının ömrü boyunca kullanır. Oluşturulan kaynak kodunu sunucunun çalışma dizininde bulabilirsiniz. Örneğin Tomcat , /work
dizin. Bir JSP isteğinde, sunucu uygulaması kapsayıcısı derlenmiş JSP sınıfını yürütür ve oluşturulan çıktıyı (genellikle yalnızca HTML / CSS / JS) ağ sunucusu üzerinden istemci tarafına gönderir ve bu da onu web tarayıcısında görüntüler.
Servlet, istemci tarafından yapılan istekleri engelleyen ve bir yanıt oluşturan / gönderen sunucu makinesinde çalışan bir Java uygulama programlama arabirimidir (API) . Çok iyi bilinen bir örnek HttpServlet
yöntemler sağlar ki üzerine bağlamak için , HTTP popüler kullanılarak istekleri HTTP yöntemlerini gibi GET
ve POST
. Sen yapılandırabilirsiniz HttpServlet
yapılandırılabilir in olduğu belli HTTP URL modeliyle dinlemek s web.xml
daha yakın olan veya Java EE 6 ile, @WebServlet
açıklama.
Bir Sunucu Uygulaması ilk kez istendiğinde veya web uygulaması başlatılırken, sunucu uygulaması kapsayıcısı bunun bir örneğini oluşturur ve web uygulamasının ömrü boyunca bellekte tutar. URL'si sunucu uygulamasının URL modeliyle eşleşen her gelen istek için aynı örnek yeniden kullanılacaktır. İstek verilerine ile erişebilir HttpServletRequest
ve yanıtı işleyebilirsiniz HttpServletResponse
. Her iki nesne, ve HttpServlet
gibi geçersiz kılınan yöntemlerin herhangi birinde yöntem bağımsız değişkenleri olarak kullanılabilir .doGet()
doPost()
JSF, Servlet API'sının üzerine kurulmuş ve JSP'de veya Facelets gibi herhangi bir Java tabanlı görünüm teknolojisinde kullanılabilen taglibs aracılığıyla bileşenler sağlayan bileşen tabanlı bir MVC çerçevesidir . Facelets, JSF için JSP'den çok daha uygundur. Kompozit bileşenler gibi mükemmel şablonlama özellikleri sağlarken, JSP temelde sadece JSF'de şablonlama için sunar , böylece ham Java koduyla (biraz opak ve çok sıkıcı bir çalışma olan) özel bileşenler oluşturmak zorunda kalırsınız. tekrarlanan bir bileşen grubunu tek bir bileşenle değiştirmek istiyorsunuz. JSF 2.0'dan beri JSP, Facelets lehine görünüm teknolojisi olarak kullanımdan kaldırıldı. <jsp:include>
Not : JSP'nin kendisi kullanımdan kaldırılmamıştır, sadece JSF ile JSP kombinasyonu kullanımdan kaldırılmıştır.
Not : JSP, Taglibs, özellikle ( Tag File ) varyantı aracılığıyla mükemmel şablon oluşturma yeteneklerine sahiptir . JSF ile birlikte JSP şablonlaması eksik olan şeydir.
Bir MVC ( Model-View-Controller ) çerçevesi olan JSF FacesServlet
, tek istek-yanıt Denetleyici olarak sağlar . Kullanıcı girişini toplama, doğrulama / dönüştürme, model nesnelerine koyma, eylemleri çağırma ve yanıtı oluşturma gibi tüm standart ve sıkıcı HTTP istek / yanıt işlerini elinizden alır. Bu şekilde temel olarak Görünüm için bir JSP veya Facelets (XHTML) sayfası ve Model olarak bir JavaBean sınıfı elde edersiniz . JSF bileşenleri, görünümü modele (ASP.NET web denetiminizin yaptığı gibi) bağlamak için kullanılır ve tüm işi yapmak FacesServlet
için JSF bileşen ağacını kullanır .
<c:forEach>
etiket JSTL'den. Ayrıca bkz. Stackoverflow.com/tags/jstl/info
<mytag:doesSomething/>
özel bir etikete ve <jsp:attribute>
bir jsp etiketine benziyor .
Bkz. Http://www.oracle.com/technetwork/java/faq-137059.html
JSP teknolojisi, Java teknolojisi ailesinin bir parçasıdır. JSP sayfaları sunucu uygulamasında derlenir ve sunucuda işlem yapmak için JavaBeans bileşenlerini (fasulye) veya Enterprise JavaBeans bileşenlerini (kurumsal fasulye) çağırabilir. Bu nedenle JSP teknolojisi, web tabanlı uygulamalar için yüksek düzeyde ölçeklenebilir bir mimaride önemli bir bileşendir.
Bkz. Https://jcp.org/en/introduction/faq
C: JavaServer Faces teknolojisi, web uygulamaları için kullanıcı arabirimleri oluşturmak için bir çerçevedir. JavaServer Faces teknolojisi şunları içerir:
Bir dizi API: UI bileşenlerini temsil etme ve durumlarını yönetme, olayları ve giriş doğrulamayı yönetme, sayfada gezinmeyi tanımlama ve uluslararasılaştırmayı ve erişilebilirliği destekleme.
Bir JSP sayfasındaki JavaServer Faces arayüzünü ifade etmek için bir JavaServer Pages (JSP) özel etiket kütüphanesi.
JSP özel bir sunucu uygulamasıdır.
JSF, JSP ile kullanabileceğiniz bir etiket kümesidir.
Tarayıcı / İstemci perspektifinden
JSP ve JSF'nin ikisi de aynı görünüyor, Uygulama Gereksinimleri uyarınca JSP, istek tabanlı uygulamalar için daha uygundur.
JSF, daha zengin olay tabanlı Web uygulamaları için hedeflenmiştir. Olayı istek / yanıttan çok daha ayrıntılı görüyorum.
Sunucu Perspektifinden
JSP sayfası sunucu uygulamasına dönüştürülür ve çok az davranışı vardır.
JSF sayfası (özel FacesServlet tarafından) bileşenler ağacına dönüştürülür ve spec tarafından tanımlanan bileşen yaşam döngüsünü izler.
Servlet'ler:
Java Servlet API'si, Java geliştiricilerinin dinamik Web içeriği sağlamak için sunucu tarafı kod yazmalarını sağlar. Diğer tescilli Web sunucusu API'ları gibi, Java Servlet API'sı da CGI üzerinde gelişmiş performans sundu; ancak, bazı önemli ek avantajları vardır. Sunucu uygulamaları Java ile kodlandığından, nesne yönelimli (OO) bir tasarım yaklaşımı sağlar ve daha da önemlisi herhangi bir platformda çalışabilir. Böylece, aynı kod Java'yı destekleyen herhangi bir ana bilgisayar için taşınabilirdi. Sunucu uygulamaları, sunucu tarafı Web uygulaması geliştirme için yaygın olarak kullanılan bir teknoloji haline geldiği için Java'nın popülaritesine büyük katkıda bulundu.
JSP:
JSP, sunucu uygulamaları üzerine inşa edilmiştir ve Web kullanıcı arabirimleri için büyük miktarlarda dinamik HTML içeriği oluşturmak için daha basit, sayfa tabanlı bir çözüm sağlar. JavaServer Pages, Web geliştiricilerinin ve tasarımcılarının, dinamik Java bölümleri için özel etiketler içeren HTML sayfalarını düzenlemelerini sağlar. JavaServer Pages, bir Web sunucusuna yüklenen ve tüm JSP sayfa görüntüleme isteklerini işleyen JSP kapsayıcı olarak bilinen özel bir sunucu uygulamasına sahip olarak çalışır. JSP kapsayıcısı istenen bir JSP'yi derlenen ve hemen yürütülen sunucu uygulaması koduna çevirir. Aynı sayfaya yapılan daha sonraki istekler, sayfa için çalışma zamanı sunucu uygulamasını çağırır. Sunucudaki JSP'de bir değişiklik yapılırsa, görüntüleme isteği, çalışma zamanı sunucu uygulamasının başka bir çevirisini, derlemesini ve yeniden başlatılmasını tetikler.
JSF:
JavaServer Faces, Web uygulamaları için kullanıcı arabirimleri oluşturmak için kullanılan standart bir Java çerçevesidir. En önemlisi, genellikle Web uygulaması geliştirmenin daha zor ve sıkıcı kısımlarından biri olan kullanıcı arabiriminin geliştirilmesini kolaylaştırır.
Kurumsal Web uygulaması geliştirme için tasarlanmış kapsamlı bir çerçeve olmadan temel Java Web teknolojilerini (Java sunucu uygulamaları ve JavaServer Pages gibi) kullanarak kullanıcı arabirimleri oluşturmak mümkün olsa da, bu temel teknolojiler genellikle çeşitli geliştirme ve bakım sorunlarına yol açabilir. Daha da önemlisi, geliştiriciler üretim kalitesinde bir çözüme ulaştıklarında, JSF tarafından çözülen aynı problemler standart olmayan bir şekilde çözülecektir. JavaServer Faces, Java Web uygulamaları için kullanıcı arabirimlerinin geliştirilmesini aşağıdaki şekillerde basitleştirmek üzere tasarlanmıştır:
• Web kullanıcı arabirimleri oluşturmak için bileşen merkezli, istemciden bağımsız bir geliştirme yaklaşımı sağlar, böylece geliştirici verimliliğini ve kullanım kolaylığını artırır.
• Web kullanıcı arayüzünden uygulama verilerine erişimi ve yönetimi kolaylaştırır.
• Birden çok istek ve birden çok istemci arasındaki kullanıcı arabirimi durumunu basit ve mütevazi bir şekilde otomatik olarak yönetir.
• Farklı beceri setlerine sahip farklı bir geliştirici kitlesine uygun bir geliştirme çerçevesi sağlar.
• Bir web uygulaması için standart mimari desen kümesini tanımlar.
[ Kaynak: tam referans: JSF ]
JSF üzerinden JSP'yi tercih edebileceğiniz durumlar da vardır. Uygulama doğası teknolojiyi seçmede belirleyici faktör olmalıdır.
Zengin bir GUI etkileşimi ve çok sayıda Java komut dosyası varsa, JSF'yi tercih edin. Temel olarak GUI uygulama mimariniz Bileşen odaklı ve hatta Swing gibi sürülmüşse, JSF en iyisidir.
Uygulama sadece düz bir form gönderiyorsa, GUI etkileşiminin çok fazla olması gerekmiyorsa, JSP yeni bir teknoloji öğrenmek bir ek yükse ve karmaşık bir çerçeveye ihtiyaç duymazsa iyi yapabilir.
Servlet - java sunucusu tarafı katmanıdır.
Servlets ve JSP arasındaki temel fark, Servlets'de java kodu yazmamız ve HTML kodunu gömmemiz ve JSP ile bunun tersi olmasıdır. JSP'de HTML kodu yazıyoruz ve JSP tarafından sağlanan etiketleri kullanarak java kodunu gömüyoruz.
Java Sunucu Sayfaları (JSP) , Web geliştiricilerinin ve tasarımcılarının, mevcut iş sistemlerinden yararlanan, bilgi açısından zengin, dinamik Web sayfalarını hızla geliştirmelerini ve bakımlarını yapmalarını sağlayan java teknolojisidir. JSP teknolojisi, kullanıcı arayüzünü içerik üretiminden ayırır ve tasarımcıların temel dinamik içeriği değiştirmeden genel sayfa düzenini değiştirmelerini sağlar.
Facelets , JSF ile karşılaştırıldığında JSF geliştiricilerine daha basit ve daha güçlü bir programlama modeli sağlayan , JSF (Java Sunucu Yüzleri) için tasarlanmış ilk JSP olmayan sayfa bildirim dilidir . Web uygulamalarının geliştirilmesi için JSP'de oluşan farklı sorunları çözer.
İşte betiklerin ve yüzlerin özelliklerini karşılaştıran bir tablo:
JSP:means HTML+Java Code:
JSP kendi yaşam döngüsüne sahiptir jsp_init () jsp_service () jsp_destroy
İlk istek sonra JSP .java dosyasına dönüştürün.
Kullandığımız üç tür etiket vardır 1) Scriptless
<% %>
Burada geliştirici, geliştiricinin veri almak istediği her şeyi beyan edebilir
2.) İfade etiketi
<%= %>
Burada geliştirici baskı ile ilgili bazı verileri kullanabilir
3.) beyanı
<!% %>
Burada geliştirici yöntemle ilgili bazı verileri bildirebilir.
Servlet:
Servlet'in kendi yaşam döngüsü var.
init()
service()
destroy()
İlk istek kapsayıcısı web.xml dosyasındaki verileri okuyacaktır. Sonra karşılama dolgusu görüntülenecektir.
Şimdi eylem yaptıktan sonra url'yi arayacak ve bu işlemden sonra oradaki belirli sunucu uygulamasını arayacaktır. servis işlemi gerçekleştirecektir.
JSF:
JSF'nin kendi kullanıcı arayüzü var ve yaşam döngüsü altı şekilde performans gösterebilir,
A)Restore view phase
B)Apply request values phase
C)Process validations phase
D)Update model values phase
E)Invoke application phase
F)Render response phase
Burada tablo için kullanıcı arayüzü için panel ızgarası kullanıyoruz ve bunun için farklı yüzler var.
Rich Faces
Prime Faces.
JSP'ler MVC'nin (Model Görünüm Denetleyicisi) View bileşenidir. Denetleyici gelen isteği alır ve bazı veritabanı erişimi yapan bir fasulye olabilecek Model'e iletir. JSP daha sonra çıktıyı HTML, CSS ve JavaScript kullanarak biçimlendirir ve çıktı daha sonra istekte bulunan kişiye geri gönderilir.
JSF, projeler için Model-View-Controller (MVC) tabanlı mimarinin uygulanmasının çok kolay olduğu gelişmiş bir çerçevedir. JSF'nin JSP'ye göre ana avantajı, koşullara ve bileşenlerin ajax olaylarının kolay entegrasyonuna bağlı olarak bileşenlerin tarayıcıda kolayca dinamik olarak görüntülenmesidir.
JSF uygulamasının ön ucu, yani xhtml dosyaları, tarayıcı aracılığıyla kullanıcıya gösterilenlerdir. Bu xhtml dosyaları dahili olarak yönetilen fasulyeleri, örneğin gerçek uygulama mantığının yazıldığı kontrolörleri çağırır.
Denetleyiciler dahili olarak veritabanı ile iletişim kuran çeşitli servisleri çağırır (Hazırda Beklet veya JPA API kullanarak). Akış kısaca böyle olur.
JSF, web uygulamanıza zengin bir görünüm ve his vermek için bir çerçeve olan RichFaces ile birlikte de kullanılır.
JSF + RichFaces + Hibernate / JPA kesin öğrenmesi için iyi bir teknolojidir!
Jsp ayrıca doğrudan çalıştırılabilir herhangi bir harici derleme gerektirmeyen yerleşik sunucu uygulaması koduna sahip. Değişiklikler doğrudan bir tarayıcıda jsp'de geçerli olacaktır.
Servlet'in derlenmesi gerekir (yani, belirli bir sınıf oluşturma işlemi olacaktır)
Jsf, MVC Framework'ün bir görünüm bileşenidir
JSP, JAVA SUNUCU SAYFASI anlamına gelir ........ jsp bir sunucu uygulaması değildir. Jsp kodu ve HTML etiketini kendi içinde bir HTML ve bir sunucu uygulaması ayrı ayrı yapmanız gerekmez.Jsp web uygulamasında muhteşem bir rol oynuyor. Servlet, bir java sınıfının HTML sayfanızı statikten dinamik hale getirmesinde rol oynar.
Servlet web kabın içine yürütmek sunucu tarafı java programlardır. Sunucu uygulamasının temel amacı, istemciden alınan istekleri işlemektir.
Java Server Pages , dinamik web sayfaları oluşturmak için kullanılır. Jsp'ler, sunucu uygulamaları programında yapılması kolay olmayan tek bir dosyada java artı html kodu yazmak için tanıtıldı. Ve bir jsp dosyası çevrildiğinde java sunucu uygulamasına dönüştürülür.
Java Server Faces , kullanıcı arayüzünün geliştirilmesini kolaylaştıran bir MVC web çerçevesidir.