Spring Framework MVC application step-by-step part1

เอามาแปลใส่บล๊อกตัวเองหน่อย ช่วงนี้กะลังนั่งศึกษา Spring MVC แบบเร่งด่วนเพื่อทำ Topic เลยเอา Tutorial ที่อ่านมาแปลเป็นไทยขึ้นบล๊อกด้วยดีกว่า สำหรับบทสอนที่เอามาขึ้นก็เอามาจาก http://www.springframework.org/docs/MVC-step-by-step/Spring-MVC-step-by-step.html ใครสนใจต้นฉบับก็ไปดูได้จากที่นั่นเลย เพราะที่จะเอามาพิมพ์ลงที่นี่อาจมีดัดแปลงนิดหน่อย อย่างแรกเลยสิ่งที่ต้องเตรียม

  1. Java SDK (มันแน่อยู่แล้ว)
  2. Eclipse 3.2 (ถ้าในเว็บจะเป็น ant อะ คือเค้า compile ผ่าน shell สดๆ แต่ผมไม่ดีกว่า ><” ไม่เชี่ยวพอ)
  3. WTP Plugin ของ Eclipse
  4. Apache Tomcat 5.5 (ไว้รันอ่ะ)

Step1 สร้าง Project ใหม่ใน Eclipse

  • เลือก File -> New -> Project…
  • ไปที่ Web แล้วเลือก Dynamic Web Project กด Next แล้วใส่ชื่อ Project ไปตามเว็บที่ให้ไว้ด้านบนเค้าตั้งชื่อ project ว่า Springapp ก็ใส่ Springapp ไปละกัน
  • ตรง Target Runtime เลือก New… แล้วเลือก Server ตามที่ติดตั้งไว้ในเครื่องหรือถ้าลงตามที่บอกให้เตรียมไว้ด้านบนก็ Apache Tomcat v.5.5 กด Next
  • ช่อง JRE เลือก Installed JREs เพื่อเปลี่ยนจาก JRE เป็น JDK จะได้ไม่มีปัญหาตอนรัน
  • เลือก Add ช่อง JRE Home Directory ก็กด Browse แล้วเลือกไปที่ JDK
  • กด OK, OK, Finish ก็จะได้ Project มาอันนึง

Step2 ไฟล์ index.jsp

  • คลิกขวาที่ Directory WebContent ใน Project ที่เราสร้างใหม่อ่ะนะ (อาจเป็นชื่ออื่นแล้วแต่เราสร้างตอนสร้าง Project) เลือก New -> JSP
  • ใส่ชื่อไฟล์ว่า index.jsp
  • พิมพ์ไปในไฟล์ตามโค้ดด้านล่าง
    
    <html>
    <head>
    <title>Example :: Spring Application</title>
    </head>
    <body>
    <h1>Example - Spring Application</h1>
    <p>This is my test.</p>
    </body>
    </html>
    
    
  • เซฟไฟล์

Step3 ทดสอบ

  • คลิกขวาที่ไฟล์ index.jsp แล้วเลือก Run As -> Run on Server
  • Server runtime เลือกเป็น Apache Tomcat v5.5 กด Set server as project default
  • เลือก Finish
  • รอมันรันแล้วก็ดูผลลัพธ์ได้เลย

Step4 ดาวโหลด Spring ดาวโหลด Spring package มาซะจากเว็บ http://sourceforge.net/project/showfiles.php?group_id=73357&package_id=173644&release_id=452461

Step5 จะใช้ 1.2 หรือ 2.0 ก็ได้อ่ะ แต่ผมใช้ 2.0 นะ ^ ^
Step5 แก้ไขไฟล์ web.xml ให้รู้จัก Spring ซะ

  • ไปที่ไฟล์ web.xml ใน Directory WEB-INF เปิดออกมาแล้วเพิ่มโค้ดสีแดงตามด้านล่างลงไป
    
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" 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">
    <servlet>
    <servlet-name>springapp</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>springapp</servlet-name>
    <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    <display-name>springapp</display-name>
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file&gtl
    </welcome-file-list>
    </web-app>
    
    
  • สร้างไฟล์ springapp-servlet.xml (มันคือ spring context สำหรับ web app นั่นเอง) แล้วใส่โค้ดตามด้านล่างลงไป
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <!--- Application context definition for "springapp" DispatcherServlet-->
    <beans>
    <bean id="springappController" class="SpringappController" />
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
    <props>
    <prop key="/hello.htm">springappController</prop>
    </props>
    </property>
    </bean>
    </beans>
    
    

Step6 Copy spring library ไปที่ lib ของ web app Copy ไฟล์ spring.jar จาก spring-framework-2.0/dist/spring.jar ไปที่ Workspaces/springapp/WebContent/WEB-INF/lib/ จากนั้นเข้ามาใน eclipse แล้วกด F5 refresh ให้ library มันโชว์ขึ้นมาหน่อย
Step7 สร้าง Controller

  • คลิกขวาที่ Java Resources : Src เลือก New -> Class
  • ช่อง Name ใส่ SpringappController
  • ที่ช่อง Interface เลือก Add จากนั้นพิมพ์ Controller แล้วกด OK
  • จากนั้นกด Finish แล้วเขียนโค้ดเพิ่มตามด้านล่างลงไป จากนั้นเซฟไฟล์
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    public class SpringappController implements Controller {
    	public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
    	// TODO Auto-generated method stub return new ModelAndView("");
    	}
    }
    
    

Step8 สร้าง View และแก้ไข Controller อีกนิดหน่อย

  • คลิกขวาที่ WebContent แล้วเลือก New -> JSP ใส่ชื่อไฟล์เป็น hello.jsp แล้วใส่ code ด้านล่างลงไป
    
    <html>
    <head>
    <title>Example :: Spring Application</title>
    </head>
    <body>
    <h1>Hello - Spring Application
    </h1>
    <p>Greetings.</p>
    </body>
    </html>
    
    
  • แก้ไข SpringappController ตามโค้ดด้านล่าง แล้วเซฟ
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    public class SpringappController implements Controller {
    	public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
    	// TODO Auto-generated method stub
    		return new ModelAndView("hello.jsp");
    	}
    }
    
    
  • ไปที่ tab server ด้านล่างลบออก ส่วนด้านขวาก็ลบ project Servers ออก
  • คลิกขวาที่ springapp project เลือก Run As -> Run on Server
  • จากนั้นเปิดเว็บบราวเซอร์ แล้วลองเข้าเว็บ http://localhost:8080/hello.htm ถ้าเข้าได้ก็ผ่านแล้ว

About llun

Just a programmer

,

  • เอกพล

    ขอ บคุ นครั บสำหรั บข้อมู ลดี ๆ