Spring MVC Framework คือ Framework ในการสร้างเว็บ ที่รองรับแนวคิดแบบ MVC (Model , View ,Controller) โดยหลักการทำงานของตัว Spring MVC Framework จะออกแบบให้การทำงานทุกอย่างขึ้นอยู่กับ Servlet ที่ชื่อว่า DispatcherServlet
Spring MVC Framework มีไว้เพื่อออกแบบโครงสร้างการเก็บชิ้นส่วนของเว็บ เช่น พวก หน้าเว็บ (ไฟล์ html, ไฟล์ jsp ) ไฟล์ CSS หรือ ไฟล์ Script ต่างๆ ไว้อย่างชัดเจน เช่น หน้า ส่วน Controller ต้องอยู่ภายใน โฟเดอร์ src เท่านั้น ซึ่งทำให้สะดวกต่อการค้นหา แก้ไข เพิ่มเติม หรือ ลบทิ้ง
Spring MVC Framework มีการกำหนด Form การเขียนเว็บในแต่ละส่วน ไม่ว่าจะเป็นส่วน Request , Respond หรือ Controller ต่างๆ ทำให้ไม่ว่าจะเป็น Developer คนไหนที่เข้ามาแก้ไขไฟล์ก็สามารถเข้าใจ Code ที่เขียนไว้ได้ง่ายๆ และยังมีตัว Library ที่ไว้ช่วยในการเขียน เพื่อให้ง่ายต่อการทำงานของ Developer อีกด้วย
Spring Framework Architecture
จากรูป Spring Framework จะพบว่า Spring MVC (ซึ่งเป็นที่นิยมใช้ในการพัฒนา web application) เป็นเพียงหนึ่งในหลายๆ Module ของ Spring Framework
1.JDK 1.5 ขึ้นไป หลังๆมาใช้ 1.8 ขึ้นไป
2.Web Server ยกตัวอย่างเช่น Apache Tomcat , Glassfish, JBoss, Websphere, Weblogic
3.Eclipse IDE for Enterprise Java Developers
4.Spring 3.0 MVC JAR
หลักการทำงาน
1.Client ส่ง Request ไปยัง Web Container ในรูปแบบของ HTTP Request
2."Front Controller" (DispatcherServlet) รับ request ที่เข้ามา และค้นหา Controller ดูจาก Handler Mappings
3. DispatcherServlet ส่ง request ให้ Controller ตัวอื่นทำงานต่อ โดยดูจาก ค่าที่ Handler Mappingsไว้
4.Controller จะทำงานตาม request ที่ส่งเข้ามา และส่งผลลัพธ์ออกมาเป็น Model และส่งค่า Model นี่ไปยัง หน้า View ด้วย ModelAndView instance โดยผ่านตัว Front Controller
5.Front Controller จะทำหน้าที่จัดการ ปัญหาที่อาจเกิดขึ้นในการแสดงผล หน้าView โดยอาศัยตัว View Resolver
6.ทำการเลือก view ที่จะส่งกลับไปยัง client