Struts 2
Struts 2 for Beginners: https://www.digitalocean.com/community/tutorials/struts-tutorial-for-beginners
Struts 2 β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠ°ΡΠ΅ΠΉΡΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Java Web Apps. ΠΠ°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° OpenSymphony WebWork Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅.
Π‘ΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ:
Interceptors β ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° Servlet Filters, ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· struts.xml: https://struts.apache.org/getting-started/introducing-interceptors
ValueStack β ΠΎΠ±Π»Π°ΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². Object-Graph Navigation Language (OGNL) β Expression Language Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π½ΠΈΠΌΠΈ Π² ValueStack.
Action β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². Struts 2 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
Π Π΅Π°Π»ΠΈΠ·ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
com.opensymphony.xwork2.Action
Π Π°ΡΡΠΈΡΡΡ ΠΊΠ»Π°ΡΡ
com.opensymphony.xwork2.ActionSupport
. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΡΡΠΎΠ³ΠΎ Action-ΠΊΠ»Π°ΡΡΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡΠ§Π΅ΡΠ΅Π· Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ
@Action
ΠΈΠ»ΠΈ@Actions
.ΠΠ»Π°ΡΡ, ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅Π΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ β Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π½Π°
Action
ΠΈ Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄execute()
.
Result β ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ JSP ΠΈΠ»ΠΈ HTML ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΡΡ Π΄Π»Ρ ΠΎΡΠ²Π΅ΡΠ°. Struts 2 Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΈ ΡΠ΅Π³ΠΈ.
Declarative Architecture and Wiring β Struts 2 Π΄Π°Π΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ²ΡΠ·Π°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ Action ΠΈ Result:
Struts XML File β
struts.xml
Π²WEB-INF/classes
Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π³Π΄Π΅ ΠΌΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ Actions ΠΈ Results.Annotation β ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Java Annotations Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ Π² ΠΊΠ»Π°ΡΡΠ°Ρ . ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
@Action
ΠΈ@Result
Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Action ΠΈ Result ΡΡΡΠ°Π½ΠΈΡ.
Last updated