18125

Struts Framework

Лекция

Информатика, кибернетика и программирование

Тема 10: Struts Framework Apache Struts – це opensource framework для розробки Java EE web програм. В ньому використовується і розширюється Java Servlet API та надається базова інфраструктура для реалізації програми на основі шаблону проектування design pattern MVC. Базова платформа для використання Struts 2 вклю...

Украинкский

2013-07-06

175 KB

2 чел.


Тема 10: Struts Framework

Apache Struts – це open-source framework для розробки Java EE web програм. В ньому використовується і розширюється Java Servlet API та надається базова інфраструктура для реалізації програми на основі шаблону проектування (design pattern) MVC. Базова платформа для використання Struts 2 включає Servlet API 2.4, JSP API 2.0 та Java 5. Архітектура Struts є елегантною та гнучкою і базується на стандартних технологіях, таких, як Java Filters, Java Beans, ResourceBundles, XML тощо. 

Основна задача Struts полягає в реалізації MVC, тобто чіткого розділення model (логіки програми, яка може взаємодіяти з базою даних) від view (сторінок, що показуються у броузері користувача) та controller (компонентів, що передають інформацію між model та view і керують перебігом програми). Для model Struts може використовувати різноманіття технологій доступу до баз даних, таких, як  JDBC, JPA, Hibernate тощо, а view може базуватись на JSP, JTL, JSF, Jakarta Velocity Engine, Templates, PDF, XSLT тощо.

На рисунку зображено життєвий цикл обробки запиту від користувача програмою, що базується на Struts2. Запит надходить до сервлет-контейнера, такого, як Tomcat і потім проходить через стандартний ланцюг фільтрів.

ActionContextCleanUp та Other Filters (SiteMesh, etc) є необов’язковими. При виклику FilterDispatch перевіряється з використанням ActionMapper чи викликати Action (реалізація controller) чи ні. Якщо action повинен виконуватись, то FilterDispatcher передає керування ActionProxy. ActionProxy звертається до Configuration Files Manager, який бере дані з конфігураційного файлу struts-config.xml. Потім ActionProxy створює ActionInvocation, який реалізує собою шаблон команди. Процес ActionInvocation викликає Interceptors (перехоплювачі – якщо такі вказані) та потім викликає action. Потім ActionInvocation знаходить відповідний Result, який виконується, забезпечуючи формування результату, який побачить користувач з JSP чи іншого шаблону. Потім інтерсептори виконуються знову в зворотньому порядку. Нарешті, відповідь повертається через фільтри, описані в файлі web.xml.

Struts надає для використання controller (сервлет ActionServlet) і полегшує створення шаблонів для презентаційного рівня (зазвичай це JSP, але також можуть використовуватись XML/XSLT і Velocity). Розробник web програми повинен створити код model, а також створити основний конфігураційний файл struts.xml, в якому зв’язуються model, view і controller.

Приклад найпростішої програми з використанням Struts Framework.

Структуру програми можна побачити на рисунку:

Програма починається з файлу index.html, який перенаправляє подальше виконання на URL example/HelloWorld.action, який являє собою насправді action-об’єкт Struts:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<head>

   <META HTTP-EQUIV="Refresh" CONTENT="0;URL=example/HelloWorld.action">

</head>

<body>

<p>Loading ...</p>

</body>

</html>

URL example/HelloWorld.action описується в файлі struts.xml – спеціальному конфігураційному файлі Struts, який повинен знаходитись в папці WEB-INF/classes. Приклад файлу:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />

<constant name="struts.devMode" value="true" />

<package name="example" namespace="/example" extends="struts-default">

 <action name="HelloWorld" class="org.chdtu.trystruts.Struts2HelloWorld">

  <result>/pages/HelloWorld.jsp</result>

 </action>

</package>

</struts>

Елемент action, який виконує функцію контроллера, має вигляд:

package org.chdtu.trystruts;

import com.opensymphony.xwork2.ActionSupport;

import java.util.Date;

public class Struts2HelloWorld extends ActionSupport {

   public static final String MESSAGE = "Struts 2 Hello World!";

   public String execute() throws Exception {

       setMessage(MESSAGE);

       return SUCCESS;

   }

   private String message;

   public void setMessage(String message){

       this.message = message;

   }

   public String getMessage() {

       return message;

   }

 public String getCurrentTime(){

     return new Date().toString();

 }

}

При передачі йому керування автоматично виконується метод execute(). В Struts2 екземпляр action створюється для кожного запиту і знищується зразу після завершення запиту.

JSP сторінка виведення результату HelloWorld.jsp:

<%@ page contentType="text/html; charset=UTF-8" %>

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Struts 2 Hello World Application!</title>

</head>

<body>

<h2><s:property value="message" /></h2>

<p>Current date and time is: <b><s:property value="currentTime"/></b>

</body>

</html>


 

А также другие работы, которые могут Вас заинтересовать

