19 Temmuz 2014 Cumartesi

Spring MVC ile Hello World

Merhaba, önceki yazımda intelliJ aracılığıyla spring projeleri oluşturmuştuk. Hatta intellij'nin bize yol göstermek  için  ekrana HelloWorld yazan örnek bir kodlama yaptığından bahsetmiştik.
NOT: Bu kodları inceleyerek java da spring aracılığıyla ekrana mesaj vermenin nasıl olacağı konusunda fikir edinebilirsiniz. ayrıca bu kodların ne anlama geldiğini açıkladığım  yazıyı inceleyebilirsiniz.

Bu yazımda Spring  ile ekrana HelloWorld mesajının nasıl yazdırılacağını anlatacağım.  Yazının uzun olmasını istemediğimden hemen kodlamaya geçmek istiyorum.

ilk olarak  intelliJ ile bir web projesi oluşturuyoruz.
oluşturduğumuz projenin son hali aşağıdaki gibi olacaktır.


oluşturduğumuz projede spring framworku kullanmak için maven install komutunu çalıştırmamız gerekiyor.
Maven tabına gelerek(varsayılan olarak intellij geliştirme ekranın sağ tarafında yer alır) install butonuna basıyoruz.


ikinci aşamada projede src/main/webapp/WEB-INF/pages dizinine gelerek burada  welcome.jsp adında bir jsp dosyası oluşturuyoruz.

welcome.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title></title> </head> <body> Hello World </body> </html>

hemen ardından bu jsp dosyamızı view edecek controller dosyasını oluşturmamız lazım. projede src/main/java/ dizini altındaki com.company.controller paketine sağ tıklayarak
new/java class seçeneği ile WelcomeController  adında bir java dosyası oluşturuyoruz.
intellij de yeni class oluşturmanın kısa yolu:
ALT + 1  
ALT + insert




WelcomeController.java (Controller in ilk harfini ve ardından gelen her yeni kelimenin ilk harfini büyük harfle yazmak yazılım geliştirme standartlarındandır.)
package com.company.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; //sınıfın controller olduğunu belir @Controller public class WelcomeController { //URL deki /welcome parametresini görünce welcome metodunu çağır @RequestMapping(value = "/welcome" , method = RequestMethod.GET) public String welcome(){ return "welcome"; } }

üstteki WelcomeController.java da ve alttaki ayar dosyalarının derlenmesi sonucu Spring framework base URL(localhost:8080) den sonra /welcome görürse hemen welcome() metodunu çağıracak. bu metod bize görüntülemek istediğimiz jsp sayfasının adını döndürecektir.



web.xml
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Spring MVC Application</display-name> <!--ilk olarak mvc-dispatcher yükle--> <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!--tüm url de eşleştirme yap(tarama yap)--> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>


mvc-dispatcher-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--varsayıaln paket // spring başlaması için--> <context:component-scan base-package="com.company.controller"/> <!--jsp dosyalarını çağırırken /WEB-INF/pages/dosyadi.jsp şeklinde çağır--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/"/> <property name="suffix" value=".jsp"/> </bean> </beans>

NOT:  web.xml ve mvc-dispatcher-servlet.xml dosyalarında kodsal  değişiklik hiç yapmadım. Sadece daha anlaşılır olması adına bu dosyaların içinde yorum satırları yazdım.

üstteki kodları içerin projeyi çalıştırdığımızda ekranda HelloWorld mesajını yazacaktır.
URL : http://localhost:8080/welcome 
örnek görüntü aşağıdadır:



kaynak dosyalar : indirmek için tıklayın

Hiç yorum yok:

Yorum Gönder