O que fazer ao receber o Caso de Uso NOMEDAENTIDADE CRUD?
|
|
- Gustavo Bergmann Borges
- 8 Há anos
- Visualizações:
Transcrição
1 O que fazer ao receber o Caso de Uso NOMEDAENTIDADE CRUD? Um caso de uso envolve uma regra de negocio com as telas e entidades associadas na operação. No documento é descrito todas as validações de tela e o fluxo do processo. No caso de uso CRUD, as funcionalidades são as Create, Retrieve, Update e Delete, ou seja, a criação de uma tela de pesquisa e uma tela para alterar/inserir os registros. Normalmente estas atividades CRUD são desenvolvidas com ferramentas de geração de código, no entanto para o nosso caso (didático) faremos nós mesmos as estruturas para entender como funciona o fluxo das chamadas. 1 - Começe criando as entidades envolvidas. Cliente, Produto, Fornecedor, Usuario, etc. Se as classes destas entidades ainda não existem começe criando-as. As classes precisam seguir alguns padrões pois utilizam recursos de Annotations, para facilitar a integração com o framework de persistência Hibernate. Estas classes recebem o nome de classes de domínio pois estão diretamente relacionados com regras de negocio. No caso de uso você ira receber a estrutura da classe em formato UML (diagrama de class). Se esta é uma tarefa de Laboratorio, você deve utilizar a classe que voce modelou. Diagrama de Classe Modelo de Entidade-Relacionamento (MER) Codigo Java package br.com.twosolutions.simplemodularerp.domain; import java.io.serializable; import java.util.date; import java.util.hashset; import java.util.set; import javax.persistence.cascadetype; import javax.persistence.column; import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.id; import javax.persistence.joincolumn; import javax.persistence.manytomany; import javax.persistence.manytoone;
2 import javax.persistence.onetomany; import javax.persistence.table; import javax.persistence.temporal; import javax.persistence.temporaltype; public class Geladeira implements VO { private Integer id; private String marca; private String modelo; private String cor; private Double volume; private Integer voltagem; private Date datarevisao; // N - 1 private GeladeiraCategoria geladeiracategoria; // 1 - N private @GenericGenerator(name="generator", strategy = public Integer getid() { return id; public void setid(serializable id) { this.id = public String getcor() { return cor; public void setcor(string cor) { this.cor = public String getmarca() { return marca; public void setmarca(string marca) { this.marca = public String getmodelo() { return modelo; public void setmodelo(string modelo) { this.modelo public Date getdatarevisao() { return datarevisao; public void setdatarevisao(date datarevisao) { this.datarevisao = public Integer getvoltagem() { return voltagem; public void setvoltagem(integer voltagem) { this.voltagem = public Double getvolume() { return volume;
3 public void setvolume(double volume) { this.volume public GeladeiraCategoria getgeladeiracategoria() { return geladeiracategoria; public void setgeladeiracategoria(geladeiracategoria geladeiracategoria) { this.geladeiracategoria public Set<Alimento> getalimentos() { return alimentos; public void setalimentos(set<alimento> alimentos) { this.alimentos = alimentos; public void addalimento(alimento alimento){ if(alimentos == null){ alimentos = new HashSet<Alimento>(); alimentos.add(alimento); Como começar: Utilizando o Eclipse, crie a classe dentro do pacote br.com.twosolutions.nomeprojeto.domain Comece fazendo os atributos Gere os Getters/Setter Inclua as Annotations Observações: A classe de dominio criada deve implementar a interface VO. Esta interface é uma interface de infraestrutra, ou seja, serve de padrão para a aplicação de polimorfismo em algumas situações. Todas os atributos da classes são declarados com private e utilizam as classes Wrappers como seus tipos (Integer,Double,Character,etc) Gerar os Getters/Setters, com detalhe para os atributos do tipo Collection que precisam do add Colocar a indicando qual o nome da tabela que a classe esta associada. Annotations é um recurso da versão 1.5, em que é possivel incluir informaçoes adicionais em algumas estruturas. Colocar as indicando qual a coluna de cada atributo. Para entender melhor para que serve as Annotations e Hibernate visite o site do projeto Atenção aos imports, pois nestes ficam descritos os respectivos pacotes das Annotations. 2 Criar a Classe Form (específica do Struts) O Framework Struts 1.2 exige que você crie uma classe que irá armazenar todos os valores que serão utilizados nas telas. Essas classes recebem o nome de ActionForm. São classes simples que possuem os mesmos atributos que a sua classe de domínio. package br.com.twosolutions.simplemodularerp.form; import java.io.serializable; import java.util.date; import javax.servlet.http.httpservletrequest; import org.apache.struts.action.actionerrors;
4 import org.apache.struts.action.actionmapping; import org.apache.struts.action.actionmessage; import br.com.twosolutions.simplemodularerp.util.dateutils; import br.com.twosolutions.simplemodularerp.util.monetaryutils; public class GeladeiraForm extends GenericForm { private Integer id; private String marca; private String modelo; private String cor; private Double volume; private String volumestr; private Integer voltagem; private String voltagemstr; private Date datarevisao; private String datarevisaostr; // N - 1 private Integer geladeiracategoriaid; public void setid(serializable id) { if(id!= null &&!id.tostring().equals("")){ if(id instanceof Integer){ this.id = (Integer)id; else{ this.id = new Integer(id.toString()); public Serializable getid() { return id; public String getcor() { return cor; public void setcor(string cor) { this.cor = cor; public String getmarca() { return marca; public void setmarca(string marca) { this.marca = marca; public String getmodelo() { return modelo; public void setmodelo(string modelo) { this.modelo = modelo; public Integer getvoltagem() { return voltagem; public void setvoltagem(integer voltagem) { this.voltagem = voltagem; public Integer getgeladeiracategoriaid() { return geladeiracategoriaid; public void setgeladeiracategoriaid(integer geladeiracategoriaid) { this.geladeiracategoriaid = geladeiracategoriaid; public Double getvolume() { return volume;
5 public void setvolume(double volume) { this.volume = volume; public String getvolumestr() { if(volume!= null){ return MonetaryUtils.format(volume); return ""; public void setvolumestr(string volumestr) { this.volumestr = volumestr; public String getvoltagemstr() { if(voltagem!= null){ return '' + voltagem; return ""; public void setvoltagemstr(string voltagemstr) { this.voltagemstr = voltagemstr; public Date getdatarevisao() { return datarevisao; public void setdatarevisao(date datarevisao) { this.datarevisao = datarevisao; public String getdatarevisaostr() { if(datarevisao!= null){ return DateUtils.format(dataRevisao); return ""; public void setdatarevisaostr(string datarevisaostr) { this.datarevisaostr = datarevisaostr; public ActionErrors validatesalvar(actionmapping mapping, HttpServletRequest request){ ActionErrors errors = new ActionErrors(); try { volume = MonetaryUtils.parse(volumeStr); catch (Exception e) { ActionMessage message = new ActionMessage("geladeira.volume.invalido"); errors.add("volumestr", message); try { datarevisao = DateUtils.parse(dataRevisaoStr); catch (Exception e) { ActionMessage message = new ActionMessage("geladeira.dataRevisao.invalido"); errors.add("datarevisaostr", message); return errors; Observações : 1 A classe Form precisa extender de GenericForm. A classe GenericForm, assim como a interface VO, é uma classe de infra-estrutura, específica do projeto. 2 Adicionar todos os atributos da classe de domínio específica com os mesmos tipos 3 Para os atributos que não são do tipo String criar um respectivo com o sufixo Str (Ex. para o atributo volume é preciso ter o volumestr também) 4 Criar o metodo validateoperacao (Ex. ValidatePesquisar, validatesalvar, validateremover) que deve conter todas as regras de validação dos dados da tela. 5 Para entender melhor as classes do Struts visite o site do projeto em (Struts 1.2.9) 6 No metodo de validação é preciso incluir todas as suas regras de validação que seriam realizadas na tela, além de servir de binding para os Str. Toda variavel Str precisa ser convertida para o seu tipo.
6 try { datarevisao = DateUtils.parse(dataRevisaoStr); catch (Exception e) { ActionMessage message = new ActionMessage("geladeira.dataRevisao.invalido"); errors.add("datarevisaostr", message); Podem ocorrer situaçoes de validação de regra de negocio além da validação de parse. if (volume < 0) { ActionMessage message = new ActionMessage("geladeira.volume.negativo"); errors.add("volumestr", message); Se ocorrer uma exceção é preciso adicionar a descrição da exceção utilizando a classe ActionMessages do Struts. Na sua definição a mensagem de erro na verdade é uma chave de mensagem. A verdadeira mensagem de erro esta localizada no arquivo MessageResources.properties. 3 Registrar suas mensagens no arquivo MessageResources.properties Toda mensagem (ou texto) que utilizarmos no Struts deve ficar registrada neste arquivo de propriedades. O benefício disto é que além de centralizarmos as mensagens, podemos utilizar o recurso de internacionalização do Struts para suportar varias linguas na aplicação. Cada nova propriedade segue o padrão entidade.atributo.operacao=mensagem geladeira.volume.negativo=o volume nao pode ser negativo 4 Registrar a classe de dominio no arquivo hibernate.cfg.xml Para que o Hibernate consiga trabalhar com a classe de dominio que foi criada é preciso registra-la no arquivo de configuração do Hibernate (/resources/hibernate.cfg.xml). <mapping class="br.com.twosolutions.simplemodularerp.domain.entidade" /> 5 Registrar a classe Form no arquivo struts-config.xml Para poder utilizar a classe de Formulario e assim poder trabalhar com as validações e funcionalidades do Struts é preciso registrar as classes Form no arquivo de configuração do Struts (/WebContent/WEB- INF/struts-config.xml). <form-bean name="entidadeform" type="br.com.twosolutions.simplemodularerp.form.entidadeform"/> 6 Fazer o arquivo da tela com o nome Entidade.jsp As telas são criadas utilizando tecnologia JSP. Esta é uma mistura de HTML, JAVA, TagLibs Struts e JSTL. Muitos dos recursos utilizados na tela são padronizados para manter uma coerencia de funcionalidades entre as diversas telas do sistema. <%@ include file="/web-inf/common/header.jsp"%> <table> <td valign="top"> <html:errors/> <html:form action="/geladeira.do?metodo=salvar"> <table> <th colspan="2">geladeira</th> <td>marca <td><html:text property="marca"/> <td>modelo <td><html:text property="modelo"/>
7 <td>cor <td><html:text property="cor"/> <td>data revisao <td> <html:text property="datarevisaostr" size="15"/> <input type="image" name="anchordatarevisaostr" id="anchordatarevisaostr" src="<%=request.getcontextpath()%>/img/calendar.gif" onclick="new CalendarPopup().select(this.form.dataRevisaoStr,'anchorDataRevisaoStr','dd/MM/yyyy'); return false;"/> <td>categoria <td><smerp:select property="geladeiracategoriaid" entity="geladeiracategoria" valueproperty="id" labelproperty="descricao"/> <hr/> <table border="0"> <td colspan="2"> <jsp:include page="/associar/associarinclude.jsp"> <jsp:param name="label" value="alimentos"/> <jsp:param name="property" value="alimentos"/> <jsp:param name="voassociartype" value="alimento"/> <jsp:param name="voassociarmethod" value="addalimento"/> <jsp:param name="voassociardescricao" value="descricao"/> </jsp:include> <table border="0"> <td> <html:submit property="btnsalvar" value="salvar"/> <html:reset property="btnlimpar" value="limpar"/> <html:button property="btnpesquisar" value="pesquisar" onclick="pesquisar('geladeira');"/> </html:form> include file="/web-inf/common/footer.jsp"%> Observações : 1 Utilizar as Tags do Struts no lugar das de HTML na parte de formularios 2 Toda propriedade que for multivalorada (Collection, Set, List, etc) utilizar o componente preenchendo com as respectivas propriedades <jsp:include page="/associar/associarinclude.jsp"> <jsp:param name="label" value="alimentos"/> <jsp:param name="property" value="alimentos"/> <jsp:param name="voassociartype" value="alimento"/> <jsp:param name="voassociarmethod" value="addalimento"/> <jsp:param name="voassociardescricao" value="descricao"/> </jsp:include> 3 Para as propriedades que são datas deve adicionar a parte de montagem do calendario <input type="image" name="anchordatarevisaostr" id="anchordatarevisaostr" src="img/calendar.gif" onclick="new CalendarPopup().select(this.form.dataRevisaoStr,'anchorDataRevisaoStr','dd/MM/yyyy'); return false;"/> 4 Para as propriedades que são associações de outras classes utilizar um componente de montagem de combo com dados específicos. <smerp:select property="geladeiracategoriaid" entity="geladeiracategoria" valueproperty="id" labelproperty="descricao"/>
8 7 Fazer o arquivo PesquisarEntidade.jsp <%@ include file="/web-inf/common/header.jsp" %> <br/> <html:form action="/geladeira.do?metodo=pesquisar"> <table border="0"> <td> <fieldset> <legend><font color='red'>filtros de Pesquisa</font></legend> <table> <td>codigo:<br/> <html:text property="id" size="15"/> <td colspan="2" align="left"><html:submit value="buscar"/> </fieldset> </html:form> <form method="post" id="mainform"> <input type="hidden" name="id"> <table border="0" cellpadding="0" cellspacing="0"> <th width="1"><hwp:pagedtitle label="#" property="id"/></th> <th width="200"><hwp:pagedtitle label="marca" property="marca"/></th> <th width="200"><hwp:pagedtitle label="modelo" property="modelo"/></th> <th width="1">acao</th> <c:foreach var="entity" items="${resultadopesquisageladeira" varstatus="status"> <tr bgcolor="#ffffff" onmouseover="this.style.backgroundcolor='#ffff99'" onmouseout="this.style.backgroundcolor='#ffffff'"> <td align="left" nowrap="nowrap">${entity.id <td align="left" nowrap="nowrap">${entity.modelo <td align="left" nowrap="nowrap">${entity.marca <td> <c:if test="${param.popup!= '1'"> <input type="image" src="img/visualizar.png" onclick="visualizar(this,'geladeira','${entity.id');"> <input type="image" src="img/editar.png" onclick="editar(this,'geladeira','${entity.id');"> <input type="image" src="img/remover.png" onclick="remover(this,'geladeira','${entity.id');"> </c:if> </c:foreach> <th colspan="3" nowrap="nowrap"><hwp:pagedlink name="resultadopesquisageladeira" label="ant" number="-10"/> <hwp:pagedlink name="resultadopesquisageladeira" label="anterior" number="-1"/> <hwp:spn name="resultadopesquisageladeira"/> Itens <b>${resultadopesquisageladeira_total</b> <hwp:pagedlink name="resultadopesquisageladeira" label="proximo" number="1"/> <hwp:pagedlink name="resultadopesquisageladeira" label="prox" number="10"/></th>
9 <table border="0" cellpadding="5" cellspacing="5"> <td> <c:if test="${param.popup!= '1'"> <input class="btn2" type="button" value="adicionar" onclick="adicionar(this,'geladeira');" /> </c:if> <c:if test="${param.popup == '1'"> <input class="btn2" type="button" value="seleciona" onclick="selecionar(this);" /> </c:if> </form> file="/web-inf/common/footer.jsp" %> Observaçoes : 1 Para percorrer as pesquisas é so utilizar o nome resultadopesquisaentidade. Isso acontece pois quando foi feito a pesquisa é colocado na sessao uma colecao com este nome. 2 A parte do codigo que aparece <c:if test="${param.popup!= '1'"> serve para quando esta tela for utilizada por um componente de associacao AJAX em que a mesma tela é apresentada em um popup. 8 Incluir suas telas no menu Para que seja possivel acessar as telas que foram desenvolvidas é preciso adicinar algumas linhas de programação Javascript no arquivo /WebContent/js/menu/menu_data.jsp. with(milonic=new menuname("exemplo")){ style=windows98style; ai("showmenu=cargo;text=cargo;"); ai("showmenu=tipocontato;text=tipo de Contato;"); ai("showmenu=tipocontatocategoria;text=tipo de Contato Categoria;"); ai("showmenu=nomedaentidade;text=nomedaentidade;"); with(milonic=new menuname("nomedaentidade")){ style=windows98style; ai("text=adicionar NOMEDAENTIDADE;url=NOMEDAENTIDADE.do?metodo=adicionar;");
10 ai("text=pesquisar NOMEDAENTIDADEs;url=NOMEDAENTIDADE.do?metodo=pesquisar;"); Observaçoes : Na fase de laboratorio suas entidades ficam descritas no menu Exemplo.
Evento.java. package dominio;
Evento.java package dominio; import java.util.date; import java.util.set; import javax.persistence.entity; import javax.persistence.fetchtype; import javax.persistence.generatedvalue; import javax.persistence.generationtype;
Leia maisJava na WEB Componentes Bean
1 Java na WEB Componentes Bean Objetivo: Ao final da aula o aluno será capaz de: Criar site dinâmico utilizando componentes Bean Utilizar Tags de ação Empregar Coleções de Bean. Sumário 5. Definição de
Leia maisArquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC
Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada
Leia maisMinicurso de MVC web com Struts. EclipseDay@Serpro Felipe F Nascimento felipenasc@inf.puc-rio.br
Minicurso de MVC web com Struts EclipseDay@Serpro Felipe F Nascimento felipenasc@inf.puc-rio.br Agenda MVC Web e Command Visão Geral, Conceitos e terminologia Exemplo Conceitos Avançados Referências Laboratório
Leia maisPersistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com
Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco
Leia mais!" # # # $ %!" " & ' ( 2
!"# # #$ %!" "& ' ( 2 ) *+, - 3 . / 4 !" 0( # "!#. %! $""! # " #.- $ 111.&( ( 5 # # 0. " % * $(, 2 % $.& " 6 # #$ %% Modelo (Encapsula o estado da aplicação) Implementado como JavaBeans Responde a consulta
Leia maisDesvendando o Hibernate
Passos Iniciais Desvendando o Hibernate 1. Repetir os passos do tutorial "CRUD com Hibernate" 2. Adicionar o driver JDBC do banco Esquematizando Fontes dos Arquivos WEB-INF\classes\hibernate.cfg.xml
Leia maisJ550. Apache Struts. Helder da Rocha (helder@acm.org) www.argonavis.com.br
J550 Apache Struts Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Sobre este módulo Este é um módulo opcional. Apresenta uma visão geral do framework Struts, usado para desenvolver aplicações
Leia maisJPA: Persistência padronizada em Java
JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes
Leia maisMANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2014
MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP Curso Superior de Tecnologia em Sistemas para Internet 2/2014 1. Nomes e localização dos arquivos do projeto: O template
Leia maisMódulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC
Módulo 5 No módulo anterior adaptamos nosso projeto para persistir as informações no banco de dados utilizando as facilidades da extensão demoiselle-jpa. Experimentamos o controle transacional do Framework
Leia maisWebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br
WebWork 2 João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)
Leia maisStruts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600
Objetivo Com enfoque totalmente prático permite que programadores Java possam ampliar seus conhecimentos no mundo Web na criação de sistemas profissionais. Utilizar os modelos de programação com Servlets,
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 9 Mapeamento em JPA Introdução O mapeamento objeto-relacional
Leia maisruirossi@ruirossi.pro.br
Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos
Leia maisComo já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser
A1Criando um módulo de negócio Capítulo 27 Aplicação dividida em módulos - Introdução Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser compreendido como uma solução de
Leia maisARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado
ARQUITETURA SISGRAD Manual de Utilização Versão: 2.0 Criação: 05 de julho de 2007 Autor: André Penteado Última Revisão: 09 de outubro de 2009 Autor: Alessandro Moraes Controle Acadêmico - Arquitetura SISGRAD
Leia maisBasicamente iremos precisar de uma base de dados na qual iremos armazenar os registros feitos pelos vistantes: Vamos armazenar os seguintes dados:
Livro de Visitas Basicamente iremos precisar de uma base de dados na qual iremos armazenar os registros feitos pelos vistantes: Vamos armazenar os seguintes dados: ID nome email mensagem data O código
Leia maisPROJETO FRAMEWORK - CELEPAR PAGINAÇÃO DE DADOS EM APLICAÇÕES JAVA PARA INTERNET
PROJETO FRAMEWORK - CELEPAR PAGINAÇÃO DE DADOS EM APLICAÇÕES JAVA PARA INTERNET Janeiro 2005 Sumário de Informações do Documento Tipo do Documento: Definição Título do Documento: Controle de Exceções em
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
Leia maisProf. Jhonatan Fernando
Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis
Leia maisPadrão J2EE Data Access Object (DAO)
Introdução CRUD DAO Exemplo Padrão J2EE Data Access Object (DAO) Prof. Enzo Seraphim Motivação para usar Componentes precisam acessar e armazenar informações em armazenamento persistente As APIs de armazenamento
Leia maisJava II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com
Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Por quê JSP? Com Servlets é fácil Ler dados de um formulário Recuperar dados de uma requisição Gerar informação de resposta Fazer gerenciamento
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia maisGuia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
Leia maisANDROID APPLICATION PROJECT
Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois
Leia maisRELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO
Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 10, JAN/JUN 2011 RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
Leia maisCurso de Java. Geração de Páginas WEB através de JSP. Todos os direitos reservados Klais
Curso de Java Geração de Páginas WEB através de JSP Todos os direitos reservados Klais JSP e Servlets Servletsconstituem um mecanismo conveniente para a geração de páginas HTML dinâmicas e seu tratamento
Leia maisMaterial de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS - www.aas.pro.
Material de apoio a aulas de Desenvolvimento Web Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS AAS - www.aas.pro.net Março-2012 Este pequeno tutorial tem como objetivo conduzir o programador passo-a-passo
Leia maisPersistência de Dados em Java com JPA e Toplink
Persistência de Dados em Java com JPA e Toplink Vinicius Teixeira Dallacqua Curso de Tecnologia em Sistemas para Internet Instituto Federal de Educação, Ciência e Tecnologia - IFTO AE 310 Sul, Avenida
Leia maisO programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo.
7. Carregando e mostrando imagens locais Esta aula complementa os estudos de programação de interfaces gráficas em Java mostrando como podemos carregar imagens de arquivos locais ou da Internet para uso
Leia maisAULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS
AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS Na grande maioria dos sistemas, faz-se necessário utilizar informações que estão armazenadas em uma determinada
Leia maisColeções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS
Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado
Leia maisManipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015
Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações
Leia maisSintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Leia maisMÓDULO Programação para Web 2
MÓDULO Programação para Web 2 USANDO O JSF Continuação Interdependência e Injeção Instâncias de Managed Beans podem conversar entre si para dividir o processamento das requisições dos usuários de acordo
Leia maisAutenticação e Autorização
Autenticação e Autorização Introdução A segurança em aplicações corporativas está relacionada a diversos aspectos, tais como: autenticação, autorização e auditoria. A autenticação identifica quem acessa
Leia maisDesenvolvimento de aplicações Web. Java Server Pages
Desenvolvimento de aplicações Web Java Server Pages Hamilton Lima - athanazio@pobox.com 2003 Como funciona? Servidor web 2 Internet 1 Browser 3 Arquivo jsp 4 JSP Compilado 2 Passo a passo 1 browser envia
Leia maisUse a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP
Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Software cliente: browser e outros Protocolo HTTP Infraestrutura de transporte
Leia maisHibernate Envers Easy Entity Auditing
Hibernate Envers Easy Entity Auditing Auditando suas classes de persistência com Hibernate Envers Castro (@CastroAlexandre) Consultor (Summa) e Instrutor (Globalcode) SCJP, SCWCD, SCBCD, SCEA-I, SCSNI
Leia maisTutorial Jogo da Velha WEB
Tutorial Jogo da Velha WEB Criação do Projeto 1- Inicie o Eclipse 2- Crie um novo projeto Web dinâmico. 3- Na tela seguinte, digite o nome do projeto e caso no campo Target Runtime não estiver aparecendo
Leia maisPersistência de Classes em Tabelas de Banco de Dados
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos
Leia maisLinguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Leia maisScriptlets e Formulários
2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,
Leia maisCurso de Introdução ao
Curso de Introdução ao Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br O que é? Struts Struts é um framework gratuito para construção de aplicações web implementadas em Java.
Leia maisJ550. Model View Controller
J550 Model View Controller 1 Design de aplicações JSP Design centrado em páginas Aplicação JSP consiste de seqüência de páginas (com ou sem beans de dados) que contém código ou links para chamar outras
Leia maisTUTORIAL JSP & SERVLET
TUTORIAL JSP & SERVLET A.A.S. UNINOVE WWW.AAS.PRO.BR Exemplo simples de JSP com Servlet (para envio e recebimento de dados) Sumário JSP & SERVLET... 2 1. Criando Projeto... 2 2. O primeiro JSP... 3 3.
Leia maisIntrodução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim
Introdução Servlet Ciclo Vida Exemplos Servlet Prof. Enzo Seraphim Visão Geral São objetos de uma subclasse de javax.servlet (javax.servlet.httpservlet). Possuem um ciclo de vida. Incluem em seu código,
Leia maisCapítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 14 Herança a e Polimorfismo Objetivos do Capítulo Apresentar os conceitos de herança e de polimorfismo. Explorar os diversos recursos disponíveis no Java para a aplicação da herança e do polimorfismo
Leia maisUML Diagramas Estruturais Classes
Classes Mostra um conjunto de classes, interfaces e colaborações bem como seus relacionamentos O diagrama de classes representa aspectos estruturais de um software No uso da Orientação a Objetos em última
Leia maisHTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).
HTML / JAVASCRIPT Estamos iniciando o estudo do HTML através das TAGS (comandos) para construir formulários. Isso facilitará a continuidade dos nossos estudos da linguagem de programação JavaScript, a
Leia maisAcessando um Banco de Dados
Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para
Leia maisParte I. Demoiselle Vaadin
Parte I. Demoiselle Vaadin O Vaadin é um framework para construção de interfaces web que aplica ideias inovadoras. Apesar de usar o GWT como mecanismo para a exibição de seus componentes, eles tem características
Leia maisAula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Leia maisMapeando Entidades. Abaixo iremos mapear nossas classes. Fornecedor.java package entidades;
Mapeando Entidades Uma entidade nada mais é do que uma classe pertencente ao domínio de nossa aplicação, como vimos no nosso diagrama de classes; nossas classes: Produto, Fornecedor e Fabricante, serão
Leia maisPadrão Arquitetura em Camadas
Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Definição Estimula a organização
Leia maisJSP e Servlet Princípio de MVC
UNIPÊ Centro Universitário de João Pessoa Desenvolvimento para Web HTTP e Servlets JSP e Servlet Princípio de MVC ducaribas@gmail.com 1 12 JSP e Servlets Desvantagens de JSP e Servlets Servlets Escrever
Leia maisJAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES
Conteúdo O Projeto... 2 Criação de Pacotes... 4 Factory:... 6 DAO:... 15 GUI (Graphical User Interface ou Interface Gráfica de Cadastro)... 18 Evento SAIR... 23 Evento CADASTRAR... 24 1 O Projeto Arquivo
Leia maisINF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena
INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena Trabalho Experimental Sistema de Gestão Hoteleira 1. Objetivo Este trabalho tem o objetivo de consolidar o conhecimento sobre UML e
Leia maisIntrodução à Programação. Interface, Polimorfismo e Dynamic Binding
Introdução à Programação Interface, Polimorfismo e Dynamic Binding Interface Programador Java PLENO Possuir sólida experiência em programação Desenvolvimento na linguagem JAVA Webservice, Struts ou JSF(desejável)
Leia maismkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos
Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Criando uma Calculadora Primeiramente deve se criar uma estrutura para armazenar os arquivos necessários para o funcionamento da calculadora.
Leia maisAuditoria Avançada de Persistência com Hibernate, JPA e Envers
a r t i g o José Yoshiriro Ajisaka Ramos (jyoshiriro@gmail.com): bacharel em Sistema de Informação (IESAM). Mestrando em Ciência da Computação (UFPA). Instrutor na Equilibrium Web e na UAB. Engenheiro
Leia maisCapítulo 4. Programação em ASP
Índice: CAPÍTULO 4. PROGRAMAÇÃO EM ASP...2 4.1 REGISTRAR...2 4.1.1 Códigos para configuração do objeto...2 4.1.2 Formulário para transferir dados da impressão digital...3 4.1.3 Código Javascript para registro
Leia maisComo criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse
Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web
Leia maisEXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS
Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor
Leia maisProgramação para Internet I
Programação para Internet I Aulas 09 e 10 Fernando F. Costa nando@fimes.edu.br Formulários O formulário representa o modo mais importante de interatividade que a linguagem HTML oferece. Um formulário pode
Leia maisValidando dados de páginas WEB
Validando dados de páginas WEB Para que validar os dados? Validar os dados informados pelo usuário garante que sua aplicação funcione corretamente e as informações contidas nela tenha algum sentido. Outro
Leia maisUML Aspectos de projetos em Diagramas de classes
UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada
Leia maisPersistindo dados com TopLink no NetBeans
Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos
Leia maisCONVENÇÃO DE CÓDIGO JAVA
CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2
Leia maisProgramação Orientada a Objetos em Java
Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a
Leia maisCurso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Servidor de Aplicações WEB Tomcat Servidor Tomcat Foi desenvolvido
Leia maisCriando uma agenda simples com NetBeans 6.5
Criando uma agenda simples com NetBeans 6.5 (Swing application framework e Beansbinding) Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor. Demorei em torno de
Leia maisEspecificação Técnica. Sistema: Automação Bancária Caso de Uso: Simular Empréstimo Bancário
Especificação Técnica Sistema: Automação Bancária Caso de Uso: Simular Empréstimo Bancário 1 Histórico de Revisões Data Versão Descrição Autor 10/01/2008 1.0 Criação da primeira versão da especificação
Leia mais2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}
2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II Exercício : Construtores são métodos especiais sem tipo de retorno (nem mesmo void) e de mesmo nome que a classe que são invocados quando da criação
Leia maisPratica JFlex. Prática criando o primeiro analisador léxico
UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE CURSO: CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMPILADORES PROFESSOR: JOHNI DOUGLAS MARANGON Pratica JFlex JFlex é uma ferramenta que permite
Leia maisRoteiro do Programa e Entrada/Saída
Roteiro do Programa e Entrada/Saída c Professores de ALPRO I Faculdade de Informática PUCRS 03/2012 ALPRO I (FACIN) Roteiro do Programa e E/S 03/2012 1 / 32 Sumário 1 Relembrando 2 Programa Definição de
Leia maisFaculdades Network Bacharelado em Sistemas de Informação Tópicos Avançados. Aulas 25 e 26 Exemplo de Aplicação usando JSP e MySQL
Aulas 25 e 26 Exemplo de Aplicação usando JSP e MySQL Nova Odessa, 18 de abril de 2012. 1. Introdução O presente documento descreve a aplicação de acesso a Banco de Dados usando JSP, desenvolvida para
Leia maisExercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +
Leia maisJava na WEB Banco de Dados
1 Java na WEB Banco de Dados Objetivo: Ao final da aula o aluno será capaz de: Criar aplicações JSP com acesso ao Banco de Dados MySql Configurar o TomCat para acessar o MySql. Não é Objetivo: Ao final
Leia maiscrudgenerator Passos slimphp/extra/crudgenerator/view/index_view.php A tela abaixo m ostra o p rimeiro passo
crudgenerator O crudgenerator é u m gerador de aplicações baseadas no slimphp. Com po ucos passos é possível criar u m a nova aplicação funcional, baseada e m u ma tabela de banco de da dos. Passos 1.
Leia maisGuia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior
Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior Demoiselle Audit... v 1. Auditor... 1 1.1. Auditor de Persistência... 1 1.2. Auditor de Visão... 1
Leia maisDescrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos
Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads
Leia maisINTRODUÇÃO À TECNOLOGIA SERVLETS
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores
Leia maisRelatório do GPES. Conhecendo o Framework Struts
Relatório do GPES Relatório referente à criação da camada de regra de negócio com a utilização do Framework Struts para o desenvolvimento de um exemplo de Cadastro de Clientes. Conhecendo o Framework Struts
Leia maisMANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2012
MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP Curso Superior de Tecnologia em Sistemas para Internet 2/2012 1. Nomes e localização dos arquivos do projeto: O template
Leia maisProgramação Na Web. Sessão II. Índice. Visão geral da API Sessão. Obter dados sobre uma sessão. Extrair informação sobre uma Sessão
Programação Na Web Sessão II António Gonçalves Índice Visão geral da API Sessão Obter dados sobre uma sessão Extrair informação sobre uma Sessão Adicionar Dados a uma sessão 1 Programação Na Web Motivação
Leia maisJava para WEB com Hibernate e Struts 2. Duração 52 horas/aula. Objetvo
Objetvo O curso visa explorar a geração de conteúdo dinâmico para páginas WEB através de recursos da linguagem Java que são a base da plataforma Java Entreprise Editon (Java EE), e mostrar os frameworks
Leia maisEstudo Dirigido - Parte 1
Linguagem Java para Web - JSP Professora Lucélia Estudo Dirigido - Parte 1 Na primeira parte deste tutorial, vamos receber os dados de um formulário e verificar se os dados foram ou não preenchidos. Se
Leia maisTutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v2010.10
Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina
Leia maisINTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO
INTRODUÇÃO 12. DOCUMENTAÇÃO Na plataforma Java SE 7, há cerca de 4000 classes e interfaces disponíveis para utilizarmos em nossas aplicações Podemos visualizar a documentação dessas classes e interfaces
Leia maisAula 03 - Projeto Java Web
Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação
Leia maisProgramação Orientada a Objetos II
Programação Orientada a Objetos II AULA Banco de Dados (Exemplo) Prof. Rodrigo Rocha Prof.rodrigorocha@yahoo.com (Modo Texto) Conectando ao Banco de Dados Entre no Diretório do Mysql mysql u root p criando
Leia maisMapeamento Lógico/Relacional com JPA
Mapeamento Lógico/Relacional com JPA Elaine Quintino da Silva Doutora em Ciência da Computação pelo ICMC-USP/São Carlos Analista de Sistemas UOL PagSeguro Instrutora Globalcode Agenda! Persistência de
Leia maisExercícios 07 Introdução à POO (Interface Gráfica)
Exercícios 07 Introdução à POO (Interface Gráfica) Importante: Desenvolva cada questão em um mesmo projeto, porém em diferentes pacotes. ex. Questão 1: lab03.aula11_out.questao01, Questão 2: lab03.aula11_out.questao02.
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia mais22/05/2012 CRIANDO UM PROJETO COM TELAS ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS TAREFAS PHP MYSQL PARTE 2
CRIANDO UM PROJETO COM TELAS Páginas com formulário Acesso ao banco de dados PHP MYSQL PARTE 2 Luciana Balieiro Cosme ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS # Coluna Nome e Tipo 1 codigo int(11) AUTO_INCREMENT
Leia mais