Projeto Java Web (WebService) LIBS:

Documentos relacionados
NOVO PROJETO: Dynamic web Project Estrutura do projeto:

Projeto webservicejax


Primefaces 3. Laboratório Passo-a-Passo. JSF - Primefaces. Prof. Leandro Rubim de Freitas Versão 1.

PROJETO ECLIPSE: Estrutura do projeto: (Dynamic Web Project) LIBS: Java WebDeveloper. Prof. Edson Belém

Classe Funcionario tem Endereco

Exercícios de fixação: Listas

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

JavaServer Faces JSF

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

Web Services. EclipseSDK/DB2 Construindo/Consumindo Serviços


Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

Uma sintaxe universal para identificar os recursos. No sistema REST, cada recurso é unicamente direcionado através da sua URI.

DATA ACCESS OBJECT (DAO)

Regras de Navegação e Templates

Managed Beans e Tags JSF

A implementação da nossa interface DAOProduto será nosso Stateless Session Beans.

Código-Fonte da Prática 02

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão

Desvendando o Hibernate

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função

Programação Orientada a Objetos JDBC Java Database Connectivity

Evento.java. package dominio;

Java - Conexão ao Banco de Dados usando JDBC

Funcionamento da Aplicação. Simulações do funcionamento. Simulação SAC

Padrões de Projeto e Persistência com DAO

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia

Java na WEB Banco de Dados

Banco de Dados. Banco de Dados

Tutorial Hibernate + Vraptor para projetos Restful.

PROFICY HISTORIAN E SQL LINKED SERVER

Faça Fácil. Proficy Historian e SQL Linked Server

Introdução. Componentes básicos. Componentes avançados. PrimeFaces. Prof. Enzo Seraphim

Java DataBase Connectivity - JDBC. Ramon Lopes Embaixador de Campus Sun - UFBA

Integrando Java com Banco de Dados

Como criar um banco de dados usando o mysql

Aula Prática JBCD - Introdução

Arcabouço para o desenvolvimento de aplicações Web com foco na construção da interface de usuário.

Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM

Módulo 5 - JDBC java.sql - Conexão com Banco de Dados

Faça Fácil Proficy Historian e SQL Linked Server

Conexão do Banco de Dados localhost

Autenticação e Autorização

MÓDULO Programação para Web 2

JDBC. Prof. Márcio Bueno

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

Introdução. <facelets> Templates. Configurações. Componentes. Prof. Enzo Seraphim

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

Vamos falar de Hibernate?

<h:panelgroup rendered="#{managedbeaninscricao.formulario}"> <fieldset> <legend>formulário de inscrição</legend> <h:form> <h:panelgrid columns="2">

PROJETO INTEGRADOR. Documentação. Aplicação de Controle de Acesso FACULDADE DE TECNOLOGIA SENAC GOIÁS. Programação com Frameworks

Universidade Católica do Salvador Bacharelado em Informática. Antonio Yuri Jailson do Amor Divino Felipe Souza. Tutorial: Trabalhando com JDBC

Programação Orientada a Objetos II

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

Demoiselle Tutorial Documentation

JDBC com Banco de Dados Standalone

Fernando Freitas Costa. Pós-Graduando em Gestão e Docência Universitária. blog.fimes.edu.br/fernando nando@fimes.edu.br

Curso de Java. Acesso a banco de dados através de JDBC. Todos os direitos reservados Klais

JDBC Acessando Banco de Dados

Modulo 8 - Padrão DAO (Dta Access Object) Prof. Sheila Cáceres

Linguagens de Programação

PERSISTÊNCIA EM JAVA. Introdução. Conexão a banco de dados através do driver JDBC UNIDADEE

Programação para Dispositivos Móveis

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans efetuando um micro projeto swing.

JDBC Tópicos avançados de acesso a base de dados relacional

Introdução ao Hibernate. Hibernate Mapeamento com Anotação. Projeto Desktop Uma Classe. Objetivo. Programas Utilizados

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

JDBC. Java DataBase Connectivity

