The springmvcstore template is a small, simple web shop
application based on Spring MVC. Basically, springmvcstore is an implementation of the hybris
Multichannel Suite Ordering Process. It allows logging in, browsing of
products, and ordering. It does not use Commerce functionality, such as
vouchers. Also note that this template only consists of a web extension module
and, for example, does not contain an
items.xml
file.
This extension also presents the concept of a web-container separated unit test
for Controller logic as well as usage of Spring
Security.
The springmvcstore extension
uses:
- The web extension module
- Spring Web MVC frontend technology
- Use cases
- Logging in and out
- Browsing products
- Ordering
- Testing controllers
The springmvcstore Extension Structure
The
extension only consists of a web module. It provides the following directories:
web/src
: Contains Facade, Controller, and DTO classes, as well as classes for converting a model to a DTO. It also contains some form classes.web/testsrc
: Contains classes for testing controllers.web/webroot
: Contains JSP files for views.web/webroot/WEB-INF
: Containsweb.xml
for servlet configuration and activating Spring Security,springmvcstore-web-spring.xml
for configuration of Spring Security,springmvcstore-servlet.xml
for configuration of dispatcher servlet and OS cache related configuration files.
Furthermore,
the resources folder contains resource bundle files for formatting
representation classification attributes
Dispatcher Servlet
The
Spring Web MVC DispatcherServlet, acting as the front controller, receives all
requests and dispatches them to the appropriate controllers. This servlet is
configurable using the extension's
web.xml
file.
Spring Web MVC Beans
Spring Web MVC defines several beans whose use is
shown in the springmvcstore template:
- Controllers: Responsible for receiving requests from the DispatcherServlet and building the related model upon receiving data from business facades or user input and returning an appropriate literal for the view.
- Handler Mappings: Responsible for mapping incoming web requests to handlers. Spring provides several handler mappings for common use cases, but new implementations can be defined by implementing the org.springframework.web.servlet.HandlerMapping interface.
- View Resolvers: Responsible for mapping a view name to a view. Spring provides several view implementations for use. Thespringmvcstore template utilizes JSP for the view technology.
- Locale Resolvers: Responsible for determining the Locale to use for a request. Spring provides several locale resolvers, including resolvers for inspecting the request accept header, cookie, and session.
- Theme Resolvers: Responsible for determining the theme to use for a request.
- Multipart File Resolvers: Responsible for handling file upload.
- Exception Resolvers: Responsible for mapping exceptions to views and implementation of exception handling code.
Class Interaction Flow diagram
This conceptualized interaction flow shows how a
request is made from the front-end:
The central part of this process uses controllers
which receive model and form objects from the Spring framework filled in by
users or some initialization logic. The controllers decide which view literal
they will switch to.
This interaction diagram shows a sample submit action:
Classes or stereotypes of classes accept actions during the POST
method being triggered from the front end. The Validator, Facade, Service, and Converter objects encompass the business logic of the
process.
Several
services from the hybris core are utilized in the Facade classes.
I really like this amazing post. Sbobet777 login, Online Slot, Joker688. Joker138, Joker Slot APK
ReplyDelete