fy"> - screendefinitions.jsp визначає субкомпоненти, використовувані кожним екраном. Всі екрани мають один і той же банер, але різні заголовки і вміст тіла;  
 Dispatcher - сервлет, обробний запити і перенаправляє їх у template.jsp. 
  Нарешті, для виконання управління передачею Web-клієнт використовує три логічних тега (iterate, equal і notEqual) з бібліотеки тегів Struts, розглянутої в розділі Приклади JSP-сторінок. 
    8.2 Цикл життя Web-клієнта  
   Ініціалізація компонентів клієнта Відповідальність за управління корпоративними компонентами, використовуваними Web-клієнтом, лежить на класі BeanManager. Він створює корпоративні компоненти користувача, рахунки і контролера транзакцій, а також надає методи для вилучення компонентів. p align="justify"> При створенні екземпляра BeanManager витягує домашній інтерфейс для кожного компонента з допоміжного класу EJBGetter і створює екземпляр за допомогою виклику методу create домашнього інтерфейсу. Оскільки це функція рівня додатка, BeanManager сам створюється і зберігається за першої ініціалізації клієнта об'єктом ContextListener (див. розділ Обробка подій циклу життя сервлета) як контекст атрібута.class BeanManager {
  private CustomerController custctl; 
  private AccountController acctctl; 
  private TxController txctl; 
  public BeanManager () {
  if (custctl == null) {
  try {
  CustomerControllerHome home = 
  EJBGetter.getCustomerControllerHome (); 
  custctl = home.create (); 
 } catch (RemoteException ex) {
  System.out.println ("..."); 
 } catch (CreateException ex) {
  System.out.println (); 
 } catch (NamingException ex) {
  System.out.println (); 
				
				
				
				
			 } 
 } 
  public CustomerController getCustomerController () {
  return custctl; 
 } 
  ... 
 } 
  final class ContextListener 
  implements ServletContextListener {
  private ServletContext context = null; 
  ... 
  public void contextInitialized (ServletContextEvent event) {
  this.context = event.getServletContext (); 
  context.setAttribute ("beanManager", 
  new BeanManager ()); 
  context.log ("contextInitialized ()"); 
 } 
  ... 
 } 
  Обробк...