Java
Java
Londrina
Editora e Distribuidora Educacional S.A.
2021
3
Presidente
Rodrigo Galindo
Conselho Acadêmico
Carlos Roberto Pagani Junior
Camila Braga de Oliveira Higa
Carolina Yaly
Giani Vendramel de Oliveira
Gislaine Denisale Ferreira
Henrique Salustiano Silva
Mariana Gerardi Mello
Nirse Ruscheinsky Breternitz
Priscila Pereira Silva
Tayra Carolina Nascimento Aleixo
Coordenador
Henrique Salustiano Silva
Revisor
Rogério Colpani
Editorial
Alessandra Cristina Fahl
Beatriz Meloni Montefusco
Gilvânia Honório dos Santos
Mariana de Campos Barroso
Paola Andressa Machado Leal
ISBN 978-65-5903-106-1
CDD 005
____________________________________________________________________________________________
Evelyn Moraes – CRB 010289/O
2021
Editora e Distribuidora Educacional S.A.
Avenida Paris, 675 – Parque Residencial João Piza
CEP: 86041-100 — Londrina — PR
e-mail: [email protected]
Homepage: http://www.kroton.com.br/
4
SUMÁRIO
Objetivos
• Compreender os conceitos de back-end e front-end
e a relação com à linguagem Java.
1. Programação web
1.1 Front-end
O front-end de um site é o que pode-se ver e interagir em um
navegador. Também chamado de client-side (lado do cliente), inclui tudo
aquilo que o usuário experimenta diretamente como textos e cores,
botões, imagens e menus de navegação.
Digamos que você decida iniciar um negócio. Uma padaria gourmet, por
exemplo, e precisa de um site profissional para apresentar sua empresa
aos clientes e informar sua localização. Talvez, você inclua algumas
fotos e informações sobre seus produtos. Tudo que você precisa são
tecnologias de front-end para criar seu site.
1.2 Back-end
Apesar de a linguagem Java ser o foco dos estudos, cabe aqui uma
pequena definição de duas outras linguagens muito populares no
desenvolvimento back-end: PHP e NodeJS.
PHP
Node.JS
Referências
DEITEL, Paul J; DEITEL, Harvey M. Java: Como Programar. 10. ed. São Paulo: Pearson,
2016.
DEITEL, Paul J; DEITEL, Harvey M. A. Rich Internet Applications e
Desenvolvimento Web para Programadores. São Paulo: Pearson Prentice Hall,
2009.
PHP. O que é o PHP?. Disponível em: https://www.php.net/manual/pt_BR/intro-
whatis.php. Acesso em: 5 jan. 2020.
SIERRA, Kathy; BATES, Bert. Use a cabeça!: Java. Rio de Janeiro: Alta Books, 2009.
21
Objetivos
• Compreender o desenvolvimento de aplicações web
utilizando a linguagem de programação Java.
Uma aplicação Java Web é usada para criar sites dinâmicos, tendo em
vista que o Java fornece suporte para aplicativos da web por meio de
Servlets e JavaServer Pages (JSP). Podemos criar um site com páginas
HTML estáticas, mas para informações dinâmicas, precisamos de uma
aplicação web.
1.1 Servlets
Deste modo, podemos definir um Servlet como uma classe que lida
com solicitações, as processa e responde com uma resposta ao cliente.
Por exemplo, podemos usar um Servlet para coletar a entrada de um
usuário por meio de um formulário HTML, consultar registros em um
banco de dados e criar páginas da web dinamicamente.
Para testarmos nosso primeiro servlet, vá em Run >> Run As >> Run on
Server. Na janela que abrirá, selecione o servidor Tomcat instalado. Após
isso, será aberto um navegador no Eclipse e obteremos uma página
web que irá mostrar o número de milissegundos desde 1 de janeiro de
1970. Para testar o dinamismo da página, pressione F5 no teclado para
atualizar o navegador do Eclipse.
Referências
DEITEL, Paul J; DEITEL, Harvey M. Java: Como Programar. 10; ed. São Paulo: Pearson,
2016.
DEITEL, Paul J; DEITEL, Harvey M. A. Rich Internet Applications e
Desenvolvimento Web para Programadores. São Paulo: Pearson Prentice Hall,
2009.
SIERRA, Kathy; BATES, Bert. Use a cabeça!: Java. Rio de Janeiro: Alta Books, 2009.
34
Objetivos
• Apresentar o modelo arquitetural de
desenvolvimento MVC.
São necessários pelo menos dois servidores da web para este modelo, e
isso é tudo para evitar falhas. Mesmo quando um dos servidores da web
fica inoperante, o outro assume o controle.
Até aqui, vimos a estrutura inicial e como podemos trabalhar com alguns
elementos do JSF. Agora vamos aprimorar o nosso formulário. Neste
exemplo, vamos utilizar o conceito de Managed Beans.
Os Managed Beans nada mais são do que uma classe Java regular a
qual é usada para conter os dados de um formulário. Deste modo,
você enviará um formulário e essa classe vai conter os dados dele. Os
Managed Beans são utilizados para manter sua lógica de negócios.
Referências
DEITEL, Paul J; DEITEL, Harvey M. A. Rich Internet Applications e
Desenvolvimento Web para Programadores. São Paulo: Pearson Prentice Hall,
2009.
KURNIAWAN, Budi; DECK, Paul. Servlet, JSP and Spring MVC. Quebec: Brainy
Software Inc, 2015.
PRESSMAN, R. Engenharia de software: uma abordagem profissional. São Paulo:
Bookman. 2016.
SIERRA, Kathy; BATES, Bert. Use a cabeça!: Java. Rio de Janeiro: Alta Books, 2009.
VOHRA, Deepak. JavaServer Faces 2.0: Essential Guide for Developers. Toronto:
Nelson Education, 2014.
49
Objetivos
• Compreender o conceito de persistência de dados.
1.1 JDBC
O JDBC é uma das APIs mais antigas do Java, a qual nos fornece uma
maneira fácil de implementar a manipulação de dados. Entretanto,
embora seja uma API simples, os desenvolvedores têm apresentado
muito interesse por JPA para desenvolver a camada e persistência de
dados para seus aplicativos Java, vejamos o motivo a seguir.
Vejamos a seguir o que são cada das classes da Figura 4 e como elas se
relacionam:
1.2.1 Entity
Observe que uma entity é uma classe Java como outra qualquer. A
diferença são as marcações: na linha 9, estamos informando que se trata
de uma entity; na linha 10, estamos informando o nome da tabela; e nas
linhas 13 e 14, estamos indicando que a variável privada id é um índice
no banco de dados.
Podemos utilizar anotações JPA para mapear uma classe Java para a
tabela correspondente. Algumas anotações JPA estão abaixo:
Este não é uma classe Java, mas sim, um arquivo XML com configuração,
o qual define um conjunto de todas as classes de entity que serão
gerenciadas por instâncias da EntityManager em um aplicativo.
1.2.5 Query
List<Produto> s = query.getResultList();
1.2.6 Hibernate
Você deve ter notado que JPA e Hibernate são muito parecidos. E
é exatamente aqui que surge uma pergunta muito comum: “Qual
a diferença entre JPA e Hibernate?”. Entretanto, aqui cabe uma
ponderação, afinal, não existe uma relação ou uma proximidade entre
os dois conceitos.
Importante que você saiba que existe apenas uma especificação JPA,
porém, existem diferentes implementações como TopLink, OpenJPA e o
Hibernate. Estes e outros projetos competem com o objetivo de fornecer
implementações que sejam mais eficientes, mais rápidas, entre outros
critérios. Deste modo, o Hibernate é uma das muitas implementações,
por isso, não é possível comparar uma e a outra.
Neste tema, estudamos o JDBC, uma das APIs mais antigas do Java a
qual fornece uma solução fácil para desenvolvimento de aplicativos
web. Apesar de sua simplicidade, a especificação JPA é a mais utilizada
e, dentre as implementações. Há um destaque, vale ressaltar, para o
Hibernate para o desenvolvimento da camada de persistência de dados.
63
Referências
COELHO, Hébert. JPA Eficaz: As melhores práticas de persistência de dados em
Java. São Paulo: Casa do Código, 2014.
DEITEL, Paul J; DEITEL, Harvey M. A. Rich Internet Applications e
Desenvolvimento Web para Programadores. São Paulo: Pearson Prentice Hall,
2009.
VOHRA, Deepak. JavaServer Faces 2.0: Essential Guide for Developers. Toronto:
Nelson Education, 2014.
64
BONS ESTUDOS!