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