Пришло время протестировать 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 /. Обычно вы увидите образец страницы:
Как это работает ?
Итак, теперь давайте изучим, почему эта работа. Если вы откроете файл 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, вы увидите нашу новую страницу:
Вывод
Мы здесь ! С помощью этой платформы очень легко создавать веб-приложения. И мы видели только очень небольшую часть средств, которые эта структура предлагает для создания веб-приложений. Я постараюсь написать другие посты на эту тему.
С http://www.baptiste-wicht.com/2010/07/getting-started-play-framework/