A Translation Unit is a set of pages that will be translated into a single
servlet.
So... when you use a static include (<%@ include file="blah.jsp" %> -- that page is combined with the initial page at translation time - and is compiled into a single servlet.
When you use a dynamic include (<jsp:include page="blah.jsp" %> -- the OUTPUT of that page is combined with the initial page at request time -- and are two seperate servlets.
* the PageContext scope makes variables available for that particular translation unit.
* You can't define the same variable more than once in a single transaltion unit.
* You can't define the same bean <jsp:useBean> more than once in a single translation unit.