Skip to content

Latest commit

 

History

History
72 lines (45 loc) · 3.72 KB

File metadata and controls

72 lines (45 loc) · 3.72 KB
graph LR
    Presentation_Layer["Presentation Layer"]
    Web_Controllers["Web Controllers"]
    Views_JSP_["Views (JSP)"]
    Interceptors["Interceptors"]
    Static_Resources["Static Resources"]
    DTOs_Data_Transfer_Objects_["DTOs (Data Transfer Objects)"]
    Service_Layer["Service Layer"]
    Web_Controllers -- "invokes methods on" --> Service_Layer
    Web_Controllers -- "prepares data for and selects" --> Views_JSP_
    Web_Controllers -- "utilizes" --> DTOs_Data_Transfer_Objects_
    Views_JSP_ -- "receives data from" --> Web_Controllers
    Interceptors -- "intercepts requests before" --> Web_Controllers
    Interceptors -- "processes responses after" --> Web_Controllers
    Views_JSP_ -- "references" --> Static_Resources
    DTOs_Data_Transfer_Objects_ -- "are used by" --> Web_Controllers
    DTOs_Data_Transfer_Objects_ -- "are used by" --> Service_Layer
    click Presentation_Layer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ForestBlog/Presentation_Layer.md" "Details"
Loading

CodeBoardingDemoContact

Details

Abstract Components Overview

Presentation Layer [Expand]

Handles HTTP requests, manages user input, orchestrates application flow, and renders responses. Main Responsibility: User interaction and UI rendering.

Related Classes/Methods: None

Web Controllers

The core components of the Presentation Layer, responsible for receiving incoming HTTP requests, parsing user input, delegating business logic execution to the Service Layer, and preparing model data for view rendering. Examples include BlogController and CommentController.

Related Classes/Methods: None

Views (JSP)

JavaServer Pages (JSP) files that serve as the templating engine for rendering dynamic web pages. They combine static HTML content with dynamic data provided by the controllers to generate the final user interface.

Related Classes/Methods: None

Interceptors

Spring MVC interceptors provide a mechanism to intercept HTTP requests and responses, allowing for pre-processing before a controller method is executed and post-processing after it completes. They are commonly used for cross-cutting concerns like authentication, authorization, logging, and request validation.

Related Classes/Methods: None

Static Resources

This component encompasses all static assets required by the web application, such as CSS stylesheets, JavaScript files, images, fonts, and other media. These resources are directly served to the client by the web server or servlet container.

Related Classes/Methods: None

DTOs (Data Transfer Objects)

Plain Java objects designed to transfer data between the Presentation Layer (specifically, Web Controllers) and other layers, such as the Service Layer. They encapsulate data for requests received from the client and responses sent back, ensuring a clean contract and decoupling the internal domain model.

Related Classes/Methods: None

Service Layer

Encapsulates the application's business logic, orchestrating operations across multiple domain objects and interacting with the data access layer. It provides a clean API for the Presentation Layer, abstracting complex business rules and data persistence details.

Related Classes/Methods: None