Spring Framework 2.5 Released

This post has been moved to Spring Framework 2.5 Released

Advertisements

Get next value from Oracle Sequence with Spring

This post has been moved to Get next value from Oracle Sequence with Spring

Best practice สำหรับการจัดการ Form ใน Spring Framework

สำหรับตัวอย่างง่ายๆที่ผมจะให้ดูในวันนี้ เป็นการจัดการ Form ใน Spring Framework โดย Form อันนี้มี Reguirement ดังต่อไปนี้

1. เมื่อ User เปิดหน้า Form นี้ขึ้นมาระบบจะต้อง Load ค่าจาก Database เพื่อให้ User แก้ไข (หน้าจอแก้ไขนั่นเอง)
2. Form นี้มี Dropdown โดยค่าในรายการของ Dropdown นั้น Load มาจาก Database
3. พอ User ทำการ submit จะมี Input Validation โดยหากไม่ผ่าน Validation จะต้องกลับมาหน้าเดิมและแสดงข้อมูลที่ User ใส่ไปล่าสุด พร้อมแสดง Error Message ในตำแหน่ง Field ที่ไม่ผ่าน Validation

ตัว source code ผมไม่ขออธิบาย ลอง Download ไปศึกษากันดูได้ครับ เพราะผมใส่ comment ไว้ใน source code แล้ว

โดยผมพัฒนาตัวอย่างนี้บน Eclispe 3.3.0, WTP 2.0, Spring 2.0, และ Spring IDE 2.0

หลังจาก Download แล้วต้อง rename ไฟล์เป็น .zip นะครับ และต้องเพิ่ม lib ของ Spring 2.0 เข้าไปใน /WEB-INF/lib ด้วยเพราะผมลบออกไปเนื่องด้วยขนาดที่ใหญ่เกินไป

ขอให้สนุกกับการพิฒนา J2EE Web Application ด้วย Spring Framework ครับ 😀

Spring IDE 2.0 RC2

springide_logo.png

ตอน RC1 ออกนั้น ผมติดพันกับงานที่รัดตัวจนไม่มีเวลา Download มาทดลอง
วันนี้ถือโอกาสดีโหลด RC2 มาลองซะหน่อย

Spring IDE เป็น plugin ของ Eclipse โดยหลักๆก็เพื่อช่วยในการ config Spring โดยเฉพาะคนที่เคยทำโปรเจคขนาดใหญ่คงรู้ดีว่าถ้า bean เยอะๆมันจะปวดหัวแค่ไหนเวลาไล่ config

อ่าน Feature ของ Spring IDE และส่วนที่เพิ่มเข้ามาใน 2.0 นี่ได้ที่ Spring IDE Features

SpringONE 2007

จัดมาได้สองวันแล้ว แต่ผมยอมรับตรงๆเลยว่ายังไม่ได้เข้าไปอ่านรายละเอียด ได้แค่ดู Agenda เท่านั้น

ตามไปอ่านกันได้ที่ SpringOne 2007

การแก้ไขปัญหาภาษาไทยใน Spring Framework

แยกเป็นสองส่วนนะครับคือ

1. ปัญหาการแสดงผลภาษาไทย

อันนี้ต้องแก้ปัญหาที่ไฟล์ JSP หรือ XML ด้วยการเพิ่มข้อความนี้ลงบนหัวของไฟล์ JSP หรือ XML ทุกไฟล์

example.jsp
<%@page contentType=”text/html;charset=UTF-8″%>
<%@page pageEncoding=”UTF-8″%>
<html>
<head>
<META http-equiv=”Content-Type” content=”text/html;charset=UTF-8″>

example.xml
<?xml version=”1.0″ encoding=”UTF-8″?>

2. ปัญหาการรับค่า input ภาษาไทย
เหมือนกับ Servlet หรือ Struts คือการ setCharEncoding ให้กับ HTTPServletRequest แต่ของ Srping จะมี ServletFilter มาให้เลย ทำให้เราไม่ต้องเขียนเอง โดยให้ set ค่า filter ใน web.xml ดังนี้

web.xml
<filter>
<filter-name>charsetFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>charsetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

Spring MVC step-by-step

หลายคนถามผมว่า

“อยากจะเริ่มต้นกับ Spring Framework ควรทำอย่างไร”

สำหรับตัวผมเองเริ่มต้นรู้จัก Spring Framework เพราะอ่านหนังสือของคุณ Rod Johnson ที่ชื่อ Expert One-on-One J2EE Development without EJB ซึ่งคุณ Rod ได้เห็นข้อเสียของ J2EE และสร้าง Spring Framework เพื่อแก้ไขปรับปรุงการพัฒนา Web Application ด้วย J2EE ให้ดีขึ้น (คุณ Rod จะใช้คำว่า Agile J2EE Development (คำคุ้นๆมั้ย))

ผ่านมาก็หลายปีแล้ว ปัจจุบันถ้าจะให้ผมแนะนำละก็ หากคุณไม่มีพื้นฐานทาง J2EE มากนัก แต่ต้องการใช้ Spring ละก็ผมแนะนำให้อ่าน Spring MVC step-by-step ครับ อย่าไปเริ่มแบบผมเลย อาจจะท้อจนเลิกไปเสียก่อน

บทความนี้โฟกัสไปที่ Spring MVC ซึ่งเรียกว่าเป็นจุดหลักของ Spring (บางคนอาจเถียงว่า IOC ต่างหาก เพราะบางคนใช้ Spring ทำ IOC ไม่ได้ใช้ Web Framework ก็มีนะครับ) โดยสอนการสร้าง Model/View/Controller และการสร้าง DAO เพื่อติดต่อกับ Database ผ่าน JDBC ไปที่ HSQL รวมไปถึงการสร้าง Unit Test ด้วย JUnit

บทความนี้มี 4 ตอน คือ
Part 1 – Basic Application and Environment Setup
Part 2 – Developing and Configuring the Application
Part 3 – Adding Unit Tests and a Form to the Application
Part 4 – Implementing Database Persistence

ซึ่งถ้ามีพื้นฐาน Tomcat, Java และ J2EE มาบ้างละก็ ไม่เกิน 1-2 วันก็น่าจะทำความเข้าใจใด้ และนำไปต่อยอดส่วนอื่นๆของ Spring ต่อไปครับ