Originally posted by Cameron McKenzie: Portlets run within a portlet container. It's still there.
Please have a look at page 20 of Java Portlet Specification Version 1.0. And my question is not about portlet, it's about portal server and portlet container. Does portal server contian portlet container (like web server contains servlet container or web container)???
You might be getting hung up on semantics too much.
Strictly speaking, a web server does not have a servlet engine or container. A web server handles http requests, and maps those requests to files. Requests for Servlets or JSP's are then directed to an application server such as Tomcat. Apache is a web server, and it does not contain a Servlet engine.
Portlets run in a portlet container. All the services of the portal server are provided to a portlet through the container. Without the container, a portlet could not run.
If you're quoting the spec, here's a snippet from the JSR286 specification (Portal 2.0)
A portlet container runs portlets and provides them with the required runtime environment. A portlet container contains portlets and manages their lifecycle. It also provides persistent storage for portlet preferences. A portlet container receives requests from the portal to execute requests on the portlets hosted by it. A portlet container is not responsible for aggregating the content produced by the portlets. It is the responsibility of the portal to handle the aggregation. A portal and a portlet container can be built together as a single component of an application suite or as two separate components of a portal application.
If a portal server runs portlets, it needs a portlet container. I guess, theoretically, you could have a portal server that doesn't run portlets, in which case, I guess it wouldn't need a portlet container. Of course, what good would a portal server be if it didn't run portlets?