45226. Кодексы профессионального поведения профессиональных зарубежных сообществ: этическая основа, ценностно-нормативная специфика 61.5 KB
  Положения кодекса приняты с целью пропаганды и активного внедрения высоких стандартов общественной деятельности и этики поведения членов РRSА. Член обязан сохранять в тайне конфиденциальную информацию доверенную ему нынешними или бывшими клиентами или служащими. Член не должен представлять интересы одной из конфликтующих сторон без согласия на то всех заинтересованных сторон. Член не должен заниматься никакой деятельностью которая имеет тенденцию к нанесению ущерба репутации СМИ.
45227. Кодекс профессионального поведения российского корпоративного сообщества ПР-специалистов: этическая основа, ценностно-нормативная специфика 31 KB
  Декларация профессиональных и этических принципов в области связей с общественностью РАСО. В основу поведений членов РАСО легли общечеловеческие ценности и универсальные права личности: свобода слова свобода печати и собраний на свободный доступ к информации; ответственность перед обществом в том числе за достоверность точность и честность распространяемой информации. Члены РАСО руководствуются пониманием важности формирования и внедрения этических ориентиров и профессиональных стандартов деятельности. Для контроля за соблюдением членами...
45228. Типовая структура, принципы организационного строения и функции подразделений корпоративной PR-службы 25.5 KB
  Деятельность PRотдела строится в соответствии с целями и задачами компании; цели могут быть краткосрочные среднесрочные и долгосрочные. должен оперативно получать информацию от других подразделений компании для реализации поставленных задач. должен принимать участие в планировании мероприятий с участием руководства компании которые будут иметь общественный резонанс. Принципы организационного строения: PRотдел создается как один из системообразующих элементов который в полном объеме выполняет функции PR и рассматривается в качестве...
45229. Деятельность консалтингового агентства: приоритеты, технологии, преимущества и недостатки 24.5 KB
  Направления консалтинговой деятельности: экономическая сфера – управленческий консалтинг; социальная сфера организация систем образования здравоохранения культуры; правовая сфера создание правовой базы организации юридическое консультирование; сфера культуры политическое консультирование консультирование по вопросам функционирования культурных организаций; экологическая сфера социальная экология экология человека.
45230. Аудитория ПР-коммуникаций: технологии выявления, характеристики и формирование 27.5 KB
  В качестве аудитории рассматривается некоторая совокупность реальных или потенциальных потребителей проявляющих сходные черты потребительского поведения и характеризующихся одинаковой реакцией на маркетинговые мероприятия. Критерии определения целевой аудитории: в ее состав включаются те соц. Характеристика целевых и контактных групп: Задачи данного этапа определить причины возможной потребительской мотивации аудитории; понять источник нормативной активности аудитории т. Определение аудитории.
45231. Спрос как базовая характеристика нормативного потребительского поведения аудитории: механизмы и технологии формирования 45 KB
  Можно обозначить следующие механизмы и технологии формирования спроса: Стимулирование спроса выгодной сделкой. Расширение спроса как правило происходит за счет случайных и непостоянных потребителей. Если же речь идет о товарах широкого спроса то целевая группа весьма неопределенна в своих границах а потенциалы контактных аудиторий значительны.
45232. Внутренняя аудитория коммуникативного воздействия: технология определения, характеристика сегментов, цели и задачи коммуникации 22 KB
  Внутренняя аудитория коммуникативного воздействия: технология определения характеристика сегментов цели и задачи коммуникации Внутренняя аудитория – персонал организации. Технология определения: Технология определения аудитории зависит от целей и задач коммуникации. Для достижения определенных целей и задач коммуникации требуется сегментирование аудитории выделение аудитории для тренинга и т. Характеристика сегментов: Существуют следующие критерии сегментирования: уровень профессиональной коммуникации.
45233. Понятие, сущность и структура корпоративной культуры 24.5 KB
  Мотивация персонала существуют силовая и демократическая модели мотивации. В силовой модели в основании пирамиды лежат административные санкции материальное стимулирование ограничено стоимостными показателями каждой группы социально-психологические стимулы карьерный рост профессиональное признание 3. В демократической модели все наоборот: социальнопсихологические стимулы престиж профессии дающий признание 1 материальное стимулирование привязано к образованию квалификации опыту 2 административные санкции...
45234. Фирменный стиль организации: функции, структура, этапы и технологии разработки 42.5 KB
  В содержательном плане фирменный стиль - это совокупность визуальных графических цветовых пластических и акустических приемов придающих стилевое единство всем составляющим деятельности фирмы: ее продукции менеджменту маркетинговой политике и тактике персоналу. В узком смысле фирменный стиль – это цветовая и графическая марка фирмы и товара которая используется в рекламе и оформлении деловых бумаг. В широком смысле фирменный стиль это единый принцип оформления марки фирмы и товара деловых бумаг и документации офиса и внешнего вида...