Apache Struts: Ашық бастаулы веб қолданбалар шеңберісі
Apache Struts 1
Apache Struts 2 – Java EE веб-қосымшаларын жасауға арналған ашық кодты фреймворк. Struts 1-дің жаңаруы, MVC архитектурасын қолдайды. WebWork негізінде жасалған.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Ашық кодты веб-қосымшалар фреймворкі, Apache Struts 1-дің жалғасы
Open source web application framework
the successor of Apache Struts 1
Apache Struts 1 – Java EE веб-қосымшаларын жасауға арналған ашық кодты веб-қосымшалар фреймворкі. Ол Java Servlet API-ді пайдаланады және кеңейтеді, бұл дамытушыларды модель-көрініс-басқарушы (MVC) архитектурасын қабылдауға ынталандырады. Оны Крейг Маккланахан жасап, 2000 жылдың мамыр айында Apache Foundation-ға сыйға тартқан. Бұрын Apache Jakarta Project аясында орналасқан және Jakarta Struts деп белгілі болған, ол 2005 жылы Apache жобасының жоғары деңгейіне көтерілді. WebWork фреймворкі Apache Struts-тан бөлініп шықты, мақсаты – түпнұсқа Struts фреймворкінің жалпы архитектурасын сақтай отырып, жақсартулар мен жетілдірулер ұсыну болды. Алайда, 2005 жылдың желтоқсанында Struts пен WebWork бірігуі туралы хабарланды. WebWork 2.2 Apache Struts 2 ретінде қабылданды және 2007 жылдың ақпанында толыққанды алғашқы нұсқасы жарық көрді. Қазіргі және үнемі дамып жатқан Struts 2 нұсқасына қоса, 2022 жылдан бері Struts 1-дің клоны бар, ол Struts 1-дің ескі жүйесін қазіргі Jakarta EE үйлесімді стекке жаңартады.
Apache Struts 1 is an open source web application framework for developing Java EE web applications. It uses and extends the Java Servlet API to encourage developers to adopt a model–view–controller (MVC) architecture. It was originally created by Craig McClanahan and donated to the Apache Foundation in May 2000. Formerly located under the Apache Jakarta Project and known as Jakarta Struts, it became a top level Apache project in 2005. The WebWork framework spun off from Apache Struts aiming to offer enhancements and refinements while retaining the same general architecture of the original Struts framework. However, it was announced in December 2005 that Struts would re merge with WebWork. WebWork 2.2 has been adopted as Apache Struts 2, which reached its first full release in February 2007. In addition to the current and constantly evolving successor version Struts 2, a clone of Struts 1 exists since 2022, which updates the legacy framework of Struts 1 to a current Jakarta EE compatible stack.
Жобалау мақсаттары мен жалпы көрінісі
Стандартты Java EE веб-қосымшасында клиент әдетте веб-форма арқылы серверге сұрау жібереді. Ақпарат содан кейін Java Servlet-ке беріледі, ол деректер қорымен өзара әрекеттеседі және HTML пішіміндегі жауапты құрайды, немесе JavaServer Pages (JSP) құжатына жіберіледі, ол HTML және Java кодын араластырып, бірдей нәтижеге жетеді. Екі тәсіл де үлкен жобалар үшін жеткіліксіз деп есептеледі, себебі олар қолданба логикасын көрсетумен (презентациямен) біріктіреді және техникалық қызмет көрсетуді қиындатады. Struts-тың мақсаты – модельді (деректер қорымен өзара әрекеттесетін қолданба логикасын), көріністі (клиентке ұсынылатын HTML беттерді) және контроллерді (көрініс пен модель арасында ақпаратты жіберетін компонент) бөлу. Struts контроллерді (ActionServlet деп аталатын сервлетті) қамтамасыз етеді және көрініс немесе презентация қабаты үшін шаблондарды жазуды жеңілдетеді (әдетте JSP, бірақ XML/XSLT және Velocity да қолдау көрсетіледі). Веб-қосымшаны бағдарламалаушы модель кодын жазуға және модель, көрініс және контроллерді байланыстыратын орталық конфигурациялық файл – struts-config.xml құруға жауапты. Клиенттен келетін сұраулар конфигурациялық файлда анықталған «әрекеттер» (Actions) түрінде контроллерге жіберіледі; егер контроллер мұндай сұрау алса, ол тиісті Action класын шақырады, ол қолданбаға тән модель кодымен өзара әрекеттеседі. Модель коды «ActionForward» қайтарады, бұл контроллерге клиентке қандай шығыс бетін жіберу керектігін көрсететін жол. Ақпарат модель мен көрініс арасында арнайы JavaBeans түрінде беріледі. Күшті әдеттегі тегтер кітапханасы презентация қабатынан Java кодын енгізбей, осы бұршақтардың мазмұнын оқуға және жазуға мүмкіндік береді. Struts – 2-ші үлгідегі сұранысқа негізделген веб-қосымшалар фреймворкі. Struts веб-формалар арқылы халықаралықтандыруды (интернационализацияны) қолдайды және презентация қабатын тәуелсіз бас, аяқ, мәзір навигациясы және мазмұн компоненттерінен құруға мүмкіндік беретін «Tiles» деп аталатын шаблон механизмін қамтиды.
In a standard Java EE web application, the client will typically call to the server via a web form. The information is then either handed over to a Java Servlet which interacts with a database and produces an HTML formatted response, or it is given to a JavaServer Pages (JSP) document that intermingles HTML and Java code to achieve the same result. Both approaches are often considered inadequate for large projects because they mix application logic with presentation and make maintenance difficult. The goal of Struts is to separate the model (application logic that interacts with a database) from the view (HTML pages presented to the client) and the controller (instance that passes information between view and model). Struts provides the controller (a servlet known as ActionServlet) and facilitates the writing of templates for the view or presentation layer (typically in JSP, but XML/XSLT and Velocity are also supported). The web application programmer is responsible for writing the model code, and for creating a central configuration file struts config. xml that binds together model, view, and controller. Requests from the client are sent to the controller in the form of "Actions" defined in the configuration file; if the controller receives such a request it calls the corresponding Action class that interacts with the application specific model code. The model code returns an "ActionForward", a string telling the controller what output page to send to the client. Information is passed between model and view in the form of special JavaBeans. A powerful custom tag library allows it from the presentation layer to read and write the content of these beans without the need for any embedded Java code. Struts is categorized as a Model 2 request based web application framework. Struts also supports internationalization by web forms, and includes a template mechanism called "Tiles" that (for instance) allows the presentation layer to be composed from independent header, footer, menu navigation and content components.