PrimeFaces ile aşağıdaki gibi basit bir form yaratılabilir :
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head></h:head>
<h:body>
<h:form id="LoginForm">
<p:panelGrid id="LoginPanelGrid" columns="3" style="margin:auto;margin-top:10%">
<f:facet name="header">Giriş Formu</f:facet>
<h:outputLabel for="username" value="Kullanıcı Adı: *" />
<p:inputText id="username" value="#{loginBean.username}"
required="true" requiredMessage="Kullanıcı adı giriniz" label="Kullanıcı Adı" />
<p:message for="username" />
<br/>
<h:outputLabel for="password" value="Şifre: *" />
<p:password id="password" value="#{loginBean.password}"
required="true" requiredMessage="Şifre giriniz" label="Şifre"/>
<p:message for="password" />
<br/>
<f:facet name="footer">
<p:commandButton type="submit" action="#{loginBean.login()}" update="LoginForm"
value="Giriş" icon="ui-icon-check" style="margin:0"/>
<p:messages></p:messages>
</f:facet>
</p:panelGrid>
</h:form>
</h:body>
</html>
Bu sayfa aşağıdaki gibi gözükecektir :

Eğer kullanıcı şifre girmeyi unutursa doğrulama hataları aşağıdaki gibi gözükecektir :

LoginBean sınıfı aşağıdaki gibidir :
@ManagedBean
public class LoginBean {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String login(){
try {
// .. veritabaninan erismen icin UserManager nesnesi var..
User user=userManager.select(username, password);
if(user==null){
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_WARN,
"Kullanıcı adı veya şifre geçerli değil","");
FacesContext.getCurrentInstance().addMessage(null, msg);
return "";
}
} catch (Exception e) {
e.printStackTrace();
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Veritabanı erişim sırasında hata alınmıştır","");
FacesContext.getCurrentInstance().addMessage(null, msg);
return "";
}
return "/Member/Main/Dashboard.xhtml";
}
}
Veritabanı bağlantısından kullanıcı seçilecek, eğer kullanıcı null ise (bulunmaz ise) kullanıcıya aşağıdaki gibi hata mesajı gösterilecektir :

Eğer kullanıcı adı ve şifre doğruysa /Member/Main/Dashboard.xhtml sayfasına gidilecektir