SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
Области видимости данных
План урока
• Стандартные области видимости
• Проблема избыточности данных
• Добавление областей в SWF
Стандартные области видимости
(спецификация сервлета)
• Application – глобальная видимость для всех
компонентов приложения
• Session – видимость внутри сессии, уникально для
каждого пользователя, сохранение данных между
запросами
• Request – видимость только в текущем запросе, в
следующем запросе данные уже недоступны
Уменьшение области
видимости
Проблема
• Не оптимальный набор областей видимости, часто создается избыточность
Области видимости SWF
• Conversation – видимость в пределах основного потока и всех
подпотоков
• Flow – создается внутри потока, видимость только в текущем потоке,
уничтожается после окончания потока
• Flash – создается внутри потока, очищается при достижении view-state,
уничтожается после завершения потока, используется для временных
данных, которые нужны только на один раз
• View – создается при входе в view-state и доступно только внутри view-
state, очищается при переходе из view-state
• Request – создается при вызове потока, уничтожается после
завершения потока
• В зависимости от места создания переменной – присваивается scope
(если не указан вручную)
Уменьшение области
видимости
Схема
Форма
аутентификации
Проверка
данных
Страница с
данными
ошибка
успешно
конец
Форма
регистрации
Создание
аккаунта
Поток create-user.xml
Поток login.xml
Пользователь созданОтмена
Схема
Форма
аутентификации
Проверка
данных
ошибка
успешно
конец
Форма
регистрации
Создание
аккаунта
Поток create-user.xml
Поток login.xml
Пользователь
создан
Отмена
Flow scope
Flow scope
Страница с
данными
Conversation scope
Области видимости SWF
Название Создается Очищается Уничтожается Применение
Conversation Поток верхнего
уровня
Завершение
главного потока
Глобальный доступ
внутри потока и
подпотоков
Flow Запуск потока Завершение потока Доступ только
внутри одного
потока
Flash Запуск потока После отображения
view (view-render)
Завершение потока Временные данные,
которые нужно
показать только 1
раз
View Вход в view-state Выход из view-state Локальные данные
для одного view-
state
Request Вызов потока Завершение потока Параметры при
вызове потока для
использования
внутри потока
Домашнее задание
• Прочитать PDF презентацию
• Разделы:
• 3.9. Variable Scopes
• 4.4. Special EL variables
• Показать на нашей схеме FlashScope и ViewScope

Mais conteúdo relacionado

Mais de Roman Brovko

Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task NetworkingRoman Brovko
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3Roman Brovko
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernetRoman Brovko
 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2Roman Brovko
 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1Roman Brovko
 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flashRoman Brovko
 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2CRoman Brovko
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uartRoman Brovko
 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorRoman Brovko
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwmRoman Brovko
 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsRoman Brovko
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_worldRoman Brovko
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisitesRoman Brovko
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advancedRoman Brovko
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advancedRoman Brovko
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advancedRoman Brovko
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окруженияRoman Brovko
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advancedRoman Brovko
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basicsRoman Brovko
 

Mais de Roman Brovko (20)

Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task Networking
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernet
 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2
 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1
 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flash
 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2C
 
Glesk worshop
Glesk worshopGlesk worshop
Glesk worshop
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uart
 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensor
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwm
 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttons
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_world
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisites
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advanced
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advanced
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advanced
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окружения
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advanced
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basics
 

134 - Spring. Области видимости данных