Olá, pessoal. Estou implementando um sistema de login que já funciona perfeitamente com um formulario html normal. Estou apanhando para fazê-lo funcionar com um formulario do primefaces. Vejam os códigos:
1) Pagina xhtml com o form usando primefaces:
<ui:composition template="/WEB-INF/templates/main.xhtml">
<ui:define name="title">Welcome to our site</ui:define>
<ui:define name="content">
<div align="center">
<h:form>
<p:growl id="growl" sticky="true" showDetail="true" life="3000" />
<h:panelGrid columns="2" border="0">
<p:panel header="Acesso ao Sistema">
<p:panelGrid columns="2" styleClass="semBorda" columnClasses="semBorda,semBorda">
<p:outputLabel value="Usuário" for="username" />
<p:inputText id="username" value="#" required="true"/>
<p:spacer></p:spacer>
<p:message for="username" ></p:message>
<p:outputLabel value="Senha" for="password" />
<p:password id="password" feedback="false" value="#" required="true"/>
<p:spacer></p:spacer>
<p:message for="password"></p:message>
<p:spacer></p:spacer>
<h:outputText value="" />
<p:commandLink value="Esqueceu sua senha?" />
<h:outputText value="" />
<p:commandButton value="Login"/>
<h:outputText value="" />
<p:commandLink value="Cadastre-se" />
</p:panelGrid>
</p:panel>
<br />
</h:panelGrid>
</h:form>
</div>
</ui:define>
</ui:composition>
2) pagina que o xhtml chama:
public class Login extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String email = req.getParameter("email");
String senha = req.getParameter("senha");
Usuarios usuarios = null;
try {
usuarios = new UsuariosDAO().buscaPorEmailESenha(email, senha);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PrintWriter writer = resp.getWriter();
if (usuarios == null) {
writer.println("<html><body>Usuario invalido</body></html>");
} else {
Cookie cookie = new Cookie("usuario.logado", email);
resp.addCookie(cookie);
writer.println("<html><body>Usuário logado: " + email
+ "</body></html>");
}
}
Tenho muita necessidade de terminar logo este projeto. Quem pudeer me ajudar, eu até recompenso, rsrs. Obrigado.