Primefaces + servlet

Boa tarde pessoal.
Seguindo as orientações da apostila fj-21 capítulo 9 MVC onde se passa um campo oculto (linha 12) para a servlet que irá criar uma instância da classe que irá executar a lógica de negócios apropriada (adicionar, remover, editar…) em tempo de execução.
Tenho a seguinte dúvida: O que eu preciso fazer para integrar essa mesma funcionalidade em primefaces?

&lt;form action="servlet" method="post"&gt; <p>&lt;input id="nome" type="text" aria-required="true" tabindex="1" size="22" name="nome"/&gt; &lt;label for="nome"&gt;&lt;small&gt;name&lt;/small&gt;&lt;/label&gt;</p> <p>&lt;input id="autenticacao" type="text" aria-required="true" tabindex="2" size="22" name="autenticacao"/&gt; &lt;label for="autenticacao"&gt;&lt;small&gt;authentication&lt;/small&gt;&lt;/label&gt;</p> <p>&lt;input id="senha" type="text" aria-required="true" tabindex="2" size="22" name="senha"/&gt; &lt;label for="senha"&gt;&lt;small&gt;password&lt;/small&gt;&lt;/label&gt;</p> <p>&lt;input id="email" type="email" aria-required="true" tabindex="2" size="22" name="email"/&gt; &lt;label for="email"&gt;&lt;small&gt;email&lt;/small&gt;&lt;/label&gt;</p> <p>&lt;input id="data" type="date" name="data"/&gt; &lt;label for="data"&gt;&lt;small&gt;birthdate&lt;/small&gt;&lt;/label&gt;</p> <p>&lt;input type="hidden" name="logica" value="AdicionaUsuarioLogic"/&gt; &lt;input id="enviar" type="submit" value="Gravar" name="enviar"/&gt;</p> &lt;/form&gt;[code]public class AdicionaUsuarioLogic implements LogicaInterface {

@Override
public void executa(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String nome = request.getParameter("nome");
    String autenticacao = request.getParameter("autenticacao");
    String senha = request.getParameter("senha");
    String email = request.getParameter("email");
    String data = request.getParameter("data");

    Usuario usuario = new Usuario();
    usuario.setNome(nome);
    usuario.setAutenticacao(autenticacao);
    usuario.setSenha(senha);
    usuario.setEmail(email);       
    usuario.setDataNascimento(DataUtil.converteStringEmCalendar(data, DataUtil.DATE));

    Connection connection = (Connection) request.getAttribute("conexao");
    UsuarioDao dao = new UsuarioDao(connection);
    dao.adiciona(usuario);
}

}[/code][code]public class ControllerServlet extends HttpServlet {

/**
 *
 * @param request
 * @param response
 * @throws ServletException
 * @throws IOException
 */
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String parametro = request.getParameter("logica");
    String nomeDaClasse = "br.com.sistema.logica." + parametro; 

    try {
        Class classe = Class.forName(nomeDaClasse);
        LogicaInterface logica = (LogicaInterface) classe.newInstance();
        logica.executa(request, response);
    } catch (Exception e) {
        throw new ServletException(e);
    }
}

}[/code]

O Primefaces não vai te dar essas funcionalidades. Ele é apenas um framework de componentes voltados para a camada de visão… as outras camadas ficam por sua conta.

Ou seja, você pode apresentar os dados de um List em forma de DataTable usando Primefaces, mas quem vai criar e manter os elementos da List é o seu managed bean…