Anotações e Navegação no JSF 2.0

Banco de Dados. Banco de Dados. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

Leonardo Gresta Paulino Murta

Aplicativos Web com Orientação a Objetos

J550 Integração com Bancos de Dados

Ao fazer fix imports a anotação RequestScoped deve corresponder ao package javax.enterprise.context.requestscoped.

TUTORIAL DE INTRODUÇÃO AO CEWOLF

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

Código-Fonte da Prática 04

Exibir relatórios gerados pelo Jasper Report em Flex

JPA: Persistência padronizada em Java

Persistência de Objetos no SGBD PostgreSQL, Utilizando as APIs: JDBC, JDK, Swing e Design Patteners DAO.

(UFF) JSF (I) TEPIS II

Drive MySql de conexão para Eclipse

Java JDBC Aplicação Java com Acesso a um SGBD. Ricardo Terra (rterrabh [at] gmail.com) Java JDBC Maio, 2010

Manipulação de Banco de Dados com Java 1. Objetivos

O JUnit permite a realização de testes de unidades, conhecidos como "caixa branca", facilitando assim a correção de métodos e objetos.

Mapeamento Lógico/Relacional com JPA

MANIPULAÇÃO DE BANCO DE DADOS UTILIZANDO INTERFACE GRÁFICA

Persistência Java para Web com MySQL

JavaServer Faces JSF

Agilizando o processo de redeploy de aplicações Java

Publicar uma aplicação ASP.NET Core com base de dados SqlServer no Azure usando Visual Studio e um perfil para publicação (publish profile)

Estrutura do Projeto - Trabalhando com Banco de Dados

Particionamento de Banco com o Hibernate Shards

JDBC DRIVER. Objetivo: Possibilitar aplicações não Zim de se conectar a um banco de dados Zim utilizando as normas JDBC.

show databases Programação Comercial Walderson Shimokawa 1

JDBC - Java Data Base Connectivity

Transcrição:

Projeto Java Web (WebService) LIBS: asm-3.1.jar commons-codec-1.6.jar commons-logging-1.1.1.jar fluent-hc-4.2.5.jar gson-2.2.4.jar httpclient-4.2.5.jar httpclient-cache-4.2.5.jar httpcore-4.2.4.jar httpmime-4.2.5.jar jackson-core-asl-1.9.2.jar jackson-jaxrs-1.9.2.jar jackson-mapper-asl-1.9.2.jar jackson-xc-1.9.2.jar jaxen-1.1.6.jar jdom-2.0.5.jar jersey-client-1.12.jar jersey-core-1.12.jar jersey-json-1.12.jar jersey-server-1.12.jar jersey-servlet-1.12.jar jettison-1.1.jar jsr311-api-1.1.1.jar mysql-connector-java-5.1.23-bin.jar xercesimpl.jar xml-apis.jar

package entity; import java.io.serializable; import javax.xml.bind.annotation.xmlrootelement; //Classe de WebService deve colocar XMLRootElement @XmlRootElement public class Endereco implements Serializable{ private static final long serialversionuid = 1L; private Integer idendereco; private String logradouro; private String bairro; private String cidade; private String estado; private String pais; private String cep; //Realizar o WebService do Correio

