Java web

15
Java Web Francisco Clauvane

Transcript of Java web

Page 1: Java web

Java WebFrancisco Clauvane

Page 2: Java web

Sobre a apresentacao

• Esta apresentacao teve como base a apostila dacaelum, a minha experiencia profissional e as dicas dadas por profissionais mais experientes. Onde o objetivo da mesma nao e ensinar servlete jsp, mas sim, mostrar o que e web,e mostrarque para voce que ja utiliza as facilidades de um framework(abstracao de alto nivel) que isto naolhe faz um programador de fato, e isso faz toda a diferenca.

Page 3: Java web

Sumario

1. Introducao

2. Banco de dados – JDBC

3. O que Java EE

4. Servlet

5. JSP

6. MVC

7. Filtros

8. Frameworks MVC

9. ORM

Page 4: Java web

1-Introducao

• O grande mercado de Java para web

• Desenvolvimento nao e trivial

▫ Servlet

▫ JSP

▫ HTTP

▫ Session

▫ Cookie

Page 5: Java web

2-Banco de dados - JDBC

Page 6: Java web

2-Banco de dados - JDBC

• DriverManager - gerencia o driver e cria uma conexão com o banco.

• Connection - é a classe que representa a conexão com o bando de dados.

• Statement - controla e executa uma instrução SQL .• PreparedStatement - controla e executa uma

instrução SQL. É melhor que Statement.• ResultSet - contém o conjunto de dados retornado

por uma consulta SQL.• ResultsetMetaData - é a classe que trata dos

metadados do banco.

Page 7: Java web

2-Banco de dados - JDBC

• Design Patterns – Singleton e Factory

• DAO – Data Access Object

• Statement vs. Prepared Statement

• Connection pool

• Cursor - procedure

Page 8: Java web

3-O que e Java EE

• Requisitos funcionais – regra de negocio

• Requisitos nao-funcionais

▫ Persistencia

▫ Gerenciamento de conexoes

▫ Transacao

▫ Acesso remoto

• Servidor de aplicacao vs. Servlet Container

Page 9: Java web

4-Servlet

• Paginas dinamicas• HttpServlet• Servlet vs. CGI

▫ Diversas requisições podem ser feitas à mesma servlet ao mesmo tempo em um único servidor

▫ Fica na memória entre requisições, não precisa ser reinstanciada;

▫ O nível de segurança e permissão de acesso pode ser controlado em Java;

▫ Em CGI, cada cliente é representado por um processo, enquanto que com Servlets, cada cliente é representado por uma linha de execução.

• Criacao de paginas HTML dentro do codigo java

Page 10: Java web

5-JSP

• Colocando HTML no seu devido lugar

• Scriplet – Codigo java em paginas HTML

▫ EL – Expression Language

▫ JSTL – TagLibs

Core Tags - c

Formatting tags - fmt

SQL tags - sql

XML tags - x

JSTL Functions - fn

Page 11: Java web

6-MVC

• Design Pattern

• Servlet ou JSP ?

▫ Logica de negocio

▫ Logica de apresentacao

• Separando responsabilidades

▫ Model – Classes que represntam as entidades

▫ View – Apresentacao( pagina web)

▫ Controller – Servlet(e auxiliares)

Front Controller e Command

Page 12: Java web

7-Filtros

• Reduzindo o acoplamento

▫ Auditoria(Logging)

▫ Autorizacao

▫ Tratamento de erros

▫ Serguranca(Criptografia)

• Inversao de controle e injecao de dependencias

Page 13: Java web

8-Frameworks MVC

• Servlets e JSPs puros não era tão produtivo e organizado

• Frameworks MVC com um controlador reutilizável entre projetos

▫ Struts 1 – pioneiro

Page 14: Java web

9-ORM

• Produtividade

• Conflito entre paradigmas

▫ A todo momento devemos “transformar” objetos em linhas e linhas em objetos, sendo que essa relação não é um-para-um.

• Ferramentas de mapeamento objeto-relacional (ORM)

▫ Hibernate – Lider de mercado

Inspiracao para a especificao JPA

Page 15: Java web

Fim

• Sites e livros recomendados

▫ http://www.guj.com.br

▫ http://www.CasaDoCodigo.com.br

▫ http://www.caelum.com.br/online

▫ https://github.com/clauvane

▫ https://github.com/rponte