Статьи

Быстрое прототипирование веб-приложений с Maven и Groovy

Используя Maven и Groovy, вы можете быстро создавать прототипы веб-приложений, и в этом блоге я расскажу вам, как это сделать. Сначала мы собираемся создать простой проект веб-приложения Maven с использованием архетипа Maven Web App . Если у вас еще не установлен Maven, продолжайте и установите его. Теперь давайте создадим каталог с именем sandbox и перейдем в этот каталог. Теперь давайте создадим наш проект, выполнив следующую команду:

mvn archetype:generate

Когда будет предложено выбрать номер, введите 18 (архетип веб-приложения Java) и нажмите ввод. Далее вам будет предложено ввести groupId, введите com.sample и нажмите Enter, для artifactId введите sample и нажмите Enter, для версии введите 1.0 и нажмите Enter, а для имени пакета введите com.sample и нажмите Enter. Подтвердите ваш проект, введя «Y» и нажав Enter. Когда вы закончите, у вас будет готовый проект maven для развертывания. Вы должны увидеть пример директории, которая была создана в / sandbox с файлом pom.xml. Файл pom.xml — это то, что мы рассмотрим дальше.

Далее нам нужно добавить зависимость для Groovy в наш pom, а также плагин Maven Groovy . Мы делаем это, добавляя следующее внутри <build>элемента в родительском pom:

<plugins>
<plugin>
<groupId>org.codehaus.mojo.groovy</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0</version>
</plugin>
</plugins>

Теперь, когда у нас добавлен плагин Groovy, давайте также добавим зависимость Groovy к pom, добавив его в <dependencies>элемент pom:

<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.5.6</version>
</dependency>

Хорошо, давайте сохраним все это и убедимся, что мы можем построить все. Из / sandbox / sample введите следующую команду:

mvn clean install

Теперь у вас должна быть успешная сборка, и вы действительно можете развернуть созданную войну (в / sandbox / sample / target у вас будет sample.war) на сервере приложений, таком как JBoss. Хорошо, давайте перейдем к классным вещам. В Groovy есть концепция, которая позволяет вам писать обычные Java-сервлеты в Groovy, называемые Groovlets . С Groovlets действительно легко работать, и у них есть несколько полезных функций, таких как неявные переменные (например, запрос и ответ, которые связаны с ServletRequest и ServletResponse). Итак, мы собираемся настроить наше веб-приложение так, чтобы оно могло обрабатывать Groovlets, а затем создавать наш первый Groovlet. Сначала мы отредактируем наш файл web.xml, который находится по адресу / sandbox / sample / src / main / webapp / WEB-INF /, откройте его и добавьте следующее между <web-app>элементами:

<servlet>
<servlet-name>GroovyServlet</servlet-name>
<servlet-class>groovy.servlet.GroovyServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>GroovyTemplate</servlet-name>
<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GroovyServlet</servlet-name>
<url-pattern>*.groovy</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GroovyTemplate</servlet-name>
<url-pattern>*.gsp</url-pattern>
</servlet-mapping>

Это настраивает ваше веб-приложение для компиляции ваших файлов .groovy в байт-код и выполнения скрипта при вызове. Далее нам нужно создать наш Groovlet, и тогда мы закончили. Итак, в / sandbox / sample / src / main / webapp создайте файл с именем Sample.groovy. Мы собираемся создать простой Groovlet, который принимает HTTP-запрос GET и имеет параметр с именем username. Мы обработаем запрос и просто распечатаем ответ. Итак, откройте файл Sample.groovy, который вы открыли, и добавьте следующее:

def username = request.getParameter("username")
println "Hello ${username}"

Вот и все. Помните, что переменная запроса является неявной, то есть она уже связана с ServletRequest и готова к использованию. Теперь мы можем скомпилировать нашу войну и развернуть ее на вашем любимом сервере приложений, и вы готовы к работе. После развертывания перейдите по адресу http: // localhost: 8080 / sample / Sample.groovy? Username = Chad в своем веб-браузере, и вы должны увидеть распечатку «Hello Chad».

Это действительно хороший способ быстро создавать прототипы веб-приложений. Я впервые начал изучать это, когда мне понадобился сервлет, который мог получить доступ к файловой системе и возвращать XML на основе моего поиска. Явно используя приятные возможности Groovy, которые были добавлены в JDK для работы с файлами и MarkupBuilder , эта задача была тривиальной. Дайте ему вращение и дайте мне знать, что вы думаете.

Оригинальный Автор

Оригинальная статья, написанная Чэдом Галлемором