Spring MVC principle

Source: Internet
Author: User

Summary: Spring MVC workflow Flowchart

Spring MVC Workflow Flowchart

Figure A

650) this.width=650; "src=" Http://img.my.csdn.net/uploads/201304/13/1365825529_4693.png "style=" border:none; Margin:auto;height:auto; "/>

Figure II

650) this.width=650; "src=" Http://img.my.csdn.net/uploads/201304/13/1365825551_8302.png "style=" border:none; Margin:auto;height:auto; "/>

Development tools

1.Eclipse IDE: Using MAVEN project management, modular.

2. Code generation: Through the interface mode simple configuration, automatically generate the corresponding code, currently includes three ways to generate (add and revise): Single table, one-to-many, tree structure. After the generated code, if you do not need to pay attention to the degree of beauty, after the build can be used.

Technology selection (only part of the technology is listed)

1, back-end

Service Framework: Dubbo, Zookeeper, rest services

Cache: Redis, Ehcache

Message middleware: ActiveMQ

Load balancing: Nginx

Distributed files: Fastdfs

Database connection pool: Alibaba Druid 1.0

Core Framework: Spring framework

Security framework: Apache Shiro 1.2

View Frame: Spring MVC 4.0

Server-side validation: Hibernate Validator 5.1

Layout frame: Sitemesh 2.4

Workflow Engine: Activiti 5.15

Task Scheduler: Quartz 1.8.5

Persistence Layer Framework: MyBatis 3.2

Log management: slf4j 1.7, log4j

Tool classes: Apache Commons, Jackson 2.2, Xstream 1.4, dozer 5.3, POI

2. Front-end

JS Frame: JQuery 1.9.

CSS Framework: Bootstrap 4 Metronic

Client-side validation: JQuery Validation Plugin.

Rich Text: Ckecitor

File Management: Ckfinder

Dynamic tab: Jerichotab

Data table: Jqgrid

dialog box: JQuery jbox

Tree structure controls: JQuery Ztree

Other components: Bootstrap 4 metronic

3. Support

Server middleware: Tomcat 6, 7, Jboss 7, WebLogic 10, WebSphere 8

Database support: Currently only support MySQL database, but not limited to the database, the next version of the upgrade multi-data source switching and database read and write separation: Oracle, SQL Server, H2, etc.

Support development environment: Eclipse, MyEclipse, Ras, idea, etc.

Classic Introduction:

SOURCE structure

650) this.width=650; "src=" Https://static.oschina.net/uploads/img/201702/07182502_Paoc.png "style=" border:none; Margin:auto;height:auto; "alt=" 07182502_paoc.png "/>

Spring Workflow Description

1. The user sends the request to the server, the request is captured by the spring front-end control Servelt Dispatcherservlet;

2. Dispatcherservlet parses the request URL and obtains the request resource Identifier (URI). Then, according to the URI, call handlermapping to get all the related objects of the handler configuration (including the handler object and the interceptor corresponding to the handler object), and finally return as a Handlerexecutionchain object;

3. Dispatcherservlet choose a suitable handleradapter based on the handler obtained. ( note : If Handleradapter is successfully obtained, the Interceptor Prehandler (...) will start executing. Method

4. Extract the model data from the request, populate the handler entry, and start executing the handler (Controller). In the process of populating the handler, depending on your configuration, spring will do some extra work for you:

Httpmessageconveter: Converts a request message (such as JSON, XML, and so on) into an object, converting the object to the specified response information

Data transformation: Data conversion for a request message. such as string conversion to Integer, double, etc.

Data is initialized: Data is formatted for the request message. such as converting a string into a formatted number or a formatted date

Data validation: Verifying the validity of the data (length, format, etc.), and verifying that the results are stored in Bindingresult or error

5. After the completion of handler execution, return a Modelandview object to Dispatcherservlet;

6. Based on the returned Modelandview, select a suitable viewresolver (must be a viewresolver already registered in the spring container) to return to Dispatcherservlet;

7. Viewresolver combine model and view to render the view

8. Return the rendering results to the client.

Spring Workflow Description

Why does spring use only one servlet (Dispatcherservlet) to handle all requests?

Detailed view of the Java EE design mode-front-end control mode

Why does spring use handlermapping and Handleradapter to deal with handler?

Conforms to the single-object-oriented principle of responsibility, code architecture is clear, easy to maintain, and most importantly, code reusability is high. such as handleradapter may be used to handle a variety of handler.

Welcome to study the relevant technology to learn about the framework of technology or the source of friends directly add to seek (Penguin): 2042849237


Spring MVC principle

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.