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


Statement
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
JVM performance vs other languagesJVM performance vs other languagesMay 14, 2025 am 12:16 AM

JVM'sperformanceiscompetitivewithotherruntimes,offeringabalanceofspeed,safety,andproductivity.1)JVMusesJITcompilationfordynamicoptimizations.2)C offersnativeperformancebutlacksJVM'ssafetyfeatures.3)Pythonisslowerbuteasiertouse.4)JavaScript'sJITisles

Java Platform Independence: Examples of useJava Platform Independence: Examples of useMay 14, 2025 am 12:14 AM

JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM),allowingcodetorunonanyplatformwithaJVM.1)Codeiscompiledintobytecode,notmachine-specificcode.2)BytecodeisinterpretedbytheJVM,enablingcross-platformexecution.3)Developersshouldtestacross

JVM Architecture: A Deep Dive into the Java Virtual MachineJVM Architecture: A Deep Dive into the Java Virtual MachineMay 14, 2025 am 12:12 AM

TheJVMisanabstractcomputingmachinecrucialforrunningJavaprogramsduetoitsplatform-independentarchitecture.Itincludes:1)ClassLoaderforloadingclasses,2)RuntimeDataAreafordatastorage,3)ExecutionEnginewithInterpreter,JITCompiler,andGarbageCollectorforbytec

JVM: Is JVM related to the OS?JVM: Is JVM related to the OS?May 14, 2025 am 12:11 AM

JVMhasacloserelationshipwiththeOSasittranslatesJavabytecodeintomachine-specificinstructions,managesmemory,andhandlesgarbagecollection.ThisrelationshipallowsJavatorunonvariousOSenvironments,butitalsopresentschallengeslikedifferentJVMbehaviorsandOS-spe

Java: Write Once, Run Anywhere (WORA) - A Deep Dive into Platform IndependenceJava: Write Once, Run Anywhere (WORA) - A Deep Dive into Platform IndependenceMay 14, 2025 am 12:05 AM

Java implementation "write once, run everywhere" is compiled into bytecode and run on a Java virtual machine (JVM). 1) Write Java code and compile it into bytecode. 2) Bytecode runs on any platform with JVM installed. 3) Use Java native interface (JNI) to handle platform-specific functions. Despite challenges such as JVM consistency and the use of platform-specific libraries, WORA greatly improves development efficiency and deployment flexibility.

Java Platform Independence: Compatibility with different OSJava Platform Independence: Compatibility with different OSMay 13, 2025 am 12:11 AM

JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM),allowingcodetorunondifferentoperatingsystemswithoutmodification.TheJVMcompilesJavacodeintoplatform-independentbytecode,whichittheninterpretsandexecutesonthespecificOS,abstractingawayOS

What features make java still powerfulWhat features make java still powerfulMay 13, 2025 am 12:05 AM

Javaispowerfulduetoitsplatformindependence,object-orientednature,richstandardlibrary,performancecapabilities,andstrongsecurityfeatures.1)PlatformindependenceallowsapplicationstorunonanydevicesupportingJava.2)Object-orientedprogrammingpromotesmodulara

Top Java Features: A Comprehensive Guide for DevelopersTop Java Features: A Comprehensive Guide for DevelopersMay 13, 2025 am 12:04 AM

The top Java functions include: 1) object-oriented programming, supporting polymorphism, improving code flexibility and maintainability; 2) exception handling mechanism, improving code robustness through try-catch-finally blocks; 3) garbage collection, simplifying memory management; 4) generics, enhancing type safety; 5) ambda expressions and functional programming to make the code more concise and expressive; 6) rich standard libraries, providing optimized data structures and algorithms.

See all articles

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 Article

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools