በ Struts እና Struts መካከል ያለው ልዩነት2

በ Struts እና Struts መካከል ያለው ልዩነት2
በ Struts እና Struts መካከል ያለው ልዩነት2

ቪዲዮ: በ Struts እና Struts መካከል ያለው ልዩነት2

ቪዲዮ: በ Struts እና Struts መካከል ያለው ልዩነት2
ቪዲዮ: Меркурий в Ретрограде! aleksey_mercedes 2024, ህዳር
Anonim

Struts vs Struts2

Struts (እንዲሁም Apache Struts ወይም Struts 1 በመባልም ይታወቃል) በጃቫ የተፃፈ የክፍት መድረክ ክፍት ምንጭ ማዕቀፍ ነው፣ እሱም የJava EE ድር መተግበሪያዎችን ለማዳበር የታሰበ። ከመጀመሪያዎቹ የጃቫ EE የድር መተግበሪያ ማዕቀፎች አንዱ ነበር። ግን ከጥቂት አመታት በኋላ Struts2 (ወይም Struts ስሪት 2) ደረሰ፣ እና ሙሉ ለሙሉ የተለየ እና በጣም የተሻሻለ የድር መተግበሪያ ማዕቀፍ ነበር። በመጀመሪያው እትም ውስጥ እንደ ጉድለቶች የሚታወቁትን ጥቂት ጉዳዮችን ተመልክቷል። አሁን፣ Struts2 በአለም ላይ የጃቫ ኢኢ አፕሊኬሽኖችን ለመስራት በከፍተኛ ሁኔታ ጥቅም ላይ እየዋለ ነው።

Sruts ምንድን ነው?

Struts (Struts 1) ማዕቀፍ የጃቫ ኢኢ ዌብ አፕሊኬሽኖችን ለማዘጋጀት ከመጀመሪያዎቹ የድር መተግበሪያ ማዕቀፎች አንዱ ነበር።Struts ማዕቀፍ MVC (ሞዴል-እይታ-ተቆጣጣሪ) አርክቴክቸርን መጠቀምን ያበረታታል። የJava Servlet API ቅጥያ ነው። ክሬግ ማክላናሃን የስትሮትስ የመጀመሪያ ፈጣሪ ነው። መጀመሪያ ላይ ጃካራታ ስትሩትስ በመባል ይታወቅ ነበር እና በአፓቼ ሶፍትዌር ፋውንዴሽን ጃካርታ ፕሮጀክት ስር ይጠበቅ ነበር። በApache License 2.0 ስር ተለቋል። Struts ማዕቀፍ በጥያቄ ላይ የተመሰረተ ማዕቀፍ ተብሎ የሚጠራ ሲሆን በሶስት ዋና ዋና ክፍሎች የተዋቀረ ነው፡ የጥያቄ ተቆጣጣሪ፣ ምላሽ ሰጪ እና ታግ ቤተ መጻሕፍት። መደበኛ ዩአርአይ (ዩኒፎርም ሪሶርስ መለያ) በጥያቄ ተቆጣጣሪ ላይ ተቀርጿል። የምላሽ ተቆጣጣሪ ቁጥጥርን የማስተላለፍ ሃላፊነት አለበት። ከቅጾች ጋር በይነተገናኝ መተግበሪያዎችን ለመፍጠር በመለያ ቤተ-መጽሐፍት የቀረቡትን ባህሪያት መጠቀም ይቻላል። Struts የ REST መተግበሪያዎችን እና እንደ SOAP፣ AJAX፣ ወዘተ ያሉ የተለያዩ ቴክኖሎጂዎችን ይደግፋል።

Sruts2 ምንድን ነው?

