Java Web Francisco Clauvane
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.
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
1-Introducao • O grande mercado de Java para web • Desenvolvimento nao e trivial ▫ Servlet ▫ JSP ▫ HTTP ▫ Session ▫ Cookie
2-Banco de dados - JDBC
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.
2-Banco de dados - JDBC • Design Patterns – Singleton e Factory • DAO – Data Access Object • Statement vs. Prepared Statement • Connection pool • Cursor - procedure
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
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
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
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
7-Filtros • Reduzindo o acoplamento ▫ Auditoria(Logging) ▫ Autorizacao ▫ Tratamento de erros ▫ Serguranca(Criptografia) • Inversao de controle e injecao de dependencias
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
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
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

Java web

  • 1.
  • 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 grandemercado de Java para web • Desenvolvimento nao e trivial ▫ Servlet ▫ JSP ▫ HTTP ▫ Session ▫ Cookie
  • 5.
  • 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 eJava 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 HTMLno 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 oacoplamento ▫ Auditoria(Logging) ▫ Autorizacao ▫ Tratamento de erros ▫ Serguranca(Criptografia) • Inversao de controle e injecao de dependencias
  • 13.
    8-Frameworks MVC • Servletse 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 • Conflitoentre 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 elivros 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