Java это один из лучших языков программирования, который позволяет очень быстро разработать практически любое приложение. Благодаря наличию огромного количества различных готовых библиотек, решающих любые задачи.

PrimeFaces - это UI фрэймворк на основе JSF фрэймворка, который содержит множество готовых компонентов для разработки веб приложений (кнопки, таблицы, графики и многое другое). Таким образом разработка веб приложений уровня Enterprise происходит невероятно быстро.

Разберем как построить веб приложение типа Hello, World с помощью Maven на основе PrimeFaces.

Для начала необходимо создать веб приложение с помощью maven

mvn archetype:generate -DgroupId=com.idurdyev.primefaceshelloworld -DartifactId=webapp -DarchetypeArtifactId=maven-archetype-webapp -Dversion=1.0

Добавляем зависимости в maven проект

<!--JSF-->
<dependency>
  <groupId>com.sun.faces</groupId>
  <artifactId>jsf-api</artifactId>
  <version>2.2.13</version>
</dependency>
<dependency>
  <groupId>com.sun.faces</groupId>
  <artifactId>jsf-impl</artifactId>
  <version>2.2.13</version>
</dependency>
<!--Prime faces-->
<dependency>
  <groupId>org.primefaces</groupId>
  <artifactId>primefaces</artifactId>
  <version>5.3</version>
</dependency>

Далее необходимо добавить обработчики JSF в web.xml приложения

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>PrimeFaces Hello, World example</display-name>

  <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
  </context-param>

  <welcome-file-list>
    <welcome-file>faces/index.xhtml</welcome-file>
  </welcome-file-list>

  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>

</web-app>

Теперь когда все настройки произведены, можно разрабатывать приложение. Создаем файл index.xhtml в директории webapp и напишем Hello, World, с помощью PrimeFaces.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.org/ui">

<h:head>
</h:head>
<h:body>
    
<h1>Hello World PrimeFaces</h1>


    <h:form>
        <p:editor value="Hello, world" />
        <p:commandButton value="Hello, World button" />
    </h:form>

</h:body>
</html>

Запускаем приложение, и получаем результат: Primfaces Hello, World

Исходники проекта лежат на GitHhub