מדריך Struts 2 - פיתרון One Stop למתחילים



מאמר זה על מדריך Struts 2 יעזור לך להתחיל עם מסגרת Struts 2 לפיתוח יישומי J2EE יחד עם הדגמת קוד.

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

להלן הנושאים עליהם אדבר במדריך זה בנושא תמוכות:





מה זה תמוכות?

במונחים של הדיוט, Struts הוא א - מסגרת מקורית פתוחה המסייעת בפיתוח יישומי אינטרנט ב- J2EE. זהמרחיב את ומקדם את המודל, התצוגה, הבקר ( MVC ) ארכיטקטורה.זה הופך את יישומי האינטרנט שפותחו בטכנולוגיות סטנדרטיות כמוJSP, JavaBeans ו- XML, ניתנים לתחזוקה, להרחבה וגמישות.

מסגרת Struts פותחה בתחילה על ידי קרייג מקלאנהן והועברה לידי קרן אפאצ'י במאי 2000. בהדרגה היא תופסת את עמדתו של פרויקט אפאצ'י ברמה העליונה בשנת 2005 ובהמשך בפברואר 2007, היא הוחלפה על ידי תמוכות 2 .



מסגרת Struts התבססה בהרחבה על ה- MVC (מודל-מבט-בקרפרדיגמת עיצוב. מטרתה העיקרית הייתה להפריד בין המודל לתצוגה ולבקר ביישום כדי להפחית את התלות ולקדם הפרדת דאגות (SoC). במילים אחרות, זה עזר בהפרדת לוגיקת היישומים שמתקשרת בעיקר עם מסד הנתוניםמ ה דרכו המשתמש מתקשר עם היישום והמופע המסייע בתיעול מידע בין מודל לתצוגה.

תכונות של תמוכות 2

  1. צורות ופעולות מבוססות POJO :שיעורי פעולה בסטרטים מתייחסים לבקר ביישום. הם אחראים לענות על פעולת משתמש, לבצע את ההיגיון העסקי ולהחזיר תוצאה עם התצוגה שיש לתת. זה משמש גם ככיתת מודל.
  2. תגים והתאמה אישית משופרים: סוגים שונים של תגים הוצגו ב Struts 2 כמו תגי ממשק משתמש, תגי בקרה, תגי נתונים וכו 'המסייעים בפיתוח אפליקציות.
  3. פונקציונליות AJAX: Struts 2 תומך בטכנולוגיית ajax המשמשת בדרך כלל ליצירת בקשה אסינכרונית. זה עושה את משפר את הביצועים של היישום על ידי שליחת רק את נתוני השדה הנדרשים לשרת.
  4. שילוב קל: הוא מספק שילוב קל עם מסגרות אינטרנט אחרות כגון , DWR, SiteMesh ו- Tiles.
  5. תצורות מינימליות: בעת שימוש ביישום Struts 2, אין צורך בתצורות תקורה. זה עובד עם תצורות מינימליות כאשר רוב ההגדרות לוקחות את ערכי ברירת המחדל אלא אם כן קיימת סטייה כלשהי.
  6. שילוב טכנולוגיות תצוגה: בעזרת Struts2 תוכלו להשתלב בקלות בטכנולוגיות תצוגה שונות כמו XSLT, JSP, סמן חופשי, מהירות וכו '.
  7. ערכות נושא ותבניות: Struts 2 מספק תמיכה לשלושה סוגים של נושאים:
    1. Xhtml
    2. פָּשׁוּט
    3. Css_xhtml

כאן XHTML הוא נושא ברירת המחדל עבור Struts 2 ומשמש בעיקר למראה ולתחושה נפוצים.

עכשיו שאתה יודע מה זה Struts ותכונותיו השונות, בוא נוכל להתקדם במאמר הדרכת Struts זה וללמוד על הארכיטקטורה שלו.



ארכיטקטורה

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

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

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

אני מקווה שזה ינקה את זרימת העבודה ביישום Struts. בוא נראה עכשיו מה כל מה שאתה צריך במערכת שלך כדי להתחיל עם Struts בחלק הבא של הדרכה זו ב- Struts 2

הגדרת סביבה

להלן פירטתי את הצרכים הבסיסיים כדי להתחיל עם Struts 2:

  • ג'אווה
    במקרה שלא מותקנת Java במערכת שלך, אתה יכול להתייחס ל התקנת Java מאמר.
  • טומקט
    אם אין לך Tomcat במערכת שלך, אתה יכול לבקר כאן להורדה בחינם.
  • IDE (עדיף ליקוי חמה)
    לבסוף, אתה צריך את שלך ליקוי חמה לפיתוח אפליקציות.

לאחר שתסיים, אתה מוכן להרטיב את הרגליים עם Struts. בחלק הבא של מדריך Struts 2 זה, אתן לך תמצית על המושגים הבסיסיים של Struts 2.

מושגים בסיסיים

1. תצורות

בכל יישום תומך ישנם שני קבצי תצורה עיקריים:

  1. קובץ struts.xml: קובץ זה מכיל את המידע בנוגע ל-תצורה אשר משתנים כפעולות. הוא משמש בעיקר לעקיפת הגדרות ברירת המחדל ביישום. קובץ זה נוצר בדרך כלל בספריית WEB-INF / מחלקות בכל פרויקט Struts.
  2. קובץ struts.properties: קובץ זה מספק מנגנון שיכול לשנות את התנהגות המסגרת. מאזframework עושה שימוש במספר מאפיינים שתוכל לשנות כל אחד מהם בהתאם לדרישתך.

2. פעולות

פעולות או שיעורי פעולה הם מושגי הליבה בכל יישום Struts 2, מכיוון שהם משמשים כבקרים בתבנית MVC. במילים אחרות, שיעורי פעולה מכילים את ההיגיון העסקי המסייע בעיבוד הנתונים. מלבד זה אחראי גם מעמד הפעולהמענה לבקשת משתמשים, ביצוע לוגיקה עסקית. זה גם עוזר למסגרת בקביעת והחזרת התוצאה על בסיס קובץ התצורה (struts.xml), בחזרה למשתמש לצורך עיבוד דף התצוגה.

שיעורי הפעולה של Stuts2 אינם בעלי אופי יחיד, כלומר נוצר מופע אחד של מחלקה זו עם כל בקשה. לכן הם לא צריכים להיות בטוחים בחוטים והם פשוטים ועצמאיים. זה מקל על בדיקת שיעורים אלה.

ניתן ליצור קובץ פעולה בשלוש דרכים, להלן:

  • מעמד פעולה פשוט
    כל מחלקת Java בטון יכולה לשמש כפעולת Struts 2 אך הדרישה היחידה היא שהמחלקה חייבת להכיל שיטת execute () עם סוג החזרת String. להלן הקוד ליצירת מחלקת פעולה פשוטה:
חבילה com.edureka.struts2.action class public DemoAction {public String execute () {return 'Welcome!' }}
  • יישום ממשק פעולה
    ניתן ליצור מחלקת פעולה של Struts 2 גם על ידי הטמעת ממשק com.opensymphony.xwork2.Action. הוא מכיל שיטה אחת, כלומר ביצוע (), אותה יש ליישם על ידי המחלקה המיישמת. על ידי יישום ממשק זה תוכלו לעשות שימוש בכמה קבועים כגון SUCCESS, ERROR, NONE, INPUT ו- LOGIN בהם ניתן להשתמש בעמודי התוצאות.
    הקוד שלהלן מציג דוגמה לאותו הדבר:
חבילה com.edureka.struts2.action ייבוא ​​com.opensymphony.xwork2.Action class class DemoAction מיישם פעולה {public String execute () {return SUCCESS}}
  • הרחבת מחלקת ActionSupport

שיעורי פעולה ב Struts 2 מרחיבים בדרך כלל את מחלקת Action Support המהווה יישום ברירת המחדל של ממשק Action. הוא מספק פונקציות הכרחיות שונות לפיתוח יישומי רשת כגון אימות נתונים, הודעה ברמת פעולה, הודעת שגיאה ברמת פעולה, הודעת שגיאה ברמת השדה וקריאת משאבים לקרוא וכו '.

להלן יישום אותו:

חבילה com.edureka.struts2.action ייבוא ​​com.opensymphony.xwork2.ActionSupport מחלקה ציבורית DemoAction מרחיב ActionSupport {@Override ציבור מחרוזת ביצוע () זורק חריג {להחזיר הצלחה}}

3. מיירטים

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

היתרון העיקרי בשימוש מיירטים הוא שהוא ניתן לחיבור. כוונתי היא, למקרה שאין לך יותר שימוש בדאגה ספציפית כמואימות, טיפול בחריגים, רישום וכו ', אתה יכול להסיר אותו בקלות מהיישום מבלי שתצטרך לפרוס אותו מחדש. לשם כך, כל שעליך לעשות הוא למחוק את הערך מקובץ struts.xml.

מסגרת Struts2 מספקת מערך מקיף של מיירטים מוגדרים מראש וערימות מיירט נפוצות שרשמתי בטבלה שלהלן:

מיירט תיאור
כינוי זה מאפשר לפרמטרים כינויי שמות שונים בין בקשות משתמש
תיבת סימון זה עוזר בניהול תיבות הסימון על ידי הוספת ערך פרמטר שקר עבור תיבות הסימון לא נבחר
conversionError זה מציב את פרטי השגיאה מהמרת מחרוזות לסוגי פרמטרים בתוך שגיאות השדה של הפעולה
createSession זה יוצר באופן מרומז הפעלת HTTP למקרה שלא קיימת
ניפוי באגים זה מספק מסכי איתור באגים למפתח
execAndWait פעולה זו מעבירה את המשתמש לדף המתנה מתווך כאשר הפעולה מבוצעת ברקע
יוצא מן הכלל זה ממפה את החריגים שנזרקים מפעולה לקראת תוצאה
העלאת קובץ זה מאפשר העלאת קבצים בקלות ב Struts 2
i18n זה עוזר לעקוב אחר המקום שצוין במהלך הפגישה של משתמש
יומנים זה מספק רישום פשוט למשתמש על ידי יצירת הפלט כשם הפעולה שמתבצעת
פאראמים זה עוזר בקביעת פרמטרי הבקשה לפעולה
הכן זה משמש לביצוע עבודות עיבוד מראש
פּרוֹפִיל זה מאפשר מידע פרופילי פשוט לפעולות רישום.
תְחוּם פעולה זו שומרת ומאחזרת את מצב הפעולה במהלך הפעלת המשתמש או היקף היישום
ServletConfig זה מאפשר את הפעולה לגשת למידע מבוסס servlet שונים
שָׁעוֹן עֶצֶר זה מספק מידע פרופילי פשוט
אֲסִימוֹן זה עוזר בבדיקת הפעולה עבור אסימון חוקי על מנת למנוע הגשות כפולות של טפסים
מַתַן תוֹקֵף זה מספק תמיכה באימות לפעולות שונות

4. ערימת ערך

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

5. OGNL

OGNL מייצג שפת ניווט-אובייקט גרף. זו שפת ביטוי עוצמתית כמו JSP ומשמשת בעיקר להתייחסות ומניפולציה של נתונים הקיימים ב- ValueStack. יתר על כן, זה גם מסייע בהעברה והמרת סוג הנתונים.

בדומה ל- JSP, OGNL מכיל אובייקט שורש בהקשר היישום. לפיכך, תוכל לספק את ההפניה של אובייקט ברירת המחדל באמצעות סימון סימון שבמקרה זה מסומן באמצעות סמל פאונד. מסגרת Struts 2 מיישמת את OGNL על ידי בניית מפת ActionContext. להלן פירטתי את המרכיבים של מפת ActionContext:

  • יישום
  • מוֹשָׁב
  • ערימת ערך
  • בַּקָשָׁה
  • פרמטרים
  • תכונות

עם זאת, אתה עובר את היסודות של Struts 2. בחלק הבא של מאמר זה ב- Struts 2 מאפשר לך לקפוץ ישירות לקוד וליישם את כל מה שלמדת עד עכשיו.

אתה יכול להפיל כפול לאינטל

הדגמת הדרכה בסטרטס 2

כאן אני אצור יישום פשוט שבו אתה צריך להזין את שמך והיישום יקבל אותך בברכה. להלן צילום המסך של מבנה הפרויקט השלם:

כפי שאתה יכול לראות, בפרויקט זה ניצור 5 קבצים שהם:

  1. HelloWorld.java
  2. index.jsp
  3. ברוכים הבאים.jsp
  4. web.xml
  5. struts.xml

הערה: לפני שתתחיל בפרויקט זה וודא שכבר מותקן במערכת שלך Tomcat.

שלב I: בליקוי החמה שלך, עבור אל קובץ> חדש> פרויקט אינטרנט דינמי. הזן את שם הפרויקט ולחץ על זמן ריצה חדש.

שלב II: כאן עליך לבחור את הגרסה של Apache Tomcat שהורדת למערכת שלך ולחץ על הבא.

שלב III: לאחר מכן לחץ על עיון ונווט לספרייה בה נשמרו תלות Tomcat. לאחר שתסיים לחץ על סיים והמשך עם יצירת הפרויקט.

שלב ד ': בואו כעת נוסיף את קבצי הצנצנות של Struts אשר יידרשו לביצועו המוצלח של פרויקט זה. אתה יכול להוריד את ה- JAR מ- כאן . ברגע שאתה מוכן עם קבצי ה- JAR, העתק את ה- JAR והדבק אותם תחת WebContent> WEB-INF> lib.

שלב V: עכשיו שאנחנו מוכנים עם כל התצורות מאפשרים להגדיר את קבצי הקוד, החל מ- HelloWorld.java. לשם כך לחץ באמצעות לחצן העכבר הימני על הפרויקט> חדש> כיתה. מלא את החבילה ואת שם הכיתה ולחץ על סיום.

שלב VI: הקלד את הקוד שלהלן ב HelloWorld.java קוֹבֶץ.

חבילה com.edureka מחלקה ציבורית HelloWorld {private String name public String getName () {return name} public void setName (name String) {this.name = name} public String execute () {return 'success'}}

שלב VII: הבא צור חדש index.jsp הקובץ תחת WebContent והקלד את הקוד שלהלן:

 

שלב VIII: עכשיו, שוב צור חדש ברוכים הבאים.jsp הקובץ תחת WebContent והקלד את הקוד שלהלן:

ברוך הבא:

שלב IX: כעת עבור אל WebContent> WEB-INF והקלד את הקוד שלהלן ב- web.xml קוֹבֶץ.

Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *

שלב X: לבסוף, תחת משאבי Java> src, צור struts.xml קוֹבֶץ

ברוכים הבאים.jsp

שלב XI: עכשיו לך אל index.jsp לחץ באמצעות לחצן העכבר הימני עליו. בחר הפעל בשרת כדי לבצע את היישום.

זה מביא אותנו לסוף מאמר זה בנושא הדרכה Struts 2. אם אתה רוצה לדעת יותר על Java תוכל לעיין בכתובת שלנו .

עכשיו לאחר שהבנתם מה זה הדרכה בסטרטוס 2, עיינו ב מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם. קורס ההכשרה וההסמכה של Java J2EE ו- SOA של אדוריקה מיועד לסטודנטים ואנשי מקצוע שרוצים להיות מפתח Java. הקורס נועד לתת לך יתרון לתכנות ג'אווה ולהכשיר אותך למושגי ג'אווה מרכזיים ומתקדמים יחד עם מסגרות ג'אווה שונות כמו Hibernate & Spring.

יש לך שאלה עבורנו? אנא הזכיר זאת במדור ההערות במאמר זה 'הדרכה Struts 2' ונחזור אליך בהקדם האפשרי.