Spring 4 MVC Hello INDONESIA aka hello world

http://4.bp.blogspot.com/-rDLQXpqtalk/UEiNQfylJ9I/AAAAAAAAA6M/lh9jXM_J_Uc/s1600/Logo_Spring_258x151.png

Guys pada tulisan kali ini saya ingin menulis step by step membuat aplikasi menggunakan Spring. Untuk bagian pertama ini ya baru sebatas hello world saja, nanti pada bagian – bagian selanjutnya akan dibahas integrasi Spring dengan Hibernate dan lain lain yang lebih mendalam. Oke pertama kali yang harus dilakukan adalah membuat Project baru pada Eclipse dengan cara File -> New -> Dynamic Web Project



create new project 1

Beri nama project baru yang kita buat ini dengan nama SpringExample, seperti gambar di bawah ini :


create new project 2

setelah itu klik next saja ,


create new project 3

Selanjutnya adalah memberi nama Context Root dan Content Directory. Context Root adalah alamat aplikasi yang nanti dipanggil pada web browser, jadi semisal saya memberi nama Context Root dengan SpringExample maka nanti pada saat di jalankan anda akan memanggil dengan alamat http://localhost:9191/SpringExample . sedangkan Content Directory adalah tempat file – file web tersebut disimpan seperti web.xml, applicationContext.xml, file file JSP dan lain nya.


contoh new project 4

Setelah itu klik finish, dan langkah selanjutnya adalah pastikan anda telah men download library Spring, library Spring bisa di download dari link yang saya berikan dibawah ini :

Library Spring

Copy kan library – library spring tersebut ke dalam project anda pada folder WebContent/WEB-INF/lib selain itu, untuk menjalankan project Spring secara utuh anda juga membutuhkan beberapa library yang umum digunakan pada java web seperti common-beanutils, common-collections, common-digester, common-lang, common-logging, jstl, log4j, dll .


create new project 6

Oke setelah itu buka file web.xml rubah file tersebut menjadi seperti ini

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>SpringExample</display-name>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/applicationContext.xml
		</param-value>
	</context-param>
	<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<listener>
		<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
	</listener>
</web-app>

web.xml adalah file web descriptor (pengertian nya cari aja di google ya), yang jelas begini file ini adalah file yang pertama kali di jalankan ketika sebuah aplikasi java web di deploy atau di running baik di dalam servlet container ataupun application server, dari dalam file ini lah kita kemudian menentukan arah aplikasi yang ingin kita buat

pada Contoh diatas terdapat baris :

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/applicationContext.xml
        </param-value>
</context-param>

Maksud dari code diatas adalah dia akan mencari file bernama applicationContext.xml yang berada di dalam folder WEB-INF, nah nanti akan dijelaskan isi dari file applicationContext.xml

Kemudian juga terdapat code seperti dibawah ini :

<servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

Maksud dari code diatas adalah kita di haruskan membuat sebuah file bernama spring-servlet.xml pada direktori WEB-INF yang nanti nya berisikan konfigurasi konfigurasi yang berkenaan dengan spring seperti view resolver.

Sebagaimana dijelaskan sebelumnya kita harus membuat file bernama applicationContext.xml di dalam direktori WEB-INF berikut ini adalah isi file applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<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"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd


http://www.springframework.org/schema/context


http://www.springframework.org/schema/context/spring-context-3.0.xsd


http://www.springframework.org/schema/mvc


http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

	<context:annotation-config />
	<context:component-scan base-package="com.spring.example" /> 
	<mvc:annotation-driven />  
	

</beans>

pada application context diatas terdapat kode

<context:annotation-config /> dan <mvc:annotation-driven />  

yang dimaksudkan untuk meng enable kan mode annotation, you know sudah gak jaman lagi mapping xml, sekarang semua serba annotation hehhe kemudian juga ada code

<context:component-scan base-package="com.spring.example" /> 

yang digunakan untuk men scan package package yang di dalam nya terdapat annotation spring agar dapat dipanggil pada saat aplikasi running.

Kemudian isi pada file spring-servlet.xml adalah sebagai berikut :

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd


http://www.springframework.org/schema/context


http://www.springframework.org/schema/context/spring-context-3.0.xsd


http://www.springframework.org/schema/mvc


http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

	<!-- View Resolver  -->
	<bean id="viewResolver" 
	class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
	p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />  

</beans>

Fungsi dari view resolver ini adalah me mapping / mengarahkan Controller kepada View (dalam hal ini JSP) yang dituju. Untuk itu buat folder bernama jsp pada WEB-INF

Selanjutnya buat class bernama HelloIndonesia.java (bosen HelloWorld terus) didalam package com.spring.example adapun kode programnya adalah seperti di bawah ini :

package com.spring.example;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/helloIndonesia")
public class HelloIndonesia {
	
	@RequestMapping(method = RequestMethod.GET)
	public String sayHelloMyCountry(Model model){
		model.addAttribute("hello", "Hello INDONESIA");
		
		return "hello_indonesia";
	}
}

Buat file JSP bernama hello_indonesia.jsp pada folder /WEB-INF/jsp/hello_indonesia.jsp yang digunakan untuk menampilkan tulisan Hello INDONESIA di web browser, adapun kode untuk file hello_indonesia.jsp adalah sebagai berikut :

<h2>I Love My Country ${hello }</h2>

sebelum anda me running, silahkan review ulang apakah sudah sama struktur file nya, simak gambar dibawah ini :


create new project 7

Jalankan Tomcat anda, jangan lupa membaca Bismillah hehehe

create new project 8

Download project lengkapnya pada link di bawah ini (include library, tinggal import project doang):
Spring Example Complete Project

Dear teman teman kalau anda merasakan manfaat dari tulisan ini, saya tidak meminta anda untuk mengirimkan sejumlah uang sebagai donasi kepada saya, karena saya bisa mencarinya sendiri. Anda cukup membacakan surat Al – Fatihah kepada saya, kedua orang tua saya, keluarga saya dan seluruh kaum Muslimin Muslimat di seluruh penjuru dunia. Saya rasa tidak ada yang sulit hanya dengan membaca Surat Al – Fatihah (bagi anda yang Muslim). Atas doanya saya mengucapkan terima kasih.

Leave a Reply