Struts ማዕቀፍ በዚያን ጊዜ በጃቫ ኢኢ ገንቢዎች የተወሰኑ ገደቦችን (በዋነኛነት በአቀራረብ ንብርብር፣ በጥያቄ ማስተናገድ ንብርብር እና በአምሳያው መካከል ያለው ልዩነት አለመኖር) እንደያዘ ተገንዝቦ ነበር፣ እና በዚህም ምክንያት ከጥቂት አመታት በኋላ Struts2 መጣ።በእውነቱ፣ Struts2 ከስትሮት ፈጽሞ የተለየ ነበር። እንደውም ተመሳሳይ ኮድ መሰረት እንኳን አልተጋሩም ምክንያቱም Struts2 በቀላሉ የዌብወርቅ 2.2 ማዕቀፍን (ማለትም ዌብወርቅ እና ስትሮትስ ማህበረሰቦችን ለብቻቸው ለተወሰነ ጊዜ ሲሰሩ የነበሩ ማህበረሰቦችን በመቀየር ከ Struts2 ጋር በጋራ በመገናኘት)። የአሁኑ የተረጋጋ ልቀት ስሪት 2.2.3 ነው፣ እሱም በግንቦት 2011 የተለቀቀው።

በSruts እና Struts2 መካከል ያለው ልዩነት ምንድን ነው?

ከስትሩት ማዕቀፍ ከበርካታ ችግሮች አንዱ በበይነገጾች ምትክ ክፍሎችን ለማጠቃለል የፕሮግራም አስፈላጊነት ነበር። ይህ በ Struts2 ማዕቀፍ ተፈትቷል. ለምሳሌ፣ Struts framework የተግባር ክፍሎችን ከአብስትራክት ቤዝ ክፍሎች እንዲራዘም አስፈልጎታል፣ነገር ግን Struts2 Actions የእርምጃ በይነገጽን መተግበር ይችላል። በ Struts ማዕቀፍ ውስጥ በተነሱት በሁለቱ ስሪቶች ክር-ደህንነት ጉዳዮች መካከል ባለው የክር ሞዴል ልዩነት ምክንያት የድርጊት ዕቃዎችን በተመለከተ በ Struts2 ማዕቀፍ ውስጥ አይከሰትም። ምክንያቱ Struts2 የተግባር እቃዎች ለእያንዳንዱ ጥያቄ በቅጽበት ይቀመጣሉ፣ የAction in Struts ማዕቀፍ ግን የዚያ እርምጃ ሁሉንም ጥያቄዎች ለማስተናገድ አንድ ምሳሌ ብቻ ነው።ከStruts ማዕቀፍ በተለየ መልኩ Struts2 ድርጊቶች በServlet API ላይ የተመሰረቱ አይደሉም።

የSruts2 ማዕቀፍ መሞከሪያ በአንፃራዊነት ከSruts ማዕቀፍ ከፍ ያለ ነው። Struts2 Actionsን በቀላሉ ሶስት ደረጃዎችን በመከተል መሞከር ትችላለህ፡ ቅጽበታዊነት፣ የቅንብር ባህሪያት እና የስልቶች ጥሪ። የመሰብሰቢያ ግብዓት በ Struts2 ማዕቀፍ ውስጥ ቀላል ነው ምክንያቱም የተግባር ባህሪያት እንደ ግብዓት ባህሪያት ጥቅም ላይ ይውላሉ, ሁለተኛ ግቤት ነገርን ሳያስቀምጡ. ከ JSTL ውህደት ድጋፍ (በStruts ውስጥ አለ) ፣ Struts2 ማዕቀፍ የበለጠ ኃይለኛ እና ገላጭ OGNL (የነገር ግራፍ ማስታወሻ ቋንቋ) መጠቀም ይችላል። ለዓይነት ልወጣ Strut እና Strut2 Commons-Beanutils እና OGNLን በቅደም ተከተል ይጠቀማሉ። በእነዚህ ማሻሻያዎች ምክንያት Struts2 ማዕቀፍ በጣም የበሰለ ማዕቀፍ ተደርጎ ይወሰዳል እና በጃቫ ኢኢ ፕሮግራመሮች ዘንድ በጣም ታዋቂ ነው። በሌላ በኩል፣ Struts ማዕቀፍ አሁን ያለፈበት ነው ተብሎ ይታሰባል።

የሚመከር: