Spring MVC, Model-View-Controller (MVC) mimarisini kullanan ve web uygulamalarının geliştirilmesi için kullanılan bir Spring Framework bileşenidir. Bu bileşen, uygulamaların düzenli bir yapıya sahip olmasını sağlar ve uygulamanın farklı bileşenlerini birbirinden bağımsız tutar.
Spring MVC, kullanıcının tarayıcısıyla etkileşim halinde olan Controller bileşeninden başlayarak, View bileşeni tarafından gösterilen verilerin doğru bir şekilde gösterilmesini sağlayan Model bileşenine kadar birçok farklı bileşeni içerir. Spring MVC, bu bileşenlerin tamamının uyumlu bir şekilde çalışmasını sağlayarak web uygulamalarının geliştirilmesini kolaylaştırır.
Spring MVC’nin bir diğer avantajı, esnekliği ve özelleştirilebilirliğidir. Bu bileşen, birçok farklı veri kaynağına bağlanabilen, farklı formatlardaki verileri işleyebilen ve farklı görüntüleme teknolojileri kullanabilen bir yapıya sahiptir.
Spring MVC, web uygulamalarının geliştirilmesinde oldukça popüler bir araçtır ve geniş bir topluluğa sahiptir. Bu bileşeni kullanarak, uygulamanızın iş mantığını ve sunumunu ayrı tutabilir, böylece uygulamanız daha kolay bakım yapılabilir hale gelir.
Spring MVC kullanarak bir web uygulaması geliştirmek oldukça kolaydır. Bu örnekte, bir kullanıcının adını ve doğum tarihini girmesiyle, yaşını hesaplayan bir basit bir web uygulaması geliştireceğiz.
Öncelikle, projemizi oluşturmak için Spring Initializr’ı kullanacağız. Projemizi oluşturduktan sonra, pom.xml dosyasına spring-webmvc ve jsp dependencies’lerini ekleyeceğiz.
Uygulamamızda iki sayfa olacak: birinci sayfa, kullanıcının adını ve doğum tarihini gireceği formu içerecek ve ikinci sayfa, kullanıcının yaşını gösterecektir.
İlk sayfamızı oluşturmak için bir JSP dosyası kullanacağız. Bu JSP dosyasında, kullanıcının adını ve doğum tarihini gireceği bir form oluşturacağız ve formun gönderileceği URL’yi belirleyeceğiz.
İkinci sayfamızda, kullanıcının yaşını gösteren bir JSP dosyası oluşturacağız. Bu JSP dosyasında, Spring MVC tarafından hesaplanan yaş bilgisini gösteren bir etiket oluşturacağız.
Son olarak, Spring MVC tarafından oluşturulan Controller sınıfımızda, kullanıcının girdiği bilgileri alacak ve yaş bilgisini hesaplayacak kodları yazacağız.
Bu basit uygulamamızı çalıştırdığımızda, kullanıcının yaşını gösteren ikinci sayfayı göreceğiz.
Spring MVC, web uygulamalarının geliştirilmesini oldukça kolaylaştıran bir araçtır. Bu örnekte olduğu gibi, birkaç adımda basit bir web uygulaması geliştirebilirsiniz.
Index.jsp:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Age Calculator</title>
</head>
<body>
<h2>Age Calculator</h2>
<form action="calculateAge" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name"><br><br>
<label for="dob">Date of Birth:</label>
<input type="date" id="dob" name="dob"><br><br>
<input type="submit" value="Calculate Age">
</form>
</body>
</html>
Result.jsp:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Age Result</title> </head> <body> <h2>Age Result</h2> <p>${name}, your age is ${age} years.</p> </body> </html>
AgeController.java:
package com.example.demo; import java.time.LocalDate; import java.time.Period; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PostMapping; @Controller public class AgeController { @PostMapping("/calculateAge") public String calculateAge(HttpServletRequest request, Model model) { String name = request.getParameter("name"); String dobStr = request.getParameter("dob"); LocalDate dob = LocalDate.parse(dobStr); LocalDate now = LocalDate.now(); int age = Period.between(dob, now).getYears(); model.addAttribute("name", name); model.addAttribute("age", age); return "Result"; } }
Burada, index.jsp‘de kullanıcının adını ve doğum tarihini girdiği bir form oluşturduk. Bu formun “calculateAge” URL’sine gönderilmesini sağladık. AgeController sınıfımızda, bu URL’ye gönderilen isteği işlemek için bir “calculateAge” metodu oluşturduk. Bu metodun içinde, kullanıcının adını, doğum tarihini ve hesaplanan yaşını Result.jsp dosyasında kullanmak için Model objesine ekledik. Son olarak, Result.jsp’de Model objesindeki verileri kullanarak kullanıcının yaşını gösterdik.
Bu örnek, Spring MVC’nin ne kadar basit ve kullanışlı bir araç olduğunu göstermektedir.