1. Struts
Advantages: struts is an open-source software. In addition, the advantages of struts are mainly reflected in two aspects: taglib and page navigation. Taglib is the struts tag library, which can be used flexibly to greatly improve development efficiency. The page navigation makes the system context clearer. With a configuration file, you can grasp the relationship between all parts of the system.
Disadvantages:
1. Struts action must be thread-safe. It only allows one instance to process all requests. Therefore, all resources used by action must be synchronized in a unified manner, which causes thread security issues. 2. The test is inconvenient. Every action of Struts is coupled with the web layer, so that its test depends on the Web container, and unit test is difficult to implement. 3. the dependency on servlet is too strong. Struts must depend on servletrequest and servletresponse when processing the action. 4. Slow grasp of taglib
2. hibernate
Hibernate is an open-source object relationship ing framework that encapsulates JDBC objects in a lightweight manner, so that Java programmers can use the object programming thinking to manipulate the database as they wish.
Advantages: 1. hibernate uses the Java reflection mechanism instead of the bytecode enhancement program to achieve transparency. 2. hibernate has excellent performance because it is a lightweight framework. The flexibility of ing is excellent. 3. It supports various relational databases, from one-to-one to many-to-many complex relationships.
Disadvantages: 1. The key to the ing between objects and databases lies in the ing of object relations, but it is not ideal. Too many configurations, complicated control, and errors may occur. In fact, the essence is that the object is not free enough. 2. transaction processing. This is more prone to problems. Compatibility with various transaction managers is a big problem. There are always many problems on various application servers. In essence, it creates a small environment for self-data access and is bound to face various compatibility problems. 3. hql language. Creating an object query language is similar to SQL, but unlike any SQL, the debugging environment is complex. The essence is to create a language that increases learning costs.
3. Spring
Advantage A. Spring can effectively organize your intermediate layer objects. B. by reducing the cost of interface programming rather than class programming to almost none, spring can promote good programming habits. C. Spring is designed to minimize the reliance on its APIs for Applications created using it. Most business objects in spring applications do not depend on spring. D. Spring helps you solve many problems without using EJB. Spring can provide an EJB replacement, which is suitable for many web applications. For example, spring can use AOP to provide declarative transaction management instead of using EJB containers. If you only need to deal with a single database, you do not even need a JTA implementation. E. Spring provides a consistent framework for data access, whether using JDBC or O/R mapping products (such as Hibernate ).
Disadvantages: the number of users is small, the JSP needs to write a lot of code, the controller is too flexible, the lack of a public Controller