Spring MVC Dersleri – Merhaba Dünya Örneği
Spring MVC Dersleri’ne devam ediyoruz.
Spring Freamework MVC kullanarak bir “Merhaba Dünya” uygulaması yapacağız. Bu yaptığımız uygulama örneğini yazının sonunda Github’dan uygulamayı indirebileceksiniz.
Yapacağımız Merhaba Dünya uygulaması sayesinde Spring MVC yaşam döngüsü ve çalışma mantığını görüp ileriki derslerin herpsinde
Spring MVC uygulamamızı Maven projesi olarak yapacğız. Spring MVC kullanmak için gerekli olan kütüphaneleri ekleyelim.
<dependencies> <!-- Spring Framework Dependencies --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework.version}</version> </dependency> </dependencies>
Spring MVC Projesi için gerekli kütüphanelerimizi ekledik. Bir web projesi olucağı için web.xml dosyamızı ekleyelim ve içine Spring MVC işlemlerinin olmazsa olmazı DispatcherServlet’imizin tanımlamasını yapıyoruz. Projemiz ilk ayağa kalktığında DispatcherServlet devereye girecek ve kullanıcıdan gelen istekleri ve cevaplar bu servlet’in elinden geçecektir.
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
<load-on-startup>1</load-on-startup> diyerek çalışma önceliğini DispatcherServlet’e veriyoruz.
<url-pattern>/</url-pattern> yazarak tüm url’den gelen istekleri karşıla diyebiliyoruz. /xxx yazarsak sadece xxx den gelen istekleri yönetebilir.
Spring konfigürasyon dosyamızı ekleyelim ve bu dosyanın içerisinde projemizde bulunan anotasyonlarının tanımını, web sayfalarımızın hangi klasörde bulunduğu gibi Springe bildiriyoruz.
<context:component-scan base-package="com.burakkutbay.blog"></context:component-scan> <mvc:annotation-driven /> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/" /> <property name="suffix" value=".jsp" /> </bean>
<mvc:annotation-driven /> sayesinde Spring Core anotasyonları haricinde MVC anotasyonlarının kullanılmasını sağlamaktayız. Yeri geldikçe hem ayrı yazı olarak hem yazılar içerisinde MVC anotasyonları neler göreceğiz.
<context:component-scan base-package> Spring Core (ilgili yazı -> bknz: Spring Core Dersleri) derslerinde gördüğümüz
viewResolver ile web sayfalarımızın hangi klasör altında bulunacağını prefix propertisi ile, bu klasör altında hangi dosya uzantılarının işleme konacağının belirtilmesi ise suffix propertisi ile tanımlanmaktadır.
MerhabaController adında bir bean oluşturalım. Bu bean controller anotasyonu ile işaretlenmiş olucak.
@Controller public class MerhabaController { @RequestMapping("/") public String merhaba(Model model) { model.addAttribute("mesaj","Merhaba Dünya"); return "merhaba"; } }
@RequestMapping ile tanımlama yaparak view tarafından gelen her isteğin bu anotasyon ile yakalanmasını sağlamaktayız. Bu tanımlanın parantez içerisindeki kısmına istenilen url yazılarak sadece ilgili urlden gelen isteklerin ilgili metoduna işlem yaptırabilmesini sağlamaktayız.
Bir model oluşturarak bu modelin içerisinde key value şeklinde bir atama yapıyoruz. Bu atamada mesaj tanımlamasının altında Merhaba Dünya değerini ekliyor ve merhaba isimli jsp sayfasına gönderiyoruz.
Şimdi merhaba.jsp isminde bir sayfa oluşturalım. (ilgili yazı -> bknz: JSP Dersleri)
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Merhaba Dünya</title> </head> <body> ${mesaj} </body> </html>
Sayfamızı oluşturduk. Projemizi çalıştırdığımız anda karşımıza merhaba.jsp gelicek ve “Merhaba Dünya” mesajı bizi karşılayacaktır.
Projenin Kaynak Kodlarını Github Üzerinden Görünlüte / İndir
Önceki Ders: Spring Mvc DispatcherServlet Nedir? | Spring MVC Dersleri | Sonraki Ders: Spring MVC Dersleri RequestMapping Kullanımı |
No Comment! Be the first one.