Introduction to the three major frameworks of java
I often hear people mention the three major frameworks. Regarding the three major frameworks, I have the following understanding:
Three major frameworks: Struts+Hibernate+Spring
The three major frameworks of java are mainly used for WEN application.
Struts is mainly responsible for the display of the presentation layer
Spring uses its IOC and AOP to handle the control business (responsible for the operation of the database)
Hibernate mainly persists data to the database
When using jsp servlet for web development, there is a web.xml There is a mapping tag in the mapping file, which is used for file mapping. When you enter the URL in the browser, the file will be mapped to a JAVA file according to the name you wrote. According to the content written in the java file, it will be displayed on the browser, which is a web page.
1. Struts framework:
struts is open source software. The purpose of using Struts is to help us reduce the time in developing Web applications using the MVC design model. If we want to mix the advantages of Servlets and JSP to build scalable applications, struts is a good choice.
1. Process: After the server is started, the ActionServlet is loaded according to web.xml and reads the contents of the struts-config.xml file into the memory.
2. Architecture: Struts provides corresponding components for Model, View and Controller. ActionServlet, this class is the core controller of Struts and is responsible for intercepting requests from users.
Model part: It is composed of JavaBean. ActionForm is used to encapsulate the user's request parameters and encapsulate them into ActionForm objects. This object is forwarded to Action by ActionServlet, and Action is based on the request in ActionFrom. Parameters handle the user's request. JavaBean encapsulates the underlying business logic, including database access, etc.
View part: This part is implemented using JSP. Struts provides a rich tag library, which can reduce the use of scripts. Customized tag libraries can achieve effective interaction with the Model and add real-life functions. Corresponds to the JSP part of the picture above.
Controller component: The Controller component consists of two parts - the system core controller and the business logic controller. The core controller of the system corresponds to the ActionServlet in the picture above. This controller is provided by the Struts framework and inherits the HttpServlet class, so it can be configured as an annotated Servlet. This controller is responsible for intercepting all HTTP requests and then deciding whether to transfer them to the business logic controller based on user requests. The business logic controller is responsible for processing user requests. It does not have the processing capabilities itself, but calls the Model to complete the processing. Corresponds to the Action part.
two. Spring Framework
Spring is a powerful framework that solves many common problems in J2EE development. Springle provides a consistent way of managing business objects and encourages the good habit of programming to interfaces rather than classes. The architectural foundation of Spring is based on the Inversion of Control container using JavaBean properties. However, Spring is unique in using IoC containers as a complete solution for building a solution that focuses on all architectural layers. Spring provides the only data management abstraction including a simple and efficient JDBC framework, greatly improving efficiency and reducing possible errors. Spring's data access architecture also integrates Hibernate and other O/R mapping solutions.
three. Hibernate framework
Hibernate is an open source object-relational mapping framework. It provides lightweight object encapsulation for JDBC, allowing Java programmers to use objects as ideas to operate the database as they wish. Hebernate can be used in any situation where JDBC is used, either in Java client programs or in Servlet/JSP Web applications. The most revolutionary thing is that Hibernate can replace CMP in the J2EE architecture that uses EJB. Complete the important task of data persistence
Hibernate has a total of 5 core interfaces, namely: Session, SessionFactory, Transaction, Query and Configuration. These 5 core interfaces will be used in any development. Through these interfaces, not only can persistent objects be accessed, but also transaction control can be performed. These five core interfaces are introduced below.
1. Session interface: Responsible for executing CRUD operations on persisted objects (CRUD's task is to complete communication with the database, including many common SQL statements.). But it should be noted that the Session object is not thread-safe. At the same time, Hibernate's session is different from HttpSession in JSP applications. When the term session is used here, it actually refers to the session in Hibernate, and the HttpSession object will be called the user session in the future.
2. SessionFactory interface: Responsible for initializing Hibernate. It acts as a proxy for the data storage source and is responsible for creating Session objects. The factory pattern is used here. It should be noted that SessionFactory is not lightweight, because generally, a project usually only needs one SessionFactory. When multiple databases need to be operated, a SessionFactory can be specified for each database.
3. Configuration interface: Responsible for configuring and starting Hibernate and creating SessionFactory objects. During the startup process of Hibernate, the instance of the Configuration class first locates the mapping document location, reads the configuration, and then creates the SessionFactory object.
4. Transaction interface: Responsible for transaction-related operations. It is optional, developers can also design and write their own low-level transaction processing code.
5. Query and Criteria interface: Responsible for executing various database queries. It can use two expression methods: HQL language or SQL statement.
The above is the introduction of the three major frameworks of Java. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Guide to Smith Number in Java. Here we discuss the Definition, How to check smith number in Java? example with code implementation.

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

Guide to TimeStamp to Date in Java. Here we also discuss the introduction and how to convert timestamp to date in java along with examples.

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

Java is a popular programming language that can be learned by both beginners and experienced developers. This tutorial starts with basic concepts and progresses through advanced topics. After installing the Java Development Kit, you can practice programming by creating a simple "Hello, World!" program. After you understand the code, use the command prompt to compile and run the program, and "Hello, World!" will be output on the console. Learning Java starts your programming journey, and as your mastery deepens, you can create more complex applications.
