Contoh menggunakan Spring 3 Web MVC

Posted: July 26, 2011 in Spring 3
Tags: , ,

Kali ini saya akan memberikan contoh bagaimana membuat aplikasi web sederhana menggunakan spring 3 MVC. Sudah pada tahu MVC kan ? MVC itu singkatannya model view controller, maksudnya aplikasi dibagi menjadi 3 struktur. Model berisi data2 yang akan ditampilkan (biasanya representasi dari table2). View berisi tampilan yang akan dilihat oleh user, di sisi view tugasnya murni hanya untuk mengatur tampilan saja, tidak ada proses atau logic business process yang dilakukan di sisi ini. Kemudian yang terakhir controller bertugas untuk melakukan business process. Segala proses2 entah itu validasi, CRUD, akan dilakukan disini.

Ok langsung saja, jalankan netbeans kalian pilih New Project -> Java Web -> Web Application. Selain itu kita memerlukan library2 berikut ini :

  • commons-logging-1.1.jar
  • jstl-1.2.jar
  • spring-asm-3.0.2.RELEASE.jar
  • spring-beans-3.0.2.RELEASE.jar
  • spring-context-3.0.2.RELEASE.jar
  • spring-core-3.0.2.RELEASE.jar
  • spring-expression-3.0.2.RELEASE.jar
  • spring-web-3.0.2.RELEASE.jar
  • spring-webmvc-3.0.2.RELEASE.jar

Masukkan semua library tersebut di dalam folder /WEB-INF/lib. Lalu jangan lupa di netbeans nya lakukan proses add JAR.

Kemudian edit file web.xml yang sudah dibuat oleh netbeans menjadi seperti ini

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/do/*</url-pattern>
</servlet-mapping>

<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

</web-app>
 

Mengerti kan cara membaca konfigurasi servlet di atas ? Kalau belum nanti saya akan buatkan tutorial JSP-Servlet juga. Tapi sekarang saya akan fokus pada konfigurasi springnya saja. Karena kita sudah mendeklarasikan contextConfigLocation dengan nilai /WEB-INF/dispatcher-servlet.xml , maka kita buat sebuah file dispatcher-servlet.xml yang terletak di dalam folder /WEB-INF.

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

<context:annotation-config/>
<context:component-scan base-package="com.maniakjava"/>

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".jsp"/>
</bean>

</beans>
 

Property prefix menunjukkan lokasi file2yang bertindak sebagai view berada.  Sehingga semua file .jsp kita letakkan di dalam /WEB-INF/views. Sekarang pada file index.jsp yang sudah dibuat secara otomatis oleh netbeans, tambahkan code berikut

 <a href="do/HelloWorld">Go to Hello World</a> 

Lalu buatlah sebuah class HomeController yang berada di package com.maniakjava.controller

package com.maniakjava.controller;

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

@Controller
public class HomeController
{
    @RequestMapping(value = "/HelloWorld", method = RequestMethod.GET)
    public void helloWorld()
    {

    }
}
 

Pada file index.jsp kita membuat suatu link yang menuju ke do/HelloWorld, maka kita harus memberi nama RequestMapping dengan /HelloWorld. Kemudian dengan memberi nama /HelloWord maka saat proses masuk ke request mapping ini maka akan diredirect ke /WEB-INF/views/HelloWorld.jsp (sesuai settingan kita di dispatcher-servlet.xml).

Maka sekarang kita perlu membuat file HelloWorld.jsp yang terletak di /WEB-INF/views. Jika sudah silahkan jalankan project kalian, simple kan.😀

Comments

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s