Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • RabbitMQ
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
Spring MVC

Spring MVC Dersleri – Merhaba Dünya Örneği

Paylaş

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ı

Tags:

Spring MVC Dersleri uygulama örneğiSpring MVC Örneği

Paylaş

Diğer Yazılar

Spring Dersleri
Previous

Spring MVC Dersleri – Spring MVC Nedir?

blank
Next

Spring Boot Custom Banner Yapımı

Next
blank
31 Ekim 2017

Spring Boot Custom Banner Yapımı

Previews
26 Eylül 2017

Spring MVC Dersleri – Spring MVC Nedir?

Spring Dersleri

No Comment! Be the first one.

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Spring Dersleri

Spring MVC Form İşlemleri Form Validation @InitBinder Kullanımı

Spring Dersleri

Spring MVC @PathVariable Kullanımı

Spring Dersleri

Spring MVC Dersleri – Spring MVC Nedir?

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Amazon Web Services
Vue.js
Gradle
Node.js
Android
Struts
Röportaj
Spring Cloud Stream
Redis
Debezium
XCode
Video
Spring Native
Mikroservis Mimarisi
iPhone Uygulama Geliştirme
MongoDB
PostgreSQL
Spring Security
JPA
Objective C
Spring Data
Apache Kafka
Git
Servlet
Yaptığım Projeler
Maven
Design Patterns
DevOps
Linux
JDBC
RabbitMQ
PrimeFaces
Spring Jdbc Template
Spring
Google
Manset
Spring MVC
Spring Cloud
OCA Java SE 8
Spring Core
Quarkus
Microsoft
Veritabanı
Java SE
Tanıyalım
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • RabbitMQ
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale