מבוגרים מהירים 2

1. הקדמה

Apache Struts 2 היא מסגרת מבוססת MVC לפיתוח יישומי אינטרנט Java ארגוניים. זהו שכתוב מוחלט של מסגרת Struts המקורית. יש לו יישום קוד פתוח של API ומערכת תכונות עשירה.

במדריך זה, יהיה לנו מבוא למתחילים למרכיבי ליבה שונים במסגרת Struts2. יתר על כן, אנו נראה כיצד להשתמש בהם.

2. סקירה של מסגרת Struts 2

חלק מהתכונות של Struts 2 הן:

  • פעולות מבוססות POJO (Java Old Objects ישנות)
  • תוסף תוסף עבור REST, AJAX, Hibernate, Spring וכו '
  • מוסכמה על תצורה
  • תמיכה בטכנולוגיות שכבת תצוגה שונות
  • קלות פרופיל וניקוי באגים

2.1. רכיבים שונים של תמוכות 2

Struts2 היא מסגרת מבוססת MVC ולכן שלושת המרכיבים הבאים יהיו בכל יישומי Struts2:

  1. שיעור פעולה - שהיא מחלקה של POJO (POJO פירושה שהיא אינה חלק מהיררכיה מסוג כלשהו והיא יכולה לשמש ככיתה עצמאית); אנו מיישמים את ההיגיון העסקי שלנו כאן
  2. בקר - ב Struts2, מסנני HTTP משמשים כבקרים; הם בעצם מבצעים משימות כמו יירוט ואימות בקשות / תגובות
  3. נוף - משמש להצגת נתונים מעובדים; זה בדרך כלל קובץ JSP

3. עיצוב היישום שלנו

בואו נמשיך בפיתוח אפליקציית האינטרנט שלנו. זהו יישום שבו משתמש בוחר מסוים אוטו המותג ומקבל את פניו בהודעה מותאמת אישית.

3.1. תלות Maven

בואו נוסיף לערכים הבאים pom.xml:

 org.apache.struts struts2-core 2.5.10 org.apache.struts struts2-junit-plugin 2.5.10 org.apache.struts struts2-convention-plugin 2.5.10 

הגרסה האחרונה של התלות נמצאת כאן.

3.2. לוגיקה עסקית

בואו ניצור מעמד פעולה CarAction שמחזירה הודעה לערך קלט מסוים. ה CarAction יש שני שדות - carName (משמש לאחסון הקלט מהמשתמש) ו- carMessage (משמש לאחסון ההודעה המותאמת אישית שתוצג):

מחלקה ציבורית CarAction {private String carName; הודעה על מחרוזת פרטית; CarMessageService פרטי carMessageService = CarMessageService חדש (); מחרוזת ציבורית לבצע () {this.setCarMessage (this.carMessageService.getMessage (carName)); להחזיר "הצלחה"; } // גטרים וקובעים}

ה CarAction שימושים בכיתה CarMessageService המספק את המסר המותאם אישית עבור א אוטו מותג:

מחלקה ציבורית CarMessageService {public String getMessage (String carName) {if (carName.equalsIgnoreCase ("ferrari")) {return "Ferrari Fan!"; } אחרת אם (carName.equalsIgnoreCase ("bmw")) {להחזיר "מאוורר של BMW!"; } אחר {להחזיר "אנא בחר פרארי או BMW"; }}}

3.3. קבלת קלט משתמש

בואו נוסיף a JSP המהווה נקודת כניסה ביישום שלנו. זהו תוכן של input.jsp קוֹבֶץ:

ברוכים הבאים לאפליקציית Baeldung Struts 2

איזו מכונית אתה אוהב !!

אנא בחר פרארי או BMW

ה <טופסהתג> מציין את הפעולה (במקרה שלנו מדובר ב- UTP HTTP אליו יש לשלוח בקשת GET).

3.4. חלק הבקר

StrutsPrepareAndExecuteFilter הוא הבקר, שיירט את כל הבקשות הנכנסות. עלינו לרשום את המסנן הבא ב- web.xml:

 struts2 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter struts2 / * 

StrutsPrepareAndExecuteFilter יסנן כל בקשה נכנסת כאשר אנו מציינים כתובת אתר תואמת לכתובת אתר /*

3.5. קביעת תצורה של היישום

בואו להוסיף את ההערות הבאות לשיעור הפעולה שלנו אוטו:

@Namespace ("/ tutorial") @Action ("/ car") @Result (name = "success", location = "/result.jsp")

בואו נבין את ההיגיון של ההערות האלה. ה @מרחב שמות משמש להפרדה לוגית של URI לבקשות לשיעורי פעולה שונים; עלינו לכלול ערך זה בבקשתנו.

יתר על כן, ה @פעולה מספר את נקודת הסיום בפועל של URI הבקשה שתפגע אצלנו פעולה מעמד. מעמד האקשן מתייעץ CarMessageService ומאתחל את הערך של משתנה חבר אחר carMessage. לאחר לבצע() השיטה מחזירה ערך, "הַצלָחָה" במקרה שלנו, זה תואם את הערך שיש להפעיל result.jsp

סוף - סוף, ה @תוֹצָאָה יש שני פרמטרים. ראשון, שֵׁם, מציין את הערך שלנו פעולה השיעור יחזור; ערך זה מוחזר מה- לבצע() שיטה של פעולה מעמד. זהו שם שיטת ברירת המחדל אשר יבוצע.

החלק השני, מקום, מספר מהו הקובץ אליו יש להפנות לאחר לבצע() השיטה החזירה ערך. הנה, אנו מציינים כי מתי לבצע() מחזיר מחרוזת עם ערך "הַצלָחָה", עלינו להעביר את הבקשה ל result.jsp.

ניתן להשיג את אותה תצורה על ידי מתן קובץ תצורה של XML:

   /result.jsp 

3.6. הנוף

זה התוכן של תוצאה.jsp שישמש להצגת ההודעה בפני המשתמש:

שלום משתמש באלדונג

אתה

יש לשים לב כאן לשני דברים חשובים:

  • ב אנחנו מייבאים תמוכות-תגים סִפְרִיָה
  • ב אנחנו משתמשים תמוכות-תגים ספריה להדפסת ערך הנכס carMessage

4. הפעלת האפליקציה

ניתן להריץ את אפליקציית האינטרנט הזו בכל מיכל אינטרנט, למשל ב- Apache Tomcat. אלה השלבים הנדרשים למימושו:

  1. לאחר פריסת אפליקציית האינטרנט, פתח את הדפדפן וגש לכתובת האתר הבאה: //www.localhost.com:8080/MyStrutsApp/input.jsp
  2. בחר אחת משתי האפשרויות והגיש את הבקשה
  3. תועבר ל result.jsp דף עם הודעה מותאמת אישית על בסיס אפשרות הקלט שנבחרה

5. מסקנה

במדריך זה עברנו מדריך צעד אחר צעד כיצד ליצור את יישום האינטרנט הראשון שלנו Struts2. סקרנו היבטים שונים הקשורים ל- MVC בתחום Struts2 והראינו כיצד להרכיב אותם לפיתוח.

כמו תמיד, ניתן למצוא מדריך זה ב- Github כפרויקט Maven.