Pagkakaiba sa Pagitan ng Struts at Struts2

Pagkakaiba sa Pagitan ng Struts at Struts2
Pagkakaiba sa Pagitan ng Struts at Struts2

Video: Pagkakaiba sa Pagitan ng Struts at Struts2

Video: Pagkakaiba sa Pagitan ng Struts at Struts2
Video: DIFFERENT STORAGE TYPES EXPLAINED / ANO ANG PINAGKAIBA NG HDD AT SSD / HDD VS SSD / M.2 VS NVME 2024, Nobyembre
Anonim

Struts vs Struts2

Ang Struts (kilala rin bilang Apache Struts o Struts 1) ay isang cross-platform na open source na framework na nakasulat sa Java, na nilayon para sa pagbuo ng mga Java EE web application. Ito ay isa sa mga unang Java EE web application frameworks. Ngunit makalipas ang ilang taon, dumating ang Struts2 (o bersyon 2 ng Struts), at isa itong ganap na naiiba at lubos na pinahusay na framework ng web application. Natugunan nito ang ilang mga isyu na itinuturing na mga kakulangan sa unang bersyon. Ngayon, ang Struts2 ay ginagamit nang husto para sa pagbuo ng mga Java EE application sa mundo.

Ano ang Struts?

Ang Struts (Struts 1) framework ay isa sa mga paunang web application framework para sa pagbuo ng Java EE web application. Hinihikayat ng Struts framework ang paggamit ng MVC (Model-View-Controller) architecture. Ito ay isang extension ng Java Servlet API. Si Craig McClanahan ay ang orihinal na lumikha ng Struts. Sa una ay kilala ito bilang Jakaratha Struts at pinananatili sa ilalim ng Jakarta Project ng Apache Software Foundation. Ito ay inilabas sa ilalim ng Apache License 2.0. Ang Struts framework ay tinatawag na isang request-based na framework, at ito ay binubuo ng tatlong pangunahing bahagi: isang request handler, isang response handler at isang tag library. Ang karaniwang URI (Uniform Resource Identifier) ay nakamapa sa isang tagapangasiwa ng kahilingan. Response handler ang paglilipat ng kontrol. Upang lumikha ng mga interactive na application na may mga form, ang mga tampok na inaalok ng tag library ay maaaring magamit. Sinusuportahan ng Struts ang mga REST application at iba't ibang teknolohiya tulad ng SOAP, AJAX, atbp.

Ano ang Struts2?

Ang Struts framework ay napag-alaman na naglalaman ng ilang partikular na limitasyon (pangunahin ang kawalan ng paghihiwalay sa pagitan ng layer ng presentation, layer ng pangangasiwa ng kahilingan at ng modelo) ng mga developer ng Java EE noong panahong iyon, at dahil dito, pagkalipas ng ilang taon ay dumating ang Struts2. Sa totoo lang, ang Struts2 ay ganap na naiiba sa Struts. Sa katunayan, hindi man lang sila nagbahagi ng parehong base ng code dahil ang Struts2 ay resulta lamang ng pagpapalit ng pangalan sa balangkas ng WebWork 2.2 (ibig sabihin, ang mga komunidad ng WebWork at Struts na nagtrabaho nang hiwalay nang ilang panahon sa huli ay nagsanib-kamay upang makabuo ng Struts2). Ang kasalukuyang stable na release nito ay bersyon 2.2.3, na inilabas noong Mayo, 2011.

Ano ang pagkakaiba ng Struts at Struts2?

Isa sa maraming problema ng Struts framework ay ang pangangailangan para sa programming sa abstract na mga klase sa halip na mga interface. Nalutas ito ng Struts2 framework. Halimbawa, ang Struts framework ay nangangailangan ng mga Action class na palawigin mula sa abstract base classes, ngunit ang Struts2 Actions ay maaaring magpatupad ng isang Action interface. Dahil sa mga pagkakaiba sa modelo ng threading sa pagitan ng dalawang bersyon na mga isyu sa kaligtasan ng thread na lumabas sa Struts framework patungkol sa Action object ay hindi nangyayari sa Struts2 framework. Ang dahilan ay ang mga Struts2 Action object ay na-instantiate para sa bawat kahilingan, habang ang isang Action sa Struts framework ay may isang pagkakataon lamang upang mahawakan ang lahat ng mga kahilingan para sa Action na iyon. Hindi tulad ng Actions in Struts framework, ang Struts2 Actions ay hindi nakadepende sa Servlet API.

Ang Testability ng Struts2 framework ay medyo mas mataas kaysa Struts framework. Maaari mong subukan ang Struts2 Actions na sumusunod lamang sa tatlong hakbang: instantiation, setting properties at invocation of method. Ang pag-aani ng input ay mas madali sa Struts2 framework dahil ang Action properties ay ginagamit bilang input properties, nang hindi kinakailangang panatilihin ang isang pangalawang input object. Bukod sa suporta para sa integration ng JSTL (na nasa Struts), ang Struts2 framework ay maaaring gumamit ng mas malakas at nagpapahayag na OGNL (Object Graph Notation Language). Para sa conversion ng uri, ang Strut at Strut2 ay gumagamit ng Commons-Beanutils at OGNL, ayon sa pagkakabanggit. Dahil sa mga pagpapahusay na ito, ang Struts2 framework ay itinuturing na isang napaka-mature na framework at ito ay napakapopular sa mga Java EE programmer. Sa kabilang banda, ang Struts framework ay itinuturing na ngayon na hindi na ginagamit.

Inirerekumendang: