Stack Name - Struts2

Synopsis
The is the base reusable implementation for Apache Stuts2 type tech stacks used to create a complete Java web app using its Model-View-Controller architecture. The stack includes:- Struts2:
- This framework is uses an MVC design pattern for creating modern Java web applications. It favors convention over configuration and is extensible using a plugin architecture.
- Hibernate:
- An object–relational mapping tool for the Java programming language. It provides a framework for mapping an object-oriented domain model to a relational database
- JUnit:
- Unit testing framework for Java
- JQuery:
- A JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax
- Bootstrap:
- An open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS- and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components
Details
Author | dev@harbormaster.ai |
Access | Public |
Derived From | .java.tech.stack .hibernate.tech.stack |
Long Name | Struts |
Short Name | Struts2 |
Language(s) | Java 8+, Javascript, YAML, HTML, XML, Velocity Macros |
Git Url | https://github.com/Harbormaster-AI/techstacks/tree/main/Struts2 |
Example Project YAML | https://github.com/Harbormaster-AI/cli/blob/main/samples/yamls/project.as.code/struts-rdbms-project-as-code.yml |
Contents
Along with what is supported by the parent tech stack (.java.tech.stack), the following are overridden and additional capabilities:- Build/Maven:
- A customer pom.xml to invoke Spark via Maven plugin
- Presentation/Backend:
- JSP:
- Templates for creating form and list JSP (Java Server Pages) files for each applicable entity discovered in the model, along with other standard application JSP files (header, footer, login, logoff, etc..)
- Web-Inf
- Custom web.xml to handle leveraging the Stuts2 Servlet implementation
- MVC/Struts:
- Per Struts2 architecture, contains a single template file used to create an XML file containing all routing declarations.
- JSP:
Usage
If using a CI/CD platform such as CircleCI, AWS Codebuild, Jenkins, etc.., it is best to refer to the Pipeline YAML file generated for that platform. If not using a CI/CD platform refer to the instructions below on how to use the generated project.To get started manually
Whichever of the following methods you choose, the database selected during project generation should be running and accessible to the application.Using Apache Tomcat
In the root directory of the generated project is a generated Maven pom.xml file that contains the declarations and dependencies to build a single WAR file containing the generated application.mvn packageThis resulting WAR will be located in the target subdirectory, You can copy this file to a compliant Java Servlet engine such as Apache Tomcat. When you start the servlet engine, the application will be available at:
http://:8080
Using Built-in Jetty Engine
To quickly build and execute the application using Maven’s Jetty plug-in, issue the following:mvn package jetty:run