Spring MVC Dersleri RequestMapping Kullanımı

Spring MVC
Spring Dersleri

Spring MVC Dersleri‘ne devam ediyoruz.

Bu yazıda @RequestMapping anotasyonunun kullanımından bahsedeceğiz. Önceki dersimizde Spring MVC ile bir Merhaba Dünya uygulaması yapmıştık. Bu uygulama örneğinde Merhaba Dünya mesajı verirken metodumuz aşağıdaki gibiydi.

....
...
..
    @RequestMapping("/")
    public String merhaba(Model model) {
        model.addAttribute("mesaj","Merhaba Dünya");
        return "merhaba";
    }
..
...
....

merhaba metodumuzun üzerinde @RequestMapping anotasyonunu kullandık. Bu anotasyonu incelemeye ve özelliklerini yazmaya başlayalım.

Bu anotasyon bulunduğu beanimizdeki metodu ya da tüm beani map etmeyi sağlamaktadır. Gelen HTTP isteğine karşılık gelen ilgili metod RequestMapping tarafından çalıştırılması sağlanmaktadır.

@RequestMapping("/index/blog/ders")

olarak metodumuza tanımlama yaparsak http den gelen url localhost:8080/index/blog/ders adresi olmalıdır. Bu adresten gelen istek doğrultusunda ilgili metodumuz çalışmaktadır.

Bu işlemi bir örnek ile açıklayalım.

<html>
  <head>
    <title>Burak Kutbay Burak KUTBAY</title>
  </head>
  <body>
    <a href="merhaba.jsp">Say Hello</a> 
    <a href="hello.jsp">Say Welcome</a> 
  </body>
</html>

Bir sayfamız olucak iki ader sayfa ve iki adet metodumuz olucak kullanıcı hangi sayfayı tıklarsa ilgili metod çalışacak.

Spring konfigürasyon dosyamızı oluşturalım.

   <context:component-scan base-package="com.burakkutbay.blog" /> 
   <bean class=
       "org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="/WEB-INF/jsp/" />
      <property name="suffix" value=".jsp" />
   </bean>

web.xml i oluşturalım.

<?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>

Şimdi merhabaController’imizi oluşturalım.

@Controller
public class MerhabaController {
   @RequestMapping("/merhaba")  
   public ModelAndView merhaba() {
      String mesaj = "Merhaba!";
      return new ModelAndView("merhaba", "mesaj", mesaj);  
 }

Şimdi helloController’imizi oluşturalım.

@Controller
public class HelloController {
   @RequestMapping("/hello")  
   public ModelAndView hello() {
      String mesaj = "Hello";
      return new ModelAndView("hello", "mesaj", mesaj);  
   }

Merhaba sayfamızı oluşturalım.

<html>
  <head>
    <title>Merhaba Sayfası</title>
  </head>
  <body>
    <h2>${mesaj}</h2>
  </body>
</html>

Hello sayfamızı oluşturalım.

<html>
  <head>
    <title>Hello Sayfası</title>
  </head>
  <body>
    <h2>${mesaj}</h2>
  </body>
</html>

Yaptığımız uygulamadan hangi sayfaya ya da linke tıklarsak ilgili metod çalışıp sonucu gösterecektir. 

Önceki Ders: Merhaba Dünya Örneği Spring MVC Dersleri Sonraki Ders: @PathVariable Kullanımı

Leave a Reply

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

Burak KUTBAY 2010 - 2019
%d blogcu bunu beğendi: