Dinamik web siteleri geliştirme konusundaki deneyimim çoğunlukla Java sunucu uygulamaları ile sınırlı. Tomcat'ı çeşitli Java sunucu uygulamaları geliştirmek için kullandım ve bu teknolojinin yanı sıra ön uç için istemci tarafı HTML / CSS / Javascript ile de oldukça yetkin olduğumu söylemekte tereddüt etmem.
"Dinamik web sitesi" düşündüğümde, sanırım: kullanıcı bir sorgu dizesi ile bir URL ister, sunucu sorguyu alır ve sonra sorguyu yanıtlamak için dinamik olarak HTML çıktısı ilerler. Bu genellikle görüntülenmesi için istenen verileri almak için bir veritabanı ile iletişimi içerir. Temelde doGet
bir Java yönteminin arkasındaki fikir budur HttpServlet
.
Ama bu günlerde, Django ve Ruby on Rails gibi hepsi "Model View Controller" mimarisinden faydalanan daha yeni çerçeveler duyuyorum. MVC açıklayan çeşitli makaleler okudum , ama gerçekten faydalarını anlamakta sorun yaşıyorum. Genel fikrin iş mantığını UI mantığından ayırmak olduğunu anlıyorum, ancak bunun normal web programlamasından gerçekten farklı bir şey olduğunu göremiyorum. Web programlama, doğası gereği, iş mantığını (arka uç sunucu tarafı programlama) UI programlamasından (istemci tarafı HTML veya Javascript) ayırmaya zorlar, çünkü ikisi tamamen farklı programlama alanlarında bulunur.
Soru: MVC, Java sunucu uygulaması gibi bir şey üzerinde ne sunuyor ve daha da önemlisi, MVC tam olarak nedir ve Java sunucu uygulaması (veya hatta daha geleneksel bir yaklaşım kullanarak dinamik bir web sitesi geliştirmek için normalde yaptıklarınızdan nasıl farklıdır) CGI gibi daha eski bir şey)? Mümkünse, MVC'yi açıklarken, lütfen MVC'nin web geliştirme sürecine nasıl uygulandığını ve nasıl faydalı olduğunu gösteren bir örnek verin .