Pop Framework (or shortly, Pop) is a bean-based MVC framework for Java/J2EE web applications. Similar to other frameworks, Pop implements IoC, Dependency Injection, and AOP. Pop also provides some annotations for users to define and reference a bean. The difference is that the Pop can help users to customize a bean, a scope, a factory and a reference in object-oriented way.
The 2nd major difference between Pop and other MVC framework is that the beans can be referenced by MVC of Pop directly. In viewpoint of Pop MVC, the model of a web page (such as a JSP or a servlet) is a bean. The JSP/servlet itself is considered as a view of the bean. The model provides the data for the view, the view is responsible for rendering the data. The Pop itself acts as the general-purposed controller for all views and models.
The 3rd major difference is that the hyperlink in Pop is represented by bean reference instead of URL. You can, for example, set the href of an <a> to a bean name, in a JSP or a servlet. That means, when the <a> is clicked by an end-user in a browser, the Pop in server-side will try to look for the bean of that name. If the bean is found, the corresponding view for the bean will be rendered to the client-side along with the data the bean provides.
By this way, a view needn't to know about any other models/views including those it comes from and those it will go to, needn't to worry about the number and the types of the parameters it transfers to or gets from other models/views. The only task of a view is to decorate and render the data the model provides. View developers and model developers can therefore focus on their own works. Models and views are all loosely coupled, and can be developed in parallel. Each view and each model can therefore be maintained and optimized independently.
Because models and views are loosely coupled in Pop, a model can have multiple views. The views in different devices can therefore share a same model. And moreover, you can provide multiple languages of views for a same model without necessary to worry about how to update the corresponding hyperlinks defined in other views.