Язык SQL

Частичная реализация класса MultiCustomerServlet


Метод restoreContext (строки 6—17) отвечает за восстановление значений переменной контекста (customerEditor) из предыдущего сеанса. Если же предыдущего сеанса не существует, то метод restoreContext создает объект сеанса, новый объект контекста и затем запоминает объект контекста в объекте сеанса. Вызов метода getSession (строка 7) возвращает сохраненный объект сеанса, связанный с данным запросом, если он был создан; в противном случае, он создает новый сеанс. Вызов с аргументом false возвращает null, если для данного пользователя не было создано сеансов.

Если сеанс, возвращенный в строке 7, является новым сеансом, необходимо создать новый контекст и сохранить его в сеансе. В строке 9 создается новый объект customerEditor для использования в качестве контекста этого нового сеанса. Так как новый сеанс уже создан, требуется только сохранить новый объект в этом сеансе (строка 11).

Если вызов в строке 7 возвращает ранее созданный объект сеанса, то данный пользователь имеет уже существующий контекст, который можно использовать. Сервлет извлекает сохраненный объект из объекта сеанса и запоминает его в переменной контекста (строки 14 и 15). Таким образом, объект контекста восстановлен.

Новая версия метода doPost (строки 18—23) отличается от версии на 10.7 только строкой 21, где происходит вызов метода restoreContext. Как только происходит восстановление значения члена customerEditor, выполнение кода продолжается так же, как и в случае с единственным значением контекста. Дальнейшие изменения не нужны!

Предшествующие рассуждения и приведенный пример можно рассматривать, как подготовку к реализации приложений баз данных, но изложение еще не является по- настоящему полным. При создании профессионального приложения следует уделить внимание проблеме надежности и обработки ошибок. В нем необходимо использовать определенную модель безопасности, включающую в себя использование регистрационного имени и кодирование. Приложение также должно управлять режимом бездеятельности сеансов и ситуациями простоя. Основная проблема в рассмотренном примере приложения состоит в преодолении присущих языку HTML ограничений пользовательского интерфейса. Вероятно, потребуется применение Java-эплетов, языка сценариев JavaScript или динамического языка HTML для создания надежного с точки зрения пользователя интерфейса.

Как упоминалось ранее, к разработке программного обеспечения применимо правило 90/10. Оно гласит, что 90% функциональных возможностей программы осуществляется с помощью 10% кода и, наоборот, для описания 10% поведения программы требуется 90% всей работы. Обработка ошибок является частью этих “упрямых” 10%. Модификация правильно работающего с правильным входом приложения, направленная на то, чтобы оно работало правильно и надежно все время, зачастую занимает в 10 раз больше времени, чем исходная разработка.

 

Комментарии закрыты