Статьи

Начало работы с Play Framework

Пришло время протестировать Play Framework, и я постараюсь сделать несколько постов во время моих тестов об этом веб-фреймворке. Play Framework — это платформа для создания веб-приложений на Java. Основными целями этой структуры являются (согласно официальному сайту):

  • Горячая перезагрузка : вы можете редактировать файлы Java и HTML, и вам просто нужно обновить браузер, чтобы увидеть результаты
  • Модель без сохранения состояния : Play готов к REST, его можно масштабировать, запустив несколько экземпляров одних и тех же приложений на нескольких серверах.
  • Эффективная система шаблонов : система шаблонов действительно проста в использовании на основе Groovy.
  • Быстрое устранение ошибок : при возникновении ошибки Play отображает исходный код непосредственно в браузере вместе с местом ошибки
  • Интеграция : Play обеспечивает интеграцию с Hibernate, OpenID, MemCached и другими популярными фреймворками
  • Чистая Java : вы создаете только Java и HTML, больше не нужно учиться и вы легко интегрируетесь в IDE.
  • Быстрый : запуск приложения очень быстрый, как и рендеринг страниц.

В этом посте мы увидим, как установить Play Framework и как написать наш первый Hello World.

Установить Play Framework

Перед установкой Play Framework вам потребуется Java 5.0 или более поздняя версия. Затем вы можете скачать выпуск Play: http://download.playframework.org/releases/ . Последнее, когда я написал этот пост — версия 1.0.3. Итак, давайте загрузим эту версию. После этого просто разархивируйте данный архив туда, куда вы хотите установить фреймворк. После этого вам просто нужно добавить команду воспроизведения к пути.

В Ubuntu 10.04 мне пришлось сделать следующее:

PLAY_HOME=/usr/share/apps/play/
PATH=$PATH:$PLAY_HOME
chmod +x PLAY_HOME/play

В зависимости от вашей конфигурации вам, возможно, придется использовать sudo для команды chmod. Для других систем (Windows и Mac) вы также должны добавить play (play.bat для Windows) к пути, используя конфигурацию системы.

И обычно после этого вы можете выполнить команду воспроизведения:

wichtounet@Linux-Desktop:~$ play
~ _ _
~ _ __ | | __ _ _ _| |
~ | '_ \| |/ _' | || |_|
~ | __/|_|\____|\__ (_)
~ |_| |__/
~
~ play! 1.0.3, http://www.playframework.org
~
~ Usage: play cmd [app_path] [--options]
~
~ with, new Create a new application
~ run Run the application in the current shell
~ help Show play help
~
wichtounet@Linux-Desktop:~$

Создание нового приложения

Чтобы создать новое приложение, вам просто нужно использовать команду

играть новое имя_приложения

Вы должны находиться в папке, где можно создать папку с именем app_name. Например, давайте создадим новое приложение «привет»:

wichtounet@Linux-Desktop:~/dev/play$ play new hello
~ _ _
~ _ __ | | __ _ _ _| |
~ | '_ \| |/ _' | || |_|
~ | __/|_|\____|\__ (_)
~ |_| |__/
~
~ play! 1.0.3, http://www.playframework.org
~
~ The new application will be created in /home/wichtounet/dev/play/hello
~ What is the application name? Hello World
~
~ OK, the application is created.
~ Start it with : play run hello
~ Have fun!
~
wichtounet@Linux-Desktop:~/dev/play$

Во время создания Play спросит у вас название приложения. Здесь я поместил «Hello World» в качестве названия приложения. Если вы войдете в новую созданную папку приложения, вы увидите указанные папки:

  • app : само приложение, классы Java и файлы HTML
  • conf : конфигурация приложения
  • lib : содержит библиотеки Java, необходимые приложению
  • public : содержит публичные файлы, изображения, CSS, JS
  • test : содержит файл tests (JUnit или Selenium)

Вы можете запустить ваше приложение с помощью команды:

wichtounet@Linux-Desktop:~/dev/play$ play run hello
~ _ _
~ _ __ | | __ _ _ _| |
~ | '_ \| |/ _' | || |_|
~ | __/|_|\____|\__ (_)
~ |_| |__/
~
~ play! 1.0.3, http://www.playframework.org
~
~ Ctrl+C to stop
~
Listening for transport dt_socket at address: 8000
17:49:56,395 INFO ~ Starting /home/wichtounet/dev/play/hello
17:49:56,889 WARN ~ You're running Play! in DEV mode
17:49:56,958 INFO ~ Listening for HTTP on port 9000 (Waiting a first request to start) ...
17:50:01,670 INFO ~ Application 'Hello World' is now started !

И вы можете просмотреть свое приложение по адресу http: // localhost: 9000 /. Обычно вы увидите образец страницы:

Пример страницы Play Framework

Пример страницы Play Framework

Как это работает ?

Итак, теперь давайте изучим, почему эта работа. Если вы откроете файл conf / routs, вы увидите следующую строку:

GET / Application.index

Это указывает на то, что индекс проекта будет обслуживаться из метода index класса Application. И если вы откроете файл app / controllers / Application.java, вы увидите:

package controllers;

import play.mvc.*;

public class Application extends Controller {
public static void index() {
render();
}
}

Таким образом, в настоящее время index () отображает только шаблон по умолчанию. Этот шаблон — app / views / Application / index.html (например, имя метода и класса):

#{extends 'main.html' /}
#{set title:'Home' /}

#{welcome /}

Мы видим, что этот шаблон расширяет шаблон main.html. Он устанавливает заголовок на дом и отображает приветствие. Эти теги являются тегами из Play Framework. Давайте изменим этот шаблон на:

#{extends 'main.html' /}
#{set title:'Hello World' /}

<h3>Hello the world !</h3>

И обновите страницу приложения. Теперь вы увидите только сообщение «Привет, мир». Если вы хотите что-то увидеть при вызове контроллеров, просто добавьте System.out.println в Application.index:

public static void index() {
System.out.println("render()");
render();
}

И вы увидите журналы в консоли при обновлении страниц:

17:50:01,670 INFO  ~ Application 'Hello World' is now started !
render()
render()
render()
render()
render()

Добавить простую новую страницу

Чтобы сделать немного больше в этом посте, давайте добавим новую страницу: http: // localhost: 9000 / bye. Давайте начнем добавлять новый маршрут в conf / route:

GET     /bye                                     Application.bye

Поэтому мы должны добавить метод пока в классе Application:

package controllers;

import play.mvc.*;

public class Application extends Controller {
public static void index() {
render();
}

public static void bye() {
render();
}
}

И тогда нам просто нужно добавить новый шаблон bye.html в папку app / views / Application /:

#{extends 'main.html' /}
#{set title:'Bye' /}

<h3>Bye bye !</h3>

И теперь, если вы перейдете по адресу http: // localhost: 9000 / bye, вы увидите нашу новую страницу:

Пока страница в Play Framework

Пока страница в Play Framework

Вывод

Мы здесь ! С помощью этой платформы очень легко создавать веб-приложения. И мы видели только очень небольшую часть средств, которые эта структура предлагает для создания веб-приложений. Я постараюсь написать другие посты на эту тему.

С http://www.baptiste-wicht.com/2010/07/getting-started-play-framework/