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