2. Sobre a apresentacao
• Esta apresentacao teve como base a apostila da
caelum, a minha experiencia profissional e as
dicas dadas por profissionais mais experientes.
Onde o objetivo da mesma nao e ensinar servlet
e jsp, mas sim, mostrar o que e web,e mostrar
que para voce que ja utiliza as facilidades de um
framework(abstracao de alto nivel) que isto nao
lhe faz um programador de fato, e isso faz toda a
diferenca.
3. 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
4. 1-Introducao
• O grande mercado de Java para web
• Desenvolvimento nao e trivial
▫ Servlet
▫ JSP
▫ HTTP
▫ Session
▫ Cookie
6. 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.
7. 2-Banco de dados - JDBC
• Design Patterns – Singleton e Factory
• DAO – Data Access Object
• Statement vs. Prepared Statement
• Connection pool
• Cursor - procedure
8. 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
9. 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
10. 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
11. 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
12. 7-Filtros
• Reduzindo o acoplamento
▫ Auditoria(Logging)
▫ Autorizacao
▫ Tratamento de erros
▫ Serguranca(Criptografia)
• Inversao de controle e injecao de dependencias
13. 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
14. 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
15. 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