{"id":14827,"date":"2022-12-29T08:28:23","date_gmt":"2022-12-29T07:28:23","guid":{"rendered":"https:\/\/www.itta.net\/formations\/introduction-to-developing-j2ee-applications-with-struts\/"},"modified":"2025-09-04T10:36:47","modified_gmt":"2025-09-04T08:36:47","slug":"introduction-to-developing-j2ee-applications-with-struts","status":"publish","type":"formations","link":"https:\/\/www.itta.net\/en\/trainings\/development\/programming-languages\/introduction-to-developing-j2ee-applications-with-struts\/","title":{"rendered":"Introduction to developing J2EE Applications with Struts"},"content":{"rendered":"<p data-start=\"94\" data-end=\"468\">Struts is a well-established framework that simplifies the development of structured and scalable J2EE applications. Widely used in many professional projects, it provides a solid foundation for designing reliable and high-performance web applications. This training will guide you through discovering and mastering Struts, relying on a clear and proven MVC2 architecture.<\/p>\n<h3 data-start=\"470\" data-end=\"493\">Why learn Struts?<\/h3>\n<p data-start=\"495\" data-end=\"912\">Through this course, you will learn to understand the key components of the framework and use them effectively. You will discover how to organize your projects around best practices while benefiting from the flexibility offered by Java standards. Participants will be guided step by step to design, configure, and integrate J2EE components with Struts, in order to better meet the concrete needs of modern projects.<\/p>\n","protected":false},"featured_media":0,"parent":0,"menu_order":0,"template":"","editeurs":[2627],"domaine":[1262,2825],"class_list":["post-14827","formations","type-formations","status-publish","hentry","editeurs-java-en","domaine-development","domaine-programming-languages"],"acf":{"reference":"STRUTS","duree_nombre":3,"duree_unite":"jour","prix_virtuel":2150,"prix_presentiel":2300,"prix_blended":"","prix_elearning":"","views":1844,"niveau":["Fondamental"],"role":"","certifiant":"","pdus":"","lieux":["Gen\u00e8ve","Lausanne"],"formats_dapprentissage":["presentiel","virtuel"],"examen_inclus":"Non certifiant","garanti":[""],"financement":["Temptraining"],"description_temptraining":"","description_caf":"","description_title":"Developing J2EE Applications with Struts","objectifs":"<ul>\r\n \t<li>Understand the concepts of components of an approach MVC2<\/li>\r\n \t<li>Master the components of the framework and inter-component communication in STRUTS<\/li>\r\n \t<li>Carry out a mapping function on the components of Struts<\/li>\r\n \t<li>Go further with the related projects from Apache<\/li>\r\n<\/ul>","connaissances":"<ul>\r\n \t<li>Knowledge of Java<\/li>\r\n \t<li>Knowledge of JSP \/ Servlets and JavaBeans<\/li>\r\n \t<li>It is recommended to have followed the course:\u00a0<a href=\"\/en\/node\/21743\">JAVA SE 8 Programming<\/a><\/li>\r\n<\/ul>","profils_participants":"<ul>\r\n<li>Java Developers<\/li>\r\n<li>IT Project Managers<\/li>\r\n<li>Software Architects<\/li>\r\n<\/ul>\r\n","examen":"","documentation":"<ul>\r\n \t<li>Digital courseware included<\/li>\r\n<\/ul>","lab__exercices":"<ul>\r\n<li>This course includes hands-on exercises designed to reinforce your knowledge and apply your skills in real-world professional scenarios.<\/li>\r\n<\/ul>","contenu_cours":"<div><strong>Module 1: Struts2 Introduction<\/strong><\/div>\r\n<ul>\r\n \t<li>Lesson 1: What is Struts<\/li>\r\n \t<li>Lesson 2: Struts2 Features<\/li>\r\n \t<li>Lesson 3: Model1 vs Model2<\/li>\r\n<\/ul>\r\n<div><strong>Module 2: Core Components<\/strong><\/div>\r\n<ul>\r\n \t<li>Lesson 1: Interceptors<\/li>\r\n \t<li>Lesson 2: ValueStack<\/li>\r\n \t<li>Lesson 3: ActionContext<\/li>\r\n \t<li>Lesson 4: ActionInvocation<\/li>\r\n \t<li>Lesson 5: OGNL<\/li>\r\n<\/ul>\r\n<div><strong>Module 3: Struts 2 Architecture<\/strong><\/div>\r\n<ul>\r\n \t<li>Lesson 1: Struts2 Action<\/li>\r\n \t<li>Lesson 1: Struts2 Configuration\r\n<ul>\r\n \t<li>struts.xml<\/li>\r\n \t<li>multi configuration<\/li>\r\n \t<li>multi namespace<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<div><strong>Module 4: Interceptors<\/strong><\/div>\r\n<ul>\r\n \t<li>Lesson 1:Custom Interceptor<\/li>\r\n \t<li>Lesson 2: Params interceptor<\/li>\r\n \t<li>Lesson 3: ExecAndWait<\/li>\r\n \t<li>Lesson 4: Prepare interceptor<\/li>\r\n \t<li>Lesson 5: ModelDriven interceptor<\/li>\r\n \t<li>Lesson 6: Exception interceptor<\/li>\r\n \t<li>Lesson 7: FileUpload interceptor<\/li>\r\n<\/ul>\r\n<div><strong>Module 5: Struts 2 Validation<\/strong><\/div>\r\n<ul>\r\n \t<li>Lesson 1: Custom Validation<\/li>\r\n \t<li>Lesson 2: Bundled Validators\r\n<ul>\r\n \t<li>Requiredstring<\/li>\r\n \t<li>Stringlength<\/li>\r\n \t<li>Email<\/li>\r\n \t<li>Date<\/li>\r\n \t<li>Int<\/li>\r\n \t<li>Double<\/li>\r\n \t<li>Url<\/li>\r\n \t<li>Regex<\/li>\r\n \t<li>Lesson 3: Ajax Validation<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<div><strong>Module 6: Aware Interfaces<\/strong><\/div>\r\n<ul>\r\n \t<li>Lesson 1: ServletActionContext<\/li>\r\n \t<li>Lesson 2: SessionAware<\/li>\r\n \t<li>Lesson 3: ServletContextAware<\/li>\r\n<\/ul>\r\n<div>\r\n\r\n<strong>Module 7: Struts2 with I18N<\/strong>\r\n\r\n<strong>Module 8: Zero Configuration<\/strong>\r\n\r\n<\/div>\r\n<ul>\r\n \t<li>Lesson 1: By convention<\/li>\r\n \t<li>Lesson 2: By annotation<\/li>\r\n<\/ul>\r\n<div><strong>Module 9: UI Tags<\/strong><\/div>\r\n<ul>\r\n \t<li>Lesson 1: DateTimePicker<\/li>\r\n \t<li>Lesson 2: Iterator Tag<\/li>\r\n<\/ul>","cours_recommandes":[14659],"infos_additionnelles":"<h3>Understanding the role of Struts in J2EE projects<\/h3>\r\nIn the Java development landscape, Struts marked an important milestone by introducing a clear MVC2 architecture. This approach simplified the separation between business logic, presentation, and navigation. Companies that adopt Struts benefit from a structured methodological framework, ideal for large-scale projects where code consistency and maintainability are essential. Even though other frameworks exist today, Struts remains a robust and reliable solution in many professional contexts.\r\n<h3>A framework designed for maintainability<\/h3>\r\nOne of the main strengths of Struts lies in its ability to organize code. In a J2EE application, the multiplication of components can quickly lead to complexity that is difficult to manage. Struts provides a framework that makes the structure more readable and dependencies easier to control. This organization reduces the risk of errors and facilitates onboarding for new development teams. For a project manager, this translates into lower maintenance costs and better anticipation of future evolutions.\r\n<h3>The importance of interceptors and customization<\/h3>\r\nStruts offers a powerful interceptor mechanism that allows applications to be enriched without overloading the code. These interceptors add cross-cutting features such as exception handling, authentication, or performance monitoring. Customizing these elements paves the way for tailored applications, adapted to the specific needs of an organization. For a developer, mastering these concepts means increased efficiency and improved quality of deliverables.\r\n<h3>Data validation as a key challenge<\/h3>\r\nThe reliability of an application largely depends on the quality of its validations. In the context of J2EE applications, where forms are everywhere, Struts provides a particularly comprehensive validation system. Developers can rely on predefined rules or create new ones according to project requirements. The integration of Ajax into validation brings a modern dimension by improving user experience and reducing server-side processing times.\r\n<h3>Struts and user interface management<\/h3>\r\nA successful project is not limited to business logic alone. Usability and clarity of interfaces are decisive factors for user adoption. Struts includes dedicated tags that simplify the creation of forms, lists, or interactive fields. With these components, developers can deliver more consistent and standardized interfaces without having to code everything manually. This improves productivity while offering a better user experience.\r\n<h3>Internationalization and simplified configuration<\/h3>\r\nIn a globalized context, applications must meet the needs of users in different countries. Struts integrates internationalization mechanisms that make projects accessible to a multilingual audience. Resource and translation management is simplified, allowing applications to be deployed in various cultural environments without rewriting the code. In addition, zero configuration, based on conventions and annotations, reduces development time and simplifies adjustments during a project.\r\n<h3>The place of Struts in a modern environment<\/h3>\r\nAlthough more recent frameworks have emerged, Struts still occupies a notable place in information systems. It is often used in critical applications where stability and robustness are top priorities. For professionals, mastering Struts means being able to maintain and evolve existing projects while having a clear vision of J2EE development foundations. This remains a highly valued skill in many enterprise environments where continuity is key.\r\n<h3>Professional perspectives and valued skills<\/h3>\r\nMastering Struts goes beyond technical expertise. It demonstrates a deep understanding of Java architectures and best development practices. Developers who are proficient in this framework stand out through their ability to structure complex projects and deliver sustainable solutions. For project managers and software architects, it is a strategic asset that facilitates team coordination and lifecycle management of applications.\r\n<h3>FAQ<\/h3>\r\n<strong>What benefits does Struts bring to an enterprise project?<\/strong>\r\n\r\nIt provides a clear structure, simplifies maintenance, and ensures better code organization, reducing development costs.\r\n\r\n<strong>Is Struts still useful compared to more recent frameworks?<\/strong>\r\n\r\nYes, it remains widely used in critical applications and provides a level of stability that is hard to match in some environments.\r\n\r\n<strong>Can Struts be integrated with other Java technologies?<\/strong>\r\n\r\nYes, Struts integrates easily with JSP, Servlets, and JavaBeans, and can coexist with other solutions from the Java ecosystem.\r\n\r\n<strong>What is the ideal duration to train effectively in Struts?<\/strong>\r\n\r\nAn intensive course of a few days is enough to acquire the basics and become operational on professional projects.\r\n\r\n<strong>Which professional profiles benefit the most from this training?<\/strong>\r\n\r\nJava developers, project managers, and software architects are the most concerned, as they work directly with J2EE applications.","inclus_dans_ce_cours_virtuel":"<ul>\r\n \t<li>Training provided by an industry expert<\/li>\r\n \t<li>Digital documentation and materials<\/li>\r\n \t<li>Achievement badge<\/li>\r\n<\/ul>","inclus_dans_ce_cours_presentiel":"<ul>\r\n \t<li>Training provided by an industry expert<\/li>\r\n \t<li>Digital documentation and materials<\/li>\r\n \t<li>Achievement badge<\/li>\r\n<\/ul>","inclus_dans_ce_cours_blended":"","inclus_dans_ce_cours_elearning":"","inclus_dans_ce_cours_surmesure":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Introduction to developing J2EE Applications with Struts - ITTA<\/title>\n<meta name=\"description\" content=\"Struts is a free framework that provides the necessary elements to develop applications based on Internet technology.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.itta.net\/en\/trainings\/development\/programming-languages\/introduction-to-developing-j2ee-applications-with-struts\/\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.itta.net\\\/en\\\/trainings\\\/development\\\/programming-languages\\\/introduction-to-developing-j2ee-applications-with-struts\\\/\",\"url\":\"https:\\\/\\\/www.itta.net\\\/en\\\/trainings\\\/development\\\/programming-languages\\\/introduction-to-developing-j2ee-applications-with-struts\\\/\",\"name\":\"Introduction to developing J2EE Applications with Struts - ITTA\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itta.net\\\/en\\\/#website\"},\"datePublished\":\"2022-12-29T07:28:23+00:00\",\"dateModified\":\"2025-09-04T08:36:47+00:00\",\"description\":\"Struts is a free framework that provides the necessary elements to develop applications based on Internet technology.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.itta.net\\\/en\\\/trainings\\\/development\\\/programming-languages\\\/introduction-to-developing-j2ee-applications-with-struts\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.itta.net\\\/en\\\/trainings\\\/development\\\/programming-languages\\\/introduction-to-developing-j2ee-applications-with-struts\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.itta.net\\\/en\\\/trainings\\\/development\\\/programming-languages\\\/introduction-to-developing-j2ee-applications-with-struts\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.itta.net\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Development\",\"item\":\"https:\\\/\\\/www.itta.net\\\/en\\\/trainings\\\/development\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Programming languages\",\"item\":\"https:\\\/\\\/www.itta.net\\\/en\\\/trainings\\\/development\\\/programming-languages\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Introduction to developing J2EE Applications with Struts\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.itta.net\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.itta.net\\\/en\\\/\",\"name\":\"ITTA\",\"description\":\"Formations &amp; Certifications en Suisse Romande\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.itta.net\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.itta.net\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Organization\",\"EducationalOrganization\"],\"@id\":\"https:\\\/\\\/www.itta.net\\\/en\\\/#organization\",\"name\":\"ITTA\",\"alternateName\":\"IT TRAINING ACADEMY SA\",\"url\":\"https:\\\/\\\/www.itta.net\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.itta.net\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.itta.net\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/Logo-transparent.png\",\"contentUrl\":\"https:\\\/\\\/www.itta.net\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/Logo-transparent.png\",\"width\":1500,\"height\":623,\"caption\":\"ITTA\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itta.net\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/people\\\/ITTA\\\/100063747262936\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/1001738\",\"https:\\\/\\\/www.instagram.com\\\/itta_suisse\\\/\"],\"contactPoint\":{\"@type\":\"ContactPoint\",\"telephone\":\"+41 58 307 73 00\",\"contactType\":\"customer service\",\"availableLanguage\":[\"French\",\"English\"],\"areaServed\":[{\"@type\":\"Country\",\"name\":\"Switzerland\"},{\"@type\":\"Country\",\"name\":\"France\"}]},\"location\":[{\"@type\":\"Place\",\"name\":\"ITTA Geneve\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"Route des Jeunes 35\",\"addressLocality\":\"Carouge\",\"postalCode\":\"1227\",\"addressRegion\":\"GE\",\"addressCountry\":\"CH\"},\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":46.18274,\"longitude\":6.12922}},{\"@type\":\"Place\",\"name\":\"ITTA Lausanne\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"Rue des Cotes-de-Montbenon 16\",\"addressLocality\":\"Lausanne\",\"postalCode\":\"1003\",\"addressRegion\":\"VD\",\"addressCountry\":\"CH\"},\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":46.52111,\"longitude\":6.62734}}]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introduction to developing J2EE Applications with Struts - ITTA","description":"Struts is a free framework that provides the necessary elements to develop applications based on Internet technology.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.itta.net\/en\/trainings\/development\/programming-languages\/introduction-to-developing-j2ee-applications-with-struts\/","twitter_misc":{"Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.itta.net\/en\/trainings\/development\/programming-languages\/introduction-to-developing-j2ee-applications-with-struts\/","url":"https:\/\/www.itta.net\/en\/trainings\/development\/programming-languages\/introduction-to-developing-j2ee-applications-with-struts\/","name":"Introduction to developing J2EE Applications with Struts - ITTA","isPartOf":{"@id":"https:\/\/www.itta.net\/en\/#website"},"datePublished":"2022-12-29T07:28:23+00:00","dateModified":"2025-09-04T08:36:47+00:00","description":"Struts is a free framework that provides the necessary elements to develop applications based on Internet technology.","breadcrumb":{"@id":"https:\/\/www.itta.net\/en\/trainings\/development\/programming-languages\/introduction-to-developing-j2ee-applications-with-struts\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itta.net\/en\/trainings\/development\/programming-languages\/introduction-to-developing-j2ee-applications-with-struts\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.itta.net\/en\/trainings\/development\/programming-languages\/introduction-to-developing-j2ee-applications-with-struts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itta.net\/en\/"},{"@type":"ListItem","position":2,"name":"Development","item":"https:\/\/www.itta.net\/en\/trainings\/development\/"},{"@type":"ListItem","position":3,"name":"Programming languages","item":"https:\/\/www.itta.net\/en\/trainings\/development\/programming-languages\/"},{"@type":"ListItem","position":4,"name":"Introduction to developing J2EE Applications with Struts"}]},{"@type":"WebSite","@id":"https:\/\/www.itta.net\/en\/#website","url":"https:\/\/www.itta.net\/en\/","name":"ITTA","description":"Formations &amp; Certifications en Suisse Romande","publisher":{"@id":"https:\/\/www.itta.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itta.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Organization","EducationalOrganization"],"@id":"https:\/\/www.itta.net\/en\/#organization","name":"ITTA","alternateName":"IT TRAINING ACADEMY SA","url":"https:\/\/www.itta.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.itta.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.itta.net\/wp-content\/uploads\/2023\/02\/Logo-transparent.png","contentUrl":"https:\/\/www.itta.net\/wp-content\/uploads\/2023\/02\/Logo-transparent.png","width":1500,"height":623,"caption":"ITTA"},"image":{"@id":"https:\/\/www.itta.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/people\/ITTA\/100063747262936\/","https:\/\/www.linkedin.com\/company\/1001738","https:\/\/www.instagram.com\/itta_suisse\/"],"contactPoint":{"@type":"ContactPoint","telephone":"+41 58 307 73 00","contactType":"customer service","availableLanguage":["French","English"],"areaServed":[{"@type":"Country","name":"Switzerland"},{"@type":"Country","name":"France"}]},"location":[{"@type":"Place","name":"ITTA Geneve","address":{"@type":"PostalAddress","streetAddress":"Route des Jeunes 35","addressLocality":"Carouge","postalCode":"1227","addressRegion":"GE","addressCountry":"CH"},"geo":{"@type":"GeoCoordinates","latitude":46.18274,"longitude":6.12922}},{"@type":"Place","name":"ITTA Lausanne","address":{"@type":"PostalAddress","streetAddress":"Rue des Cotes-de-Montbenon 16","addressLocality":"Lausanne","postalCode":"1003","addressRegion":"VD","addressCountry":"CH"},"geo":{"@type":"GeoCoordinates","latitude":46.52111,"longitude":6.62734}}]}]}},"_links":{"self":[{"href":"https:\/\/www.itta.net\/en\/wp-json\/wp\/v2\/formations\/14827","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itta.net\/en\/wp-json\/wp\/v2\/formations"}],"about":[{"href":"https:\/\/www.itta.net\/en\/wp-json\/wp\/v2\/types\/formations"}],"acf:post":[{"embeddable":true,"href":"https:\/\/www.itta.net\/en\/wp-json\/wp\/v2\/formations\/14659"}],"wp:attachment":[{"href":"https:\/\/www.itta.net\/en\/wp-json\/wp\/v2\/media?parent=14827"}],"wp:term":[{"taxonomy":"editeurs","embeddable":true,"href":"https:\/\/www.itta.net\/en\/wp-json\/wp\/v2\/editeurs?post=14827"},{"taxonomy":"domaine","embeddable":true,"href":"https:\/\/www.itta.net\/en\/wp-json\/wp\/v2\/domaine?post=14827"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}