Home Java javaTutorial Introduction to the three major frameworks of java

Introduction to the three major frameworks of java

Feb 06, 2017 am 11:45 AM

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)!


Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Break or return from Java 8 stream forEach? Break or return from Java 8 stream forEach? Feb 07, 2025 pm 12:09 PM

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

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

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

PHP vs. Python: Understanding the Differences PHP vs. Python: Understanding the Differences Apr 11, 2025 am 12:15 AM

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 vs. Other Languages: A Comparison PHP vs. Other Languages: A Comparison Apr 13, 2025 am 12:19 AM

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

Java Program to Find the Volume of Capsule Java Program to Find the Volume of Capsule Feb 07, 2025 am 11:37 AM

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 vs. Python: Core Features and Functionality PHP vs. Python: Core Features and Functionality Apr 13, 2025 am 12:16 AM

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

Create the Future: Java Programming for Absolute Beginners Create the Future: Java Programming for Absolute Beginners Oct 13, 2024 pm 01:32 PM

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.

PHP: The Foundation of Many Websites PHP: The Foundation of Many Websites Apr 13, 2025 am 12:07 AM

The reasons why PHP is the preferred technology stack for many websites include its ease of use, strong community support, and widespread use. 1) Easy to learn and use, suitable for beginners. 2) Have a huge developer community and rich resources. 3) Widely used in WordPress, Drupal and other platforms. 4) Integrate tightly with web servers to simplify development deployment.

See all articles