| The information intercourse, information transfer and information obtaining has become a necessary course for human life. Information transferred via computer networks provides enterprises with more business opportunities. Commercial applications based on web platform become a critical factor of success in business. Most existing web applications are using B/S architecture based on J2EE. These applications can be broken down into five layers, i.e. client layer, presentation layer, business layer, persistence layer and database layer. Web applications developed by this architecture are built on component-based design and modular implementation. There are various implementation methods for different layers, among which software framework is widely used in web applications. Struts and Hibernate are open source frameworks and commonly used.Struts is a web development methodology base on model 2 design pattern which is an implementation of MVC and other major J2EE design patterns. It provides developers with a unified model for design and coding. It reduces the maintenance cost as well. Hence it is suitable for large and scalable web applications. However, Struts just provides a way to separate presentation layer, business layer and control layer and it does not natively support complex data persistence. Hibernate is a framework for flexible data persistence. Thus, we can combine the above two architectures to obtain a comprehensive solution for web applications which can achieve low-cost development, integration and maintenance at the same time.This paper consists of five sections: Section 1 introduces the background of this topic and briefs the E-WORK system. Section 2 gives an analysis of J2EE and MVC design pattern and lists their pros and cons. Section 3 first introduces Struts and Hibernate which are widely used in data persistence. By combining the Struts and Hibernate, the E-WORK system is proposed and its advantage is analyzed. Section 4 describes the functionality and design of each module. Section 5 uses a sub-module to show the implementation of Struts and Hibernate frameworks in real application. A summary of development experience and suggestion for future improvement are also given in Section 5. |