public Endereco() { public Endereco(Integer idendereco, String logradouro, String bairro, String cidade, String estado, String pais, String cep) { super(); this.idendereco = idendereco; this.logradouro = logradouro; this.bairro = bairro; this.cidade = cidade; this.estado = estado; this.pais = pais; this.cep = cep; @Override public String tostring() { return logradouro + "," + bairro + "," + cidade + "," + estado + "," + pais + "," + cep; //tostring está sendo adaptado para o WebService... public Integer getidendereco() { return idendereco; public void setidendereco(integer idendereco) { this.idendereco = idendereco; public String getlogradouro() { return logradouro; public void setlogradouro(string logradouro) { this.logradouro = logradouro; public String getbairro() { return bairro; public void setbairro(string bairro) { this.bairro = bairro; public String getcidade() {

return cidade; public void setcidade(string cidade) { this.cidade = cidade; public String getestado() { return estado; public void setestado(string estado) { this.estado = estado; public String getpais() { return pais; public void setpais(string pais) { this.pais = pais; public String getcep() { return cep; public void setcep(string cep) { this.cep = cep; public static long getserialversionuid() { return serialversionuid; package persistence; import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedstatement; import java.sql.resultset; public class Dao { Connection con; PreparedStatement stmt; ResultSet rs; public void open() throws Exception{

Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/bd1", "root", "coti"); public void close() throws Exception{ con.close(); script.sql drop database if not exists services; create database services; use services; create table endereco(idendereco int primary key auto_increment, logradouro varchar (50), bairro varchar (35), cidade varchar (50),

estado varchar (35), pais varchar (50), cep varchar (30) ); insert into endereco values (null,'rua navarro','catumbi', 'Rio de Janeiro','RJ','Brasil','20251190'); commit; package persistence; import java.util.arraylist; import java.util.list; import entity.endereco; public class EnderecoDao extends Dao{ public void create(endereco e)throws Exception{ open();

stmt = con. preparestatement("insert into endereco values (null,?,?,?,?,?,?)"); stmt.setstring(1,e.getlogradouro()); stmt.setstring(2, e.getbairro()); stmt.setstring(3, e.getcidade()); stmt.setstring(4, e.getestado()); stmt.setstring(5, e.getpais()); stmt.setstring(6, e.getcep()); stmt.execute(); stmt.close(); close(); public List<Endereco> findall() throws Exception{ open(); stmt = con.preparestatement("select * from endereco"); rs = stmt.executequery(); List <Endereco> lista = new ArrayList<Endereco>(); while(rs.next()){ Endereco ende = new Endereco (); ende.setidendereco(rs.getint(1)); ende.setlogradouro(rs.getstring(2)); ende.setbairro(rs.getstring(3)); ende.setcidade(rs.getstring(4)); ende.setestado(rs.getstring(5)); ende.setpais(rs.getstring(6)); ende.setcep(rs.getstring(7)); lista.add(ende); close(); return lista;?"); public void delete(integer cod)throws Exception{ open(); stmt = con. preparestatement("delete from endereco where idendereco= stmt.setint(1,cod); stmt.execute(); stmt.close();

close(); public Endereco findbycep(string cep)throws Exception{ open(); stmt = con. preparestatement("select * from endereco where cep=?"); stmt.setstring(1, cep); rs = stmt.executequery(); Endereco ende= null; if (rs.next()){ ende = new Endereco (); ende.setidendereco(rs.getint(1)); ende.setlogradouro(rs.getstring(2)); ende.setbairro(rs.getstring(3)); ende.setcidade(rs.getstring(4)); ende.setestado(rs.getstring(5)); ende.setpais(rs.getstring(6)); ende.setcep(rs.getstring(7)); stmt.close(); close(); return ende; //senão encontrou é null...se encontrou volta cheio... public void update(endereco ende)throws Exception{ open(); stmt = con. preparestatement("update endereco set logradouro=?, bairro=?, cidade=?, estado=?,pais=?,cep=? where idendereco=? "); stmt.setstring(1,ende.getlogradouro()); stmt.setstring(2,ende.getbairro()); stmt.setstring(3,ende.getcidade()); stmt.setstring(4,ende.getestado()); stmt.setstring(5, ende.getpais()); stmt.setstring(6, ende.getcep()); stmt.setint(7, ende.getidendereco()); stmt.execute(); stmt.close(); close();

//public strictfp void methodc() (aceita qualquer método feito na linguagem c) package webservice; import javax.ws.rs.get; import javax.ws.rs.path; import javax.ws.rs.pathparam; import javax.ws.rs.produces; import com.google.gson.gson; import entity.endereco; import persistence.enderecodao; @Path("/endereco") public class WSEndereco { @Path("/listarTodos") @GET @Produces public String listarendereco(){ try{ return new Gson().toJson(new EnderecoDao().findAll()); catch(exception ex){ return ex.getmessage(); @GET @Path("gravar/{logradouro/{bairro/{cidade/{estado/{pais /{cep") @Produces("text/plain") public String gravar( @PathParam("logradouro") String logradouro, @PathParam("bairro") String bairro, @PathParam("cidade") String cidade, @PathParam("estado") String estado, @PathParam("pais") String pais, @PathParam("cep") String cep ){ try{

Endereco ende= new Endereco(null, logradouro, bairro, cidade, estado, pais, cep); new EnderecoDao().create(ende); return "Dados Gravados Endereco..."; catch(exception ex){ return "Error :" + ex.getmessage(); @GET @Path("buscarPeloCep/{cep") @Produces("text/plain") public String buscarpelocep( @PathParam("cep") String cep){ try{ return new Gson().toJson(new EnderecoDao().findByCep(cep)); catch(exception ex){ return "Error :" + ex.getmessage(); @GET @Path("deletar/{idEndereco") @Produces("text/plain") public String deletar( @PathParam("idEndereco") String idendereco){ try{ new EnderecoDao().delete(new Integer(idEndereco)); return "Registro Excluido com Sucesso..."; catch(exception ex){ return "Error :" + ex.getmessage(); @GET @Path("alterar/{logradouro/{bairro/{cidade/{estado/{pai s/{cep/{idendereco") @Produces("text/plain") public String alterar( @PathParam("logradouro") String logradouro, @PathParam("bairro") String bairro, @PathParam("cidade") String cidade, @PathParam("estado") String estado,

@PathParam("pais") String pais, @PathParam("cep") String cep, @PathParam("idEndereco") String idendereco ){ try{ Endereco ende = new Endereco(new Integer(idEndereco), logradouro, bairro, cidade, estado, pais, cep); new EnderecoDao().update(ende); return "Dados Alterados..."; catch(exception ex){ return "Error :" + ex.getmessage(); web.xml <?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/webapp_3_0.xsd" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="webapp_id" version="3.0"> <servlet> <servlet-name>jersey REST Service</servlet-name> <servletclass>com.sun.jersey.spi.container.servlet.servletcontainer</ser vlet-class> <init-param> <paramname>com.sun.jersey.config.property.packages</param-name> <param-value>webservice</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey REST Service</servlet-name> <url-pattern>/webservice/*</url-pattern> </servlet-mapping>

</web-app> Roda clicando no projeto com o botão direito -> Run as -> Run on server Depois digitar os parametros de listar: http://localhost:83/webservicews_rest/webservice/endereco/list artodos E para executar os outros metodos, só passer os parametros. Novo projeto JSF LIBS: all-themes-1.0.10.jar asm-3.1.jar commons-beanutils-1.8.0.jar commons-codec-1.6.jar

commons-collections-3.2.1.jar commons-digester-2.0.jar commons-logging-1.1.1.jar fluent-hc-4.2.5.jar gson-2.2.4.jar httpclient-4.2.5.jar httpclient-cache-4.2.5.jar httpcore-4.2.4.jar httpmime-4.2.5.jar jackson-core-asl-1.9.2.jar jackson-jaxrs-1.9.2.jar jackson-mapper-asl-1.9.2.jar jackson-xc-1.9.2.jar javax.faces-2.0.11.jar jaxen-1.1.6.jar jdom-2.0.5.jar jersey-client-1.12.jar jersey-core-1.12.jar jersey-json-1.12.jar jersey-server-1.12.jar jersey-servlet-1.12.jar jettison-1.1.jar jsf-api.jar jsf-impl.jar jsr311-api-1.1.1.jar jstl.jar mysql-connector-java-5.1.23-bin.jar primefaces-4.0-sources.jar primefaces-4.0.jar standard.jar xercesimpl.jar xml-apis.jar package entity; import java.io.serializable; import javax.xml.bind.annotation.xmlrootelement; //Classe de WebService deve colocar XMLRootElement @XmlRootElement

public class Endereco implements Serializable{ private static final long serialversionuid = 1L; private Integer idendereco; private String logradouro; private String bairro; private String cidade; private String estado; private String pais; private String cep; //Realizar o WebService do Correio public Endereco() { public Endereco(Integer idendereco, String logradouro, String bairro, String cidade, String estado, String pais, String cep) { super(); this.idendereco = idendereco; this.logradouro = logradouro; this.bairro = bairro; this.cidade = cidade; this.estado = estado; this.pais = pais; this.cep = cep; @Override public String tostring() { return logradouro + "," + bairro + "," + cidade + "," + estado + "," + pais + "," + cep; //tostring está sendo adaptado para o WebService... public Integer getidendereco() { return idendereco; public void setidendereco(integer idendereco) { this.idendereco = idendereco;

public String getlogradouro() { return logradouro; public void setlogradouro(string logradouro) { this.logradouro = logradouro; public String getbairro() { return bairro; public void setbairro(string bairro) { this.bairro = bairro; public String getcidade() { return cidade; public void setcidade(string cidade) { this.cidade = cidade; public String getestado() { return estado; public void setestado(string estado) { this.estado = estado; public String getpais() { return pais; public void setpais(string pais) { this.pais = pais; public String getcep() { return cep; public void setcep(string cep) { this.cep = cep; public static long getserialversionuid() { return serialversionuid;

package manager; import java.io.serializable; import javax.annotation.postconstruct; import javax.faces.application.facesmessage; import javax.faces.bean.managedbean; import javax.faces.bean.requestscoped; import javax.faces.context.facescontext; import org.apache.http.client.methods.httpget; import org.apache.http.impl.client.defaulthttpclient; import entity.endereco; @ManagedBean(name="mb") @RequestScoped public class ManagerBean implements Serializable{ private static final long serialversionuid = 1L; private Endereco endereco; @PostConstruct public void init(){ endereco = new Endereco(); public Endereco getendereco() { return endereco; public void setendereco(endereco endereco) { this.endereco = endereco; public static long getserialversionuid() { return serialversionuid; public void gravarendereco(){ FacesContext fc = FacesContext.getCurrentInstance(); DefaultHttpClient client = new DefaultHttpClient(); try{

HttpGet httpget= new HttpGet("http://localhost:8387/WebServiceWS_rest/webservice/ende reco/gravar/"+ endereco.getlogradouro()+"/"+endereco.getbairro()+ "/" +endereco.getcidade() + "/" + endereco.getestado() + "/"+ endereco.getpais() + "/"+ endereco.getcep() + "/"); //passa o endereco URL client.execute(httpget); //grava endereco = new Endereco(); //limpa fc.addmessage("form1", new FacesMessage("Dados Gravados...")); catch(exception ex){ fc.addmessage("form1", new FacesMessage("Error :" + ex.getmessage())); web.xml <?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>jsfsistema</display-name> <servlet> <servlet-name>faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.facesservlet</servletclass> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> </web-app>

<!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:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui" > <h:head> </h:head> <h:body> <p:panel header="cadastrar Endereco"> <h:form id="form1"> <p:panelgrid columns="2"> <h:outputtext value="rua" /> <p:inputtext value="#{mb.endereco.logradouro" size="50"/> size="50"/> size="50"/> size="5"/> <h:outputtext value="bairro" /> <p:inputtext value="#{mb.endereco.bairro" <h:outputtext value="cidade" /> <p:inputtext value="#{mb.endereco.cidade" <h:outputtext value="estado" /> <p:inputtext value="#{mb.endereco.estado" <h:outputtext value="pais" /> <p:inputtext value="#{mb.endereco.pais" size="20"/> <h:outputtext value="cep" /> <p:inputtext value="#{mb.endereco.cep" size="15"/> <p:commandbutton value="gravar os Dados" action="#{mb.gravarendereco" update=":form1" ajax="true"></p:commandbutton> </p:panelgrid>

<p:growl></p:growl> <p:messages></p:messages> </h:form> </p:panel> </h:body> </html>

Cadastrando Gravado