1. กระบวนการดำเนินการ Servlet
ไคลเอนต์ออกคำขอ HTTP และเว็บเซิร์ฟเวอร์ส่งต่อคำขอไปยังคอนเทนเนอร์ Servlet Servlet คอนเทนเนอร์จะวิเคราะห์ URL และค้นหา servlet ที่เกี่ยวข้องตาม web.xml และผ่านวัตถุคำขอและการตอบกลับไปยัง servlet ที่พบ servlet สามารถรู้ว่าใครที่ออกคำขอขอข้อมูลและข้อมูลอื่น ๆ ตามคำขอ หลังจาก Servlet ได้ประมวลผลตรรกะทางธุรกิจแล้วมันจะนำข้อมูลลงในการตอบกลับและตอบสนองต่อลูกค้า
2. กระบวนการดำเนินการของ SpringMVC
SpringMVC เป็นกรอบการควบคุมแบบลำดับชั้นที่มี DispatchServlet เป็นแกนกลาง ก่อนอื่นไคลเอนต์จะออกคำขอไปยังเว็บเซิร์ฟเวอร์เพื่อแยกวิเคราะห์ URL คำขอและจับคู่ URL การแมปของ DispatchServlet หากตรงกับให้ใส่คำขอนี้ลงใน DispatchServlet DispatchServlet ค้นหาด้ามจับที่เกี่ยวข้องตามการกำหนดค่าการแมปการแมปจากนั้นส่งมอบสิทธิ์ในการประมวลผลไปยังที่จับที่พบ มือจับสรุปรหัสสำหรับการประมวลผลตรรกะทางธุรกิจ หลังจากประมวลผลที่จับแล้วมันจะส่งคืนมุมมองแบบลอจิคัล ModelView ไปยัง DispatchServlet ในเวลานี้ ModelView เป็นมุมมองเชิงตรรกะไม่ใช่มุมมองที่เป็นทางการดังนั้น DispatchServlet จะแยกวิเคราะห์ ModelView ผ่านทรัพยากร ViewResource View จากนั้นใส่พารามิเตอร์ที่แยกวิเคราะห์ลงในมุมมองและกลับไปที่ไคลเอนต์และแสดง
3. ให้ไฟล์ txt วิธีรับจำนวนครั้งที่สตริงที่แน่นอนจะปรากฏขึ้น
ไฟล์ไฟล์ = ไฟล์ใหม่ ("e: //test.txt"); inputstream คือ = new fileInputStream (ไฟล์); byte b [] = byte ใหม่ [1024]; int a = is.read (b); str str [] = สตริงใหม่ (b, 0, a). split (""); int = 0; 0; i <str.length; i ++) {ถ้า ("a" .equals (str [i])) นับ ++;} system.out.println (นับ); 4. แนวคิดโมเดลการออกแบบ Java (โหมดคอลัมน์เดียวโหมดโรงงานโหมดกลยุทธ์ทั้งหมด 23 โหมดการออกแบบ)
A) โหมด Singleton: แกนหลักของโหมด Singleton เพียงต้องการโหมดวัตถุอินสแตนซ์หนึ่งเดียวเช่นการเชื่อมต่อฐานข้อมูลจำนวนคนออนไลน์ ฯลฯ สถิติหมายเลขออนไลน์ที่เห็นในบางเว็บไซต์จะถูกนำไปใช้ผ่านโหมด Singleton ซึ่งเก็บตัวจับเวลาในฐานข้อมูลหรือหน่วยความจำ เมื่อมีคนเข้าสู่ระบบเพิ่มและนำกลับมาอีกครั้งและอีกครั้ง เมื่อมีคนออกจากระบบให้นำมันออกมาและลบมันและนำกลับมาอีกครั้งและอีกครั้ง อย่างไรก็ตามเมื่อคนสองคนเข้าสู่ระบบในเวลาเดียวกันพวกเขาจะนำเคาน์เตอร์ออกไปในเวลาเดียวกันเพิ่มหนึ่งในเวลาเดียวกันและนำกลับมาในเวลาเดียวกัน ด้วยวิธีนี้ข้อมูลจะผิด ดังนั้นจึงจำเป็นต้องใช้วัตถุของตัวแปรทั่วโลกเพื่อให้ทุกคนใช้และจำเป็นต้องใช้วัตถุอินสแตนซ์เพียงชิ้นเดียว นี่คือแอปพลิเคชันของโหมด Singleton และโหมด Singleton บันทึกทรัพยากรเนื่องจากควบคุมจำนวนวัตถุอินสแตนซ์และเอื้อต่อการรีไซเคิล GC
b) รูปแบบนโยบาย: มันคือการแยกวิธีการทั่วไปในหลายคลาสลงในคลาสใหม่เพื่อให้สามารถขยายได้ง่ายขึ้นตรวจสอบให้แน่ใจว่าพกพาของรหัสและการบำรุงรักษา ตัวอย่างเช่นมีข้อกำหนดในการเขียนวัตถุเป็ดซึ่งเรียกว่าบินและรูปลักษณ์ หากแต่ละชั้นเป็ดเขียนทั้งสามวิธีนี้รหัสจะซ้ำซ้อน ในเวลานี้เราสามารถแยกสามวิธีที่เรียกว่าบินและลักษณะที่ปรากฏในคลาสเป็ดและนำไปใส่ในชั้นเรียนแม่เป็ดเพื่อให้เป็ดแต่ละตัวสืบทอดคลาสแม่เป็ดและเขียนอีกสามวิธีนี้ ด้วยวิธีนี้รหัสที่ห่อหุ้มสามารถพกพาได้สูง เมื่อผู้ใช้เสนอข้อกำหนดใหม่เช่นเป็ดสามารถว่ายน้ำได้ง่ายมากสำหรับโปรแกรมเมอร์ OO ของเรา เราเพียงแค่ต้องเพิ่มวิธีการว่ายน้ำในชั้นเรียนพ่อแม่เป็ดและปล่อยให้เป็ดว่ายน้ำเขียนวิธีการว่ายน้ำ
C) โหมดโรงงาน: โหมดโรงงานอย่างง่ายส่วนใหญ่ให้การอ้างอิงถึงวัตถุอินสแตนซ์ในลักษณะที่เป็นเอกภาพและได้รับการอ้างอิงไปยังวัตถุอินสแตนซ์ผ่านอินเตอร์เฟสโหมดโรงงาน ตัวอย่างเช่นสำหรับฟังก์ชั่นการเข้าสู่ระบบแบ็กเอนด์มีสามคลาสคลาสคอนโทรลเลอร์คลาสอินเตอร์เฟสและคลาสการใช้งานของอินเทอร์เฟซการใช้งาน เมื่อไคลเอนต์ออกคำขอเมื่อคำขอถูกส่งไปยังคลาสคอนโทรลเลอร์คอนโทรลเลอร์จะได้รับวัตถุอ้างอิงของอินเทอร์เฟซและคลาสการใช้งานจะใช้อินเทอร์เฟซห่อหุ้มรหัสลอจิกทางธุรกิจเข้าสู่ระบบ เมื่อคุณต้องการเพิ่มข้อกำหนดการลงทะเบียนคุณจะต้องเพิ่มวิธีการลงทะเบียนในคลาสอินเตอร์เฟสใช้วิธีการในคลาสการใช้งานและคอนโทรลเลอร์สามารถรับวัตถุอ้างอิงของอินเทอร์เฟซโดยไม่ต้องเปลี่ยนรหัสดั้งเดิม วิธีการนี้สามารถปรับขนาดได้สูง
5. การเรียงลำดับฟองค้นหาไบนารี
a) ฟองสบู่
โมฆะคงที่สาธารณะ MP (int a []) {int swap = 0; สำหรับ (int i = 0; i <a.length; i ++) {สำหรับ (int j = i; j <a.length; j ++) {ถ้า (a [j]> a [i]) {swap = a [i]; a [i] = a [j]; swap;}}} system.out.println (array.toString (a));}b) การค้นหาแบบไบนารี
public static int ef (int a [], int tag) {int first = 0; int end = A.Length; สำหรับ (int i = 0; i <a.length; i ++) {int กลาง = (first + end) / 2; ถ้า (tag == a [กลาง]) {return middle; 0;} 6-8. ความเข้าใจเกี่ยวกับ AJAX
A) AJAX เป็นคำขอแบบอะซิงโครนัสนั่นคือเทคโนโลยีการรีเฟรชในท้องถิ่น ในหน้าดั้งเดิมผู้ใช้ต้องคลิกที่ปุ่มหรือเหตุการณ์เพื่อทริกเกอร์คำขอรีเฟรชหน้า เทคโนโลยีแบบอะซิงโครนัสทำให้เกิดเหตุการณ์โดยไม่ต้องคลิกซึ่งช่วยเพิ่มประสบการณ์ผู้ใช้เช่นการโหลดแบบอะซิงโครนัสของตะกร้าสินค้าในห้างเมื่อคุณคลิกที่ผลิตภัณฑ์คุณไม่จำเป็นต้องขอพื้นหลังและปรับเปลี่ยนพารามิเตอร์โดยตรง
9. ลำดับการโทรระหว่างคลาสแม่และชั้นเด็ก (ผลการพิมพ์)
a) บล็อกรหัสสถิติของคลาสแม่
b) บล็อกรหัส subclass คงที่
c) ตัวสร้างคลาสแม่
D) วิธีการก่อสร้าง subclass
e) วิธีการย่อยคลาสสิก
f) เขียนวิธีการของคลาสแม่และพิมพ์วิธีการเขียนใหม่
10. การโทรของชั้นเรียนภายในและชั้นนอก
A) คลาสภายในสามารถเรียกตัวแปรสมาชิกโดยตรงของคลาสภายนอกรวมถึงส่วนตัวและใช้สิ่งนี้ คำหลักที่อ้างอิงโดยคลาสภายนอกเพื่อเรียกมัน
b) เมื่อคลาสภายนอกเรียกคลาสภายในจะต้องสร้างวัตถุคลาสภายใน
11. มัลติเธรด
A) กระบวนการเป็นสภาพแวดล้อมการทำงานอิสระซึ่งถือได้ว่าเป็นโปรแกรมในขณะที่เธรดสามารถถือได้ว่าเป็นงานของกระบวนการ ตัวอย่างเช่น QQ เป็นกระบวนการและหน้าต่าง QQ เป็นเธรด
b) ในโปรแกรมมัลติเธรดการพร้อมกันหลายเธรดสามารถปรับปรุงประสิทธิภาพของโปรแกรมได้ CPU จะไม่เข้าสู่สถานะว่างเนื่องจากเธรดบางอย่างกำลังรอทรัพยากร มันจะให้ทรัพยากรกับหัวข้ออื่น ๆ
c) เธรดผู้ใช้เป็นเธรดที่เราพัฒนาโปรแกรมและเธรด daemon เป็นเธรดระบบเช่น GC ใน JVM เสมือน
D) ลำดับความสำคัญของเธรด: แต่ละเธรดมีระดับลำดับความสำคัญ ผู้ที่มีระดับ จำกัด สูงสามารถได้รับทรัพยากร CPU เพื่อเปลี่ยนเธรดจากสถานะพร้อมเป็นสถานะ นอกจากนี้คุณยังสามารถปรับแต่งเธรดระดับ จำกัด
e) การหยุดชะงัก: อย่างน้อยสองเธรดขึ้นไปพยายามหาทรัพยากร CPU มากกว่าสองทรัพยากรหลีกเลี่ยงการใช้ล็อคซ้อนกันหากพวกเขาหลีกเลี่ยงการหยุดชะงัก คุณจะต้องเพิ่มล็อคที่พวกเขาต้องการซิงโครไนซ์และหลีกเลี่ยงการรอที่ไม่มีที่สิ้นสุด
12. แนวคิดของ AOP และ IOC (เช่นแกนกลางของฤดูใบไม้ผลิ)
A) IOC: สปริงเป็นเฟรมเวิร์กโอเพ่นซอร์ส การใช้เฟรมเวิร์กสามารถลดภาระงานของเราและปรับปรุงประสิทธิภาพการทำงานของเรา มันเป็นโครงสร้างแบบลำดับชั้นนั่นคือเลเยอร์ที่สอดคล้องกันประมวลผลตรรกะทางธุรกิจที่สอดคล้องกันและลดระดับการมีเพศสัมพันธ์ของรหัส แกนกลางของฤดูใบไม้ผลิคือการผกผันของ IOC ควบคุมและการเขียนโปรแกรมแทนเจนต์ที่เน้น AOP การผกผันการควบคุม IOC ส่วนใหญ่เน้นว่าความสัมพันธ์ระหว่างโปรแกรมถูกควบคุมโดยคอนเทนเนอร์ซึ่งควบคุมวัตถุและควบคุมการได้มาของทรัพยากรภายนอก การผกผันหมายความว่าในการเขียนโปรแกรมแบบดั้งเดิมเราสร้างวัตถุเพื่อให้ได้การพึ่งพาในขณะที่อยู่ใน IOC คอนเทนเนอร์ช่วยให้เราสร้างวัตถุและการฉีดวัตถุขึ้นอยู่กับ มันเป็นคอนเทนเนอร์ช่วยให้เราค้นหาและฉีดวัตถุ ได้รับวัตถุดังนั้นจึงเรียกว่าการผกผัน
B) AOP: การเขียนโปรแกรมเชิงเส้นส่วนใหญ่จัดการธุรกิจในระดับระบบเช่นบันทึกการอนุญาตสิ่งต่าง ๆ ฯลฯ AOP คือการตัดเปิดวัตถุที่ห่อหุ้มค้นหาพฤติกรรมทั่วไปที่ส่งผลกระทบต่อวัตถุหลายชิ้น โมดูลนี้มีชื่อว่า ส่วนที่แยกและห่อหุ้มตรรกะที่ไม่เกี่ยวข้องกับตรรกะทางธุรกิจ แต่เรียกว่าร่วมกันโดยโมดูลธุรกิจลดรหัสที่ซ้ำกันในระบบลดการมีเพศสัมพันธ์ระหว่างโมดูลและปรับปรุงการบำรุงรักษาของระบบ
13. แนวคิดหลักของการจำศีล
A) แนวคิดหลักของไฮเบอร์เนตคือกลไกการทำแผนที่ความสัมพันธ์กับวัตถุ ROM มันเป็นการแมประหว่างตารางในการดำเนินการระหว่างวัตถุ นั่นคือข้อมูลที่สกัดจากฐานข้อมูลจะถูกห่อหุ้มโดยอัตโนมัติลงในวัตถุเฉพาะตามข้อกำหนดการแมปที่คุณตั้งไว้ ดังนั้นไฮเบอร์เนตคือการปรับเปลี่ยนวัตถุที่สอดคล้องกับแถวข้อมูลโดยการแมปคลาสเอนทิตีตารางข้อมูล
14. ความแตกต่างระหว่าง struts1 และ struts2
15. การลบอักขระที่ดีที่สุดในสตริง
16-17. ความแตกต่างระหว่าง ArrayList และ LinkedList
a) เป็นรายการทั้งหมดที่ใช้อินเตอร์เฟสรายการ ArrayList เป็นโครงสร้างข้อมูลที่อาร์เรย์และ LinkedList เป็นโครงสร้างข้อมูลรายการที่เชื่อมโยง เมื่อได้รับองค์ประกอบเฉพาะ ArrayList ค่อนข้างเร็ว สามารถรับได้ผ่านตัวห้อยอาร์เรย์ในขณะที่ LinkedList ต้องการการย้ายตัวชี้ เมื่อจัดเก็บองค์ประกอบและองค์ประกอบการลบ LinkedList จะมีประสิทธิภาพมากขึ้น คุณจะต้องย้ายตัวชี้ไปยังตำแหน่งที่ระบุเพื่อเพิ่มหรือลบออกในขณะที่ ArrayList ต้องการข้อมูลที่เคลื่อนย้าย
18. การเพิ่มประสิทธิภาพฐานข้อมูล
a) เลือกฟิลด์ที่เหมาะสมเช่นฟิลด์กล่องจดหมายคุณสามารถตั้งค่าเป็นถ่าน (6) และพยายามตั้งค่าฟิลด์เป็น NOTNULL เพื่อให้ฐานข้อมูลไม่จำเป็นต้องเปรียบเทียบค่า NULL เมื่อสอบถาม
b) ใช้การเข้าร่วมด้านซ้ายในแบบสอบถามแทนการประชุมย่อย
c) ใช้การสืบค้นข้อต่อยูเนี่ยนเพื่อสร้างตารางชั่วคราวด้วยตนเอง
d) เปิดสิ่งต่างๆ เมื่อมีการดำเนินการหลายคำสั่งในฐานข้อมูลสิ่งต่าง ๆ จะย้อนกลับซึ่งสามารถรักษาความสมบูรณ์ของฐานข้อมูล
e) การใช้คีย์ต่างประเทศสิ่งต่าง ๆ สามารถรักษาความสมบูรณ์ของข้อมูลได้ แต่ไม่สามารถรับประกันความสัมพันธ์ของข้อมูลได้ การใช้ปุ่มต่างประเทศสามารถมั่นใจได้ว่ามีความสัมพันธ์ของข้อมูล
f) การใช้ดัชนีการจัดทำดัชนีเป็นวิธีการทั่วไปในการปรับปรุงประสิทธิภาพของฐานข้อมูล ช่วยให้เซิร์ฟเวอร์ฐานข้อมูลสามารถดึงแถวที่เฉพาะเจาะจงได้เร็วกว่าไม่มีดัชนีโดยเฉพาะอย่างยิ่งสำหรับสูงสุด, นาที, สั่งซื้อโดยการสืบค้นเอฟเฟกต์จะชัดเจนยิ่งขึ้น
g) คำสั่งค้นหาที่ดีที่สุด ในกรณีส่วนใหญ่การใช้ดัชนีสามารถปรับปรุงความเร็วของการสืบค้นได้ แต่หากใช้คำสั่ง SQL อย่างไม่เหมาะสมดัชนีจะไม่สามารถเล่นได้
19. การเพิ่มประสิทธิภาพเซิร์ฟเวอร์ Tomcat (หน่วยความจำ, จำนวนการเชื่อมต่อพร้อมกัน, แคช)
a) การเพิ่มประสิทธิภาพหน่วยความจำ: ส่วนใหญ่จะปรับพารามิเตอร์การเริ่มต้น Tomcat ให้เหมาะสม เราสามารถแก้ไขหน่วยความจำสูงสุดในสคริปต์เริ่มต้น Tomcat ฯลฯ
B) การเพิ่มประสิทธิภาพการนับเธรด: พารามิเตอร์การเชื่อมต่อที่เกิดขึ้นพร้อมกันของ Tomcat ส่วนใหญ่จะกำหนดค่าใน Server.xml ในไฟล์การกำหนดค่า Tomcat เช่นการปรับเปลี่ยนจำนวนขั้นต่ำของเธรดการเชื่อมต่อที่ไม่ได้ใช้งานซึ่งใช้เพื่อปรับปรุงประสิทธิภาพการประมวลผลของระบบ ฯลฯ
C) เพิ่มประสิทธิภาพแคช: เปิดฟังก์ชั่นการบีบอัดและแก้ไขพารามิเตอร์ ตัวอย่างเช่นขนาดของเนื้อหาเอาต์พุตที่ถูกบีบอัดคือ 2KB โดยค่าเริ่มต้นและสามารถแก้ไขได้อย่างเหมาะสม
20. โปรโตคอล HTTP
A) วิธีการร้องขอที่ใช้กันทั่วไปรวมถึง GET และ POST
b) ความแตกต่างระหว่าง Get และ Post: การถ่ายโอนข้อมูลรับพารามิเตอร์และที่อยู่การเข้าถึงและผู้ใช้สามารถดูได้ สิ่งนี้จะไม่ปลอดภัยและนำไปสู่การรั่วไหลของข้อมูล โพสต์ห่อหุ้มฟิลด์และค่าที่สอดคล้องกันในเอนทิตีเพื่อส่งซึ่งผู้ใช้มองไม่เห็น มีข้อ จำกัด เกี่ยวกับพารามิเตอร์ที่ผ่านการรับในขณะที่ไม่มีข้อ จำกัด ในโพสต์
21. โปรโตคอล TCP/UDP
22. อินเทอร์เฟซพื้นฐานของกรอบคลาส Java Collection คืออะไร
A) อินเทอร์เฟซการรวบรวมรายการและตั้งค่าใช้งานอินเทอร์เฟซคอลเลกชัน, ArrayList และ LinkedList, Vector ใช้งานอินเตอร์เฟสรายการ, เวกเตอร์มรดกสแต็ก, อินเทอร์เฟซแผนที่, Hashtable และ HashMap ใช้งานอินเตอร์เฟส MAP
23. กระบวนการโหลดคลาส
a) เมื่อพบคลาสใหม่คุณจะไปที่พื้นที่วิธีการเพื่อค้นหาไฟล์คลาส หากไม่พบคุณจะไปที่ฮาร์ดดิสก์เพื่อค้นหาไฟล์คลาส หลังจากค้นหาแล้วคุณจะส่งคืนและโหลดไฟล์คลาสลงในพื้นที่เมธอด เมื่อคลาสถูกโหลดตัวแปรสมาชิกคงที่จะถูกกำหนดให้กับพื้นที่คงที่ของพื้นที่วิธีการ ตัวแปรสมาชิกที่ไม่คงที่จะถูกกำหนดให้กับพื้นที่ที่ไม่คงที่ จากนั้นคุณจะเริ่มต้นการเริ่มต้นตัวแปรสมาชิกคงที่และกำหนดค่าเริ่มต้น หลังจากกำหนดค่าเริ่มต้นค่าการแสดงผลจะถูกกำหนดตามตำแหน่งที่เขียนโดยตัวแปรสมาชิกคงที่และจากนั้นรหัสคงที่จะถูกเรียกใช้งาน การโหลดคลาสจะเสร็จสมบูรณ์เฉพาะเมื่อมีการดำเนินการรหัสสแตติกทั้งหมด
24. การสร้างวัตถุ
a) เมื่อพบคลาสใหม่คลาสจะโหลดและไฟล์คลาสจะอยู่
b) เริ่มต้นตัวแปรสมาชิกคงที่ทั้งหมดบล็อกรหัสคงที่จะถูกเรียกใช้งานและพวกเขาจะถูกเรียกใช้งานเพียงครั้งเดียวเมื่อโหลดคลาส
c) เมื่อวัตถุใหม่ JVM จะจัดสรรพื้นที่เก็บข้อมูลขนาดใหญ่พอในกอง
d) ล้างพื้นที่เก็บข้อมูลกำหนดค่าเริ่มต้นให้กับตัวแปรทั้งหมดและกำหนดการอ้างอิงวัตถุทั้งหมดให้เป็น null
e) ให้การดำเนินการเริ่มต้นบางอย่างตามตำแหน่งการเขียน
f) การเรียกวิธีการสร้าง (ไม่มีการสืบทอด)
25. การเพิ่มประสิทธิภาพ JVM
a) ตั้งค่าพารามิเตอร์และตั้งค่าจำนวนหน่วยความจำสูงสุดของ JVM
b) การเลือกนักสะสมขยะ
26. การประมวลผลพร้อมกันสูง
A) เข้าใจปัญหาที่เกิดขึ้นพร้อมกันสูงเช่นวิธีการให้แน่ใจว่าทุกคนสามารถมองเห็นตั๋วได้โดยไม่ต้องซื้อ เห็นได้ชัดว่ากลไกการซิงโครไนซ์ไม่สามารถใช้ได้เนื่องจากการซิงโครไนซ์ถูกล็อคและการซิงโครไนซ์สามารถทำได้โดยคน ๆ หนึ่งครั้งเท่านั้น ในเวลานี้กลไกการล็อคสามารถใช้และการใช้การล็อคในแง่ดีสามารถแก้ปัญหานี้ได้ ความหมายง่าย ๆ ของการล็อคในแง่ดีคือการใช้การควบคุมธุรกิจเพื่อแก้ปัญหาพร้อมกันโดยไม่ต้องล็อคตารางซึ่งทำให้มั่นใจได้ว่าการอ่านข้อมูลและความพิเศษของข้อมูลที่บันทึกไว้ช่วยให้มั่นใจถึงประสิทธิภาพในขณะที่แก้ปัญหาข้อมูลการอ่านสกปรกที่เกิดจากการเกิดขึ้นพร้อมกัน
27. ความเข้าใจในสิ่งต่างๆ
a) สิ่งต่าง ๆ เป็นอะตอมสอดคล้องกันถาวรและโดดเดี่ยว
B) Atomicity: หมายถึงการย้อนกลับในสิ่งที่การดำเนินการทั้งหมดนั้นสำเร็จหรือล้มเหลวทั้งหมด
c) ความสอดคล้อง: สิ่งต่าง ๆ อยู่ในความสม่ำเสมอก่อนและหลังการดำเนินการ
d) การคงอยู่: การทำงานของข้อมูลหลายอย่างในสิ่งต่าง ๆ เป็นแบบถาวร
e) การแยก: เมื่อสิ่งหนึ่งที่ทำงานกับข้อมูลสิ่งอื่นไม่สามารถทำงานกับข้อมูลได้นั่นคือสิ่งที่เกิดขึ้นพร้อมกันหลายอย่างจะถูกแยกออกจากกัน
28. Struts Workflow
a) ลูกค้าออกคำขอไปยังคอนเทนเนอร์ servlet
b) คำขอถูกเรียกโดย FilterDispatcher หลังจากการกรองคอลัมน์บางอย่างและ FilterDispatch จะค้นหาการกระทำที่เกี่ยวข้องผ่าน ActionMapper
c) ActionMapper ค้นหาการกระทำที่สอดคล้อง
d) ActionProxy ค้นหาคลาสการกระทำที่สอดคล้องกันผ่านไฟล์การกำหนดค่า
e) ActionProxy สร้างอินสแตนซ์ของ ActioniInvocation เพื่อจัดการตรรกะทางธุรกิจ
f) เมื่อการดำเนินการดำเนินการแล้ว ActionInvocation จะรับผิดชอบในการค้นหาผลการส่งคืนที่สอดคล้องกันตามการกำหนดค่าของ stuts.xml ผลลัพธ์มักจะเป็นหน้า JSP