JBoss é um servidor de aplicação de código fonte aberto baseado na plataforma JEE e implementado completamente na linguagem de programação Java. Em virtude disso, ele pode ser usado em qualquer Sistema Operacional que suporte a referida linguagem. O JBoss Application Server 7, utiliza os arquivos: standalone.bat (ou standalone.sh) para prover a sua inicialização. Os desenvolvedores responsáveis estão em uma empresa de serviços chamada "JBoss Inc." fundada por Marc Fleury, o criador da primeira versão do JBoss. O projeto é custeado por uma rede mundial de colaboradores. Em Abril de 2006, foi anunciada sua aquisição pela Red Hat. A partir da versão 8 o JBoss passou a se chamar Wildfly, além da troca de nomes teve várias melhorias e mudanças como a troca do container que era o JBossWeb para o Undertow. Como alternativa open-source ao JBoss, temos o GlassFish, que é a implementação de referência de toda a especificação Java EE.
primefaces-5.2-sources.jar primefaces-5.2.jar
package entity; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="usuario") public class Usuario implements Serializable{ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; @Column(length=80) private String login; @Column(length=250) private String senha; public Usuario() { // TODO Auto-generated constructor stub } public Usuario(Integer id, String login, String senha) { super(); this.id = id; this.login = login; this.senha = senha; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } public String getSenha() { return senha; } public void setSenha(String senha) { this.senha = senha; } public static long getSerialversionuid() { return serialVersionUID; } }
package persistence; import java.util.List; import javax.ejb.LocalBean; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import entity.Usuario; @Stateless @LocalBean public class UserDao { @PersistenceContext(unitName="jbosschefe") EntityManager em; //new nele (injectable) public void create(Usuario user) { // Critptografia.criptografar(user); em.persist(user); } public void update(Usuario user) { em.merge(user); } public List<Usuario> findAll() { return em.createQuery("select u from User as u"). getResultList(); } public Usuario findByCode(Integer cod) { return em.find(Usuario.class, cod); } public void delete(Integer cod) { em.remove(em.getReference(Usuario.class, cod)); } }
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.1" <xmlns="http://xmlns.jcp.org/xml/ns/persistence" <xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> <persistence-unit name="jbosschefe"> <jta-data-source>java:/jdbc/chefe</jta-data-source> <class>entity.Usuario</class> <properties> <property name="hibernate.hbdl.auto" value="update"></property> <property name="hibernate.show_sql" value="true"></property> <property name="hibernate.format_sql" value="true"></property> </properties> </persistence-unit> </persistence>
package manager; import java.io.Serializable; import java.util.List; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import javax.inject.Inject; import entity.Usuario; import persistence.UserDao; @ManagedBean(name="mb") @SessionScoped public class ManagerUser implements Serializable{ private static final long serialVersionUID = 1L; @Inject private UserDao dao; @Inject private Usuario user; private List<Usuario> users; public ManagerUser() { user=new Usuario(); } public void gravar() { FacesContext fc = FacesContext.getCurrentInstance(); try { dao.create(user); //gravar user = new Usuario(); //limpar os Dados senao setEspaço("") fc.addMessage(null, new FacesMessage("Dados Gravados..")); }catch(Exception ex) { ex.printStackTrace(); fc.addMessage(null, new FacesMessage(" error.." + ex.getMessage())); } } public Usuario getUser() { return user; } public void setUser(Usuario user) { this.user = user; } public List<Usuario> getUsers() { users = dao.findAll(); return users; } public void setUsers(List<Usuario> users) { this.users = users; } public UserDao getDao() { return dao; } public void setDao(UserDao dao) { this.dao = dao; } }
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <display-name>projetoWebServer2</display-name> <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>*.jsf</url-pattern> </servlet-mapping> <listener> <listener-class>org.jboss.weld.environment.servlet.Listener</listener-class> </listener> </web-app>
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" version="1.1" bean-discovery-mode="annotated"> </beans>
<!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:p="http://primefaces.org/ui" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <h:head> </h:head> <h:body> <p:panel header="Gravar os Dados"> <h:form id="form1"> <p:panelGrid columns="2"> <h:outputText value="Email:"/> <p:inputText value="#{mb.user.login}"/> <h:outputText value="Senha:"/> <p:inputText value="#{mb.user.senha}"/> </p:panelGrid> <p:commandButton value="Gravar" action="#{mb.gravar}" update=":form1" ajax="true"></p:commandButton> <p:growl></p:growl> </h:form> </p:panel> </h:body> </html>