We know that a portal page includes theme, a layout template, one or multiple portlets arranged in a grid-like column structure of the layout template. These three layers of abstraction control the look and feel of a portal page and how the portlet contents are arranged in the column layout. Now let's take a look at the code flow and explain how these components work together during a portal page rendering process.
Liferay Portal is implemented in Struts and includes a Main Servlet with
com.liferay.portal.servlet.MainServlet as registered below in
<servlet> <servlet-name>Main Servlet</servlet-name> <servlet-class>com.liferay.portal.servlet.MainServlet</servlet-class> ...