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 ()");
}
...
}
Обробк...