Struts Framework – Struts execution flow

หลังจากเขียนโปรแกรมตัวอย่างด้วย Struts แล้ว
จะไม่อธิบายขั้นการทำงานว่ามันเป็น MVC (Model-View-Controller) อย่างไร ก็ไม่ได้ซิ
เพื่อให้เห็นภาพว่า โปรแกรมเราเป็น MVC
จะขอบรรยายการทำงานของโปรแกรม Mini Book Store ทีละขั้นตอนดังนี้
(ถ้าบรรยายใน entry ก่อนหน้านั้น กลัวไม่อ่านกัน เพราะมันก่อนมันยาว ^^)

1. เมื่อ Browser ทำการ request มายังหน้า search.jsp ของเรา
แล้วทำการค้นหาหนังสือ ตัว ActionServlet (Controller) จะเป็นคนประมวลผล request นี้

2. ActionServlet จะทำการดึงค่าเงื่อนไขการค้นหาออกมาจาก request
แล้วทำการกำหนดค่า (Populates) ให้กับ Object ของ SearchForm (View)
(ถ้ายังจำได้จากบทความก่อน Object ของ SearchForm จะถูกสร้างไว้เมื่อมีการ Request
และจะ reuse ใช้งาน Object นี้)

3. ActionServlet ก็จะส่งต่อการทำงาน (Delegates) ให้กับ SearchAction (Controller)

4. SearchAction (Controller) ก็จะประสานงาน (Interface) กับ Object ของ BookSearchService (Model)
เพื่อทำการค้นหาหนังสือ แล้วทำการส่งผลลัพธ์เป็น ArrayList ที่เป็น Object ของ Book (Model)

5. SearchAction (Controller) ก็จะส่งต่อไปยัง search.jsp (View)

6. search.jsp (View) ก็จะนำ ArrayList ของ Book ไปทำการสร้าง response ให้กับ Browser

Flow การทำงานก็เป็นดังรูปนี้

struts_